# Adapter: nuwa-skill → claw-boss-distiller We vendor `upstream/` (= [`alchaincyf/nuwa-skill`](https://github.com/alchaincyf/nuwa-skill), MIT) and adapt it for our specific job: distill a private boss from their own private email corpus. ## What we keep from nuwa - **5-layer output structure** (Expression DNA / Mental Models / Decision Heuristics / Anti-Patterns / Honest Boundaries) — directly applicable - **Triple verification** (cross-domain / generative / exclusive) — same logic, prevents random one-off comments from being elevated to "the boss's mental model" - **Quality self-check** (`references/extraction-framework.md` § 六) — copy verbatim - **6-bucket collection paradigm** — but rewired (see below) - **Phase 4 validation** (sanity / edge / voice) — keep as-is, just substitute the test set - **Honest Boundaries discipline** — never invent, mark "信息不足" ## What we replace | nuwa default | Atlas adaptation | Why | |---|---|---| | Public figure (Munger, Jobs, etc.) | Private boss at one client | The whole point — we cannot search "what does Boss X think about Y" online; we have only their email corpus | | 6 web-search agents (books / podcasts / Twitter / external views / decisions / timeline) | 6 email-bucket agents (see below) | No public corpus; the email corpus *is* the data | | Output as standalone perspective skill (`xxx-perspective`) | Output as `boss_skill.md` consumed by Atlas's other 5 skills | We don't role-play the boss — we cite their rules | | Role-play activation (`use Munger to analyze...`) | **No role-play**. `boss_skill.md` is a rule library other skills read — never spoken in first person | We are an observer/advisor for the boss, not an impersonator | | Public release | Private to the client deployment | Privacy-critical; never leaves client network | ## What we add | Addition | Reason | |---|---| | **Boss confirmation gate** between draft and live | Boss owns their own model; we propose, boss disposes | | **Status field** on every rule (`draft` / `confirmed` / `retired`) | Audit trail; rule lifecycle is observable | | **Source email IDs** per rule | Boss can drill from rule → "show me the 7 emails this came from" | | **Quarterly diff workflow** | New emails arrive constantly; rules drift; quarterly refresh + diff for boss | | **`boss_skill.history/` archive** | Every confirmed version preserved for compare | ## Six Email Buckets (replaces nuwa's 6 web agents) | Bucket | Scope | What we look for | |---|---|---| | **B1: Outgoing-by-intent** | All boss-sent emails grouped by intent (催办/决策/转交/否决/表扬) | How boss expresses each intent; boundary phrases; tells | | **B2: Mid-thread interventions** | Threads where boss jumped in mid-conversation | High-signal moments — boss only intervenes when something matters | | **B3: Short replies (< 50 words)** | Compressed-mode boss thinking | Reveals what boss treats as obvious; the unstated frame | | **B4: Long replies (> 200 words)** | Reasoning-mode boss thinking | Reveals full chain of thought; the explicit frame | | **B5: Pressure threads** | Threads with customer-side complaints / urgent escalations | How boss responds under stress; non-negotiables surface | | **B6: Closing threads** | Threads boss explicitly closed (verbal verdict, deliverable accepted, project killed) | Decision criteria + closing language | This replaces nuwa's `references/research/01–06.md` collection schema. The aggregate output still lives at `references/research/` but each `0X-xxx.md` is now an email-bucket index, not a web-search dump. ## Output Format Diff nuwa output has `## 角色扮演规则` and `## 身份卡` sections — **we delete both.** Atlas's `boss_skill.md` is a rule library, not an impersonation. We also delete `## 智识谱系` (intellectual lineage) — interesting for public figures, irrelevant for a private boss. We keep, in order: 1. `## L1 — Expression DNA` 2. `## L2 — Mental Models` 3. `## L3 — Decision Heuristics` 4. `## L4 — Anti-Patterns` 5. `## L5 — Honest Boundaries` 6. `## Source Index` (which buckets / how many emails fed this version) 7. `## Audit Log` (status changes, last reviewed, last fired counts) ## Mapping Table for the Implementor | nuwa file | Atlas equivalent | Status | |---|---|---| | `upstream/SKILL.md` | `claw-boss-distiller/SKILL.md` (already written) | Done | | `upstream/references/extraction-framework.md` | Reused as-is via `upstream/` | Linked | | `upstream/references/skill-template.md` | `claw-boss-distiller/boss_skill.template.md` (delete role-play & 智识谱系 sections) | Done — see `boss_skill.seed.md` for filled example | | `upstream/scripts/` | Possibly reused for cleanup utilities; the rest don't apply (we don't download YouTube subtitles) | Skip in V0 | | `upstream/examples/*-perspective/` | Not applicable (no public figures); keep for reference only | Reference only | ## Two-Pass Run Pattern (V0 default) ### Pass 1 — Cold Start (W1 of new deployment) - Input: 6 months of boss outgoing email - 6 buckets populated in parallel - Triple verification yields ~20 candidate rules - Output: `boss_skill.md` v0 with **all rules `status: draft`** - Boss audit session in W2 → bumps confirmed rules to `status: confirmed` ### Pass N — Quarterly Refresh - Input: 90 days of new outgoing email + override log from past 90 days - Same 6-bucket pipeline - Diff vs current `boss_skill.md`: - **Add candidates** — patterns now seen ≥ 3 times that weren't there before - **Revise candidates** — confirmed rules whose evidence has shifted - **Retire candidates** — confirmed rules with 0 fires in 90 days OR overridden ≥ 2 times - Boss reviews diff, applies, archives prior version under `boss_skill.history/YYYY-Q*.md` ## Why we don't simply use nuwa unchanged - nuwa's role-play default would have Atlas speak *as* the boss — wrong product. We surface signals; we don't impersonate. - nuwa's web-search agents would crash here — there's no web corpus for a private boss. - nuwa expects the output to be the deliverable; we expect the output to be a rule library other skills consume. But the **methodology** — how to distinguish a real mental model from random noise — is exactly what nuwa does well. So we vendor + adapt.