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
4.0 KiB
4.0 KiB
| name | description |
|---|---|
| claw-customer-radar | Compute Customer Health Score, sentiment trend, RFM, decision-chain map, churn signals. Fire Andon alerts when health crosses thresholds. |
claw-customer-radar
Purpose
Atlas's third lens (after project and people). Tracks each external customer as an entity with health, sentiment trajectory, and early-warning signals.
Inputs
- Email JSON (focus on external sender domains)
state/projects/*.json(for project-health input to CHS)state/customers/*.json(existing customer cards)
Outputs
state/customers/CUST-*.json- Andon alert JSON to
state/runs/alerts.jsonwhen health crosses thresholds - New
state/customers/UNCLASSIFIED-<domain>.jsonfor unknown customer domains
Customer Health Score (CHS)
CHS = 0.4 × project_health
+ 0.3 × sentiment_trend_30d
+ 0.2 × email_frequency_normalcy
+ 0.1 × monetary_scale
Tier:
≥ 80 → 🟢 Green
60 – 79 → 🟡 Yellow
< 60 → 🔴 Red
project_health
- Per associated project: Active=1.0, Stalled=0.3, Completed (recent)=1.0, Dropped=0
- Weighted average across that customer's projects
sentiment_trend_30d
- VoC: extract customer-side quotes from Email JSON
- Sentiment scoring: per-quote score in [-1, +1] via LLM with calibrated rubric
- Trend = slope of last 30 days; convert to [0, 1] with
0.5 + slope/2
email_frequency_normalcy
- Compare last-30-day frequency to trailing-90-day baseline
- 0.5 ± deviation; ≤ 0.3 means significant drop (silence is a churn signal)
monetary_scale
- Sum of associated project amounts, normalized against this client's customer book
- Big customers tilt the score so a Yellow on a whale beats a Yellow on a small one
Sentiment Trend (separate field)
Stored as a 90-day series for chart rendering:
"情绪趋势_90d": [
{"date": "2026-02", "score": 0.7, "代表词": "期待 / 配合"},
{"date": "2026-03", "score": 0.5, "代表词": "等候 / 询问"},
{"date": "2026-04", "score": 0.2, "代表词": "催 / 失望"}
]
VoC Extraction Rules
Surface up to 5 most-impactful customer quotes per 30-day window:
- Strong negative (
再这样我就找别家,你们到底什么时候能...) - Strong positive (
做得不错,非常感谢) - Decision-maker direct intervention (boss-level customer person speaks up)
- Threats / explicit deadlines
Each quote keeps source email ID and speaker identity.
Decision Chain Map
For each customer, identify 2–5 key external people and their role:
| Role | Heuristic |
|---|---|
决策者 |
most senior title in signature; or person whose intervention shifts thread |
执行接口 |
most frequent external sender on operational topics |
用户 |
recipient of deliverables, may be silent |
阻拦者 |
person who frequently raises objections |
Churn Signals
Maintain a list of signals; populate when triggered:
| Signal | Trigger |
|---|---|
决策者亲自施压 |
Decision-maker speaks up after silence |
频率骤降 |
30d frequency < 30% of 90d baseline |
合同到期临近 |
Within 60 days of known contract end (boss-provided) |
负面 VoC 累积 |
≥ 3 strong-negative quotes in 30 days |
项目同时 stall |
≥ 2 projects with this customer in Stalled simultaneously |
关键人离职 |
Detected via OOO message + replacement signature |
Andon Alert Triggers (fire to state/runs/alerts.json)
- Tier transition Green→Yellow or Yellow→Red
- Strong-negative VoC quote
- ≥ 2 active churn signals simultaneously
Each alert includes: customer_id, trigger, source email IDs, recommended boss action, suppression-key (don't re-fire same alert within 24h of acknowledgment).
Sample Output
See state-schemas/customer.md for full example. Key fields produced:
id,name,lifecycle_stage健康度{ score, 档位, 构成 }情绪趋势_90dRFM{ Recency, Frequency, Monetary }我方接口人(cross-ref to people)客户方决策链VoC_关键原话_30d流失预警信号老板视角建议