This adds the full Atlas (总助 Claw / 老板视角项目执行雷达) scaffolding as a sibling profile to the existing Vega general-purpose assistant. All Atlas content lives under atlas/ to keep the existing top-level skeleton intact. What's included: - atlas/IDENTITY.md, SOUL.md, USER.md, AGENTS.md, MEMORY.md, BOOTSTRAP.md, HEARTBEAT.md, TOOLS.md (+ zh-CN mirrors) — full OpenClaw 8-piece set matching the zero-cca convention - atlas/skills/ — 6 sub-skills with frontmatter: claw-email-parser / claw-project-tracker / claw-people-observer / claw-customer-radar / claw-boss-distiller / claw-report-writer - atlas/skills/claw-boss-distiller/ — adapter notes for nuwa-skill, 5-layer boss_skill seed template (23 rules across Expression DNA / Mental Models / Decision Heuristics / Anti-Patterns / Honest Boundaries), and a complete synthetic distillation demo (10 input emails -> validated 5-layer output) - atlas/mcp-tools/email-extractor/ — Python implementation of stages 1-3 (fetch + decode + dequote), 7 pytest tests passing, CLI: atlas-extract - atlas/state-schemas/ — formal JSON schemas for project / person / customer cards with the no-employee-rating hard constraint baked in - atlas/client-deck/ — 2-page client-facing pitch document - autopilots/atlas-*.yaml — 5 autopilot configs (daily / weekly / monthly / quarterly + andon event-triggered) for a future Multica-side scheduler Notes: - nuwa-skill (MIT, https://github.com/alchaincyf/nuwa-skill) NOT vendored; fetch at deploy time via instructions in atlas/skills/claw-boss-distiller/upstream/README.md - Vega-side prompts/skills/tools/autopilots/docs scaffold left untouched - Top-level README.md updated with a brief Atlas pointer; rest preserved
6.2 KiB
6.2 KiB
Adapter: nuwa-skill → claw-boss-distiller
We vendor upstream/ (= 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:
## L1 — Expression DNA## L2 — Mental Models## L3 — Decision Heuristics## L4 — Anti-Patterns## L5 — Honest Boundaries## Source Index(which buckets / how many emails fed this version)## 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.mdv0 with all rulesstatus: 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.