Three things in this commit:
1. Atlas skills now agentskills.io / Hermes-compatible
- Each atlas/skills/claw-*/SKILL.md frontmatter enriched with version,
author, license, and metadata.hermes block (tags, category,
related_skills, boundaries)
- New atlas/skills/DESCRIPTION.md per Hermes category convention
- New atlas/INTEGRATION-hermes.md — step-by-step SOP to install Atlas
onto hermes-agent runtime (cp skills, fetch nuwa upstream, configure
env, wire cron, smoke test). Documents the branding override and
self-improving-loop guardrail.
2. nuwa-skill mirror prep (waiting on org-repo creation)
- scripts/mirror-nuwa-to-moments.sh — one-shot bare-clone + push --mirror
- docs/decisions/0001-mirror-nuwa-skill.md — ADR explaining the why,
the bot-token scope limitation, and the manual one-time repo creation
step required at https://git.moments.top/repo/create
3. README rewrite
- Atlas-forward navigation table ("想做什么 → 看哪里")
- Quickstart sections for browsing, running tests locally, fetching
nuwa upstream (public + air-gapped variants), and Hermes integration
- Preserved all original Vega working agreements
- Roadmap with explicit Atlas / Vega tracks
Bot account (multica-bot) lacks write:organization scope so cannot create
the nuwa-skill repo via API. After human creates the empty repo at
git.moments.top/Moments.top/nuwa-skill, run scripts/mirror-nuwa-to-moments.sh
to populate it.
174 lines
5.3 KiB
Markdown
174 lines
5.3 KiB
Markdown
---
|
||
name: claw-report-writer
|
||
description: Render Daily Brief / Weekly Rollup / Monthly Customer Health / one-time Inventory in Amazon WBR style with rule citations. Speaks in the boss's voice (Layer 1 of boss_skill.md).
|
||
version: 0.1.0
|
||
author: Moments / Atlas team
|
||
license: MIT
|
||
metadata:
|
||
hermes:
|
||
category: atlas
|
||
tags: [reporting, wbr, daily-brief, atlas, boss-voice]
|
||
related_skills: [claw-project-tracker, claw-people-observer, claw-customer-radar, claw-boss-distiller]
|
||
delivery_channels: [email, feishu, dingtalk, wechat]
|
||
boundaries:
|
||
- send_only_to_boss
|
||
- cite_every_judgment
|
||
---
|
||
|
||
# claw-report-writer
|
||
|
||
## Purpose
|
||
|
||
Atlas's mouthpiece. Turn `state/` into a 5-minute daily read for the boss.
|
||
|
||
## Inputs
|
||
|
||
- All `state/projects/*.json`, `state/people/*.json`, `state/customers/*.json`
|
||
- `state/runs/alerts.json` (any unacknowledged alerts)
|
||
- `boss_skill.md` (Layer 1 Expression DNA for tone)
|
||
- Yesterday's `runs/YYYY-MM-DD.json` (for "what changed" diff)
|
||
|
||
## Outputs
|
||
|
||
- `state/runs/YYYY-MM-DD.json` — structured snapshot of today's brief content
|
||
- Rendered Brief: PDF + HTML inline-email + (V0.5) WeChat card
|
||
- Sent via `email-send` to boss only (other recipients refused in V0)
|
||
|
||
## Report Modes
|
||
|
||
### Mode 1 — Daily Brief (default)
|
||
|
||
```
|
||
【今日老板 Brief - YYYY-MM-DD】
|
||
|
||
一句话:{narrative_summary, ≤ 30 字}
|
||
|
||
▌What changed (vs yesterday)
|
||
- {项目状态变化, max 5 行}
|
||
|
||
▌Top 3 actions today (按杠杆排序)
|
||
1. {action} — unlocks {downstream_value}
|
||
2. ...
|
||
3. ...
|
||
|
||
▌客户雷达
|
||
🔴 {customer}: {short_signal} — {recommended_boss_action}
|
||
🟡 {customer}: ...
|
||
🟢 {customer}: ...
|
||
|
||
▌人员异动
|
||
- {person}: {observation_no_verdict}
|
||
|
||
▌依据规则
|
||
{rule_ids_used_today}
|
||
```
|
||
|
||
Hard length cap: 1 phone screen (~ 800 chars / 1 PDF page).
|
||
|
||
### Mode 2 — Weekly Rollup (Monday morning)
|
||
|
||
```
|
||
【本周回顾 + 下周预览 - Week N】
|
||
|
||
▌Done
|
||
- {projects completed this week}
|
||
|
||
▌In progress
|
||
- {active projects with health summary}
|
||
|
||
▌Blocked
|
||
- {stalled projects with days_overdue}
|
||
|
||
▌Upcoming (next 7 days)
|
||
- {projects with deadlines}
|
||
|
||
▌Customer week-over-week
|
||
- {CHS movement chart, top changes}
|
||
|
||
▌People week-over-week
|
||
- {density / stall ratio movements; no verdicts}
|
||
|
||
▌Boss override summary
|
||
- {what you overrode this week → triggers next quarterly distillation review}
|
||
```
|
||
|
||
### Mode 3 — Monthly Customer Health
|
||
|
||
One page per customer with active status. Includes:
|
||
- CHS trend (90 days)
|
||
- Sentiment trend (90 days)
|
||
- Project list with status
|
||
- VoC top 3 quotes (30 days)
|
||
- Decision chain map
|
||
- Recommended boss touch (call / meeting / email / nothing)
|
||
|
||
### Mode 4 — Inventory Report (W1 deliverable, one-time)
|
||
|
||
The flagship first deliverable. Past 12 months reconstructed:
|
||
- Total projects identified (N)
|
||
- Landing rate breakdown: completed / active / stalled / dropped
|
||
- "Forgotten projects" list — boss's gut check is "I haven't thought about that in months"
|
||
- Top risks list — projects most likely to silently die
|
||
- Per-customer overview
|
||
- Per-person overview (stats only, no verdicts)
|
||
|
||
The pitch line: "If reading this report makes you say 'I forgot about that' at least 3 times, Atlas is doing its job."
|
||
|
||
### Mode 5 — Ad-hoc Query Brief
|
||
|
||
Boss asks "show me PRJ-001" or "客户A 状态" — focused single-entity brief.
|
||
|
||
## Voice Discipline
|
||
|
||
The Brief is written in the boss's voice (per Layer 1 of `boss_skill.md`). Concretely:
|
||
- Use boss's signature phrases / openers
|
||
- Match boss's average sentence length
|
||
- Mirror boss's preferred level of detail (short prefer / long prefer)
|
||
- Never use stock corporate filler ("综上所述", "希望对您有所帮助")
|
||
- Citations live in a footer, not interrupting flow
|
||
|
||
## Citation Format
|
||
|
||
Each judgment in the Brief carries a tiny inline tag: `(R-37)` or `(GTD-WF)`.
|
||
A footer block shows the rule descriptions for any tag used in this Brief.
|
||
Boss can grep the rule_audit log for any tag to see all historical fires.
|
||
|
||
## Failure Modes
|
||
|
||
| Failure | Behavior |
|
||
|---------|---------|
|
||
| State files inconsistent (e.g., project references nonexistent customer) | Render with placeholder + flag inconsistency in `runs/` |
|
||
| `email-send` fails | Save Brief to `runs/<date>.failed.pdf`, retry next heartbeat |
|
||
| `boss_skill.md` Layer 1 missing (pre-W2) | Fall back to neutral business voice |
|
||
| Nothing changed since yesterday | Brief still sent; one line: "今日无显著变化。3 个项目仍在等待回复 (PRJ-001, PRJ-007, PRJ-014)。" |
|
||
|
||
## Sample Output
|
||
|
||
```
|
||
【今日老板 Brief - 2026-05-09】
|
||
|
||
一句话:本周 3 个项目转入风险,主要卡在等张三和等客户回复。
|
||
|
||
▌What changed
|
||
- PRJ-001 (客户A) Active → Stalled, 11 天无回复 (R-12, GTD-WF)
|
||
- PRJ-014 责任人仍不明 (R-RACI-A-missing) — 第 3 天悬而未决
|
||
- PRJ-022 客户验收通过,可结案 (R-Complete)
|
||
|
||
▌Top 3 actions today
|
||
1. ping 张三 — 同时解开 PRJ-001 和 PRJ-007,杠杆最大
|
||
2. 召集 PRJ-014 RACI 会议(30 min)
|
||
3. 给 PRJ-022 客户发结案函
|
||
|
||
▌客户雷达
|
||
🔴 客户A: 健康度 82 → 62, 王总亲自施压 (R-37) — 建议本周亲自电话
|
||
🟢 客户D: 健康度 70 → 85, 完成 PRJ-022 验收
|
||
🟡 客户F: At-Risk, 30 天无项目推进
|
||
|
||
▌人员异动
|
||
- 张三: 项目密度 8, 卡点率 37.5% (无评价)
|
||
- 王五: 本周完成 2 项
|
||
|
||
▌依据规则
|
||
R-12, R-37, GTD-WF, R-RACI-A-missing, R-Complete
|
||
```
|