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.
4.5 KiB
4.5 KiB
| name | description | version | author | license | metadata | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| claw-people-observer | Compute observation cards for each person — project density, response time, BARS behavior tags, CCAR critical incidents, ONA centrality, 9-Box performance dimension. NEVER assigns potential or final ratings — those are boss-only. | 0.1.0 | Moments / Atlas team | MIT |
|
claw-people-observer
Purpose
Build the people layer of Atlas. For each internal person who appears in the email graph, compute a multi-framework observation card. Surface signals to the boss; never write verdicts.
Hard Boundary
This skill does not assign:
- 9-Box potential dimension (boss only)
- A/B/C player labels (boss only)
- Performance Improvement Plan triggers (boss only)
- Hire/fire recommendations (always boss)
This skill does compute:
- Activity-based metrics (active project count, stalled ratio, response time)
- Behavior tags with BARS anchors and email-ID evidence
- CCAR critical incidents (auto-detected positive + negative events)
- ONA centrality (information broker score, isolation index)
The 9-Box performance dimension is auto-estimated as a suggestion (with a "boss to confirm" flag); never as a final answer.
Inputs
- Updated Email JSON since last run
state/projects/*.json(for project-density and stall-ratio computation)boss_skill.md(BARS anchors live in the Decision Heuristics layer)
Outputs
state/people/<name>.json(see schema)- Append to
state/audit/people_signals.csvfor each new behavior tag
Computation Notes
Project density / stalled ratio
- Density = count of distinct project_ids where person appears in last 30 days
- Stalled ratio = stalled_projects / active_projects
- Threshold for "overload" warning: density > 6 AND stalled_ratio > 0.3
Response time
- For threads where person is Responsible, compute median time between (boss/customer message asking for action) → (their reply)
- Surface only the median; do not surface individual slow replies (avoid micro-management trap)
BARS tags
- Pull anchor list from
boss_skill.md > Decision Heuristics - For each tag, scan recent thread events for matching anchor text or pattern
- Always include source email ID
CCAR critical incidents
- Auto-detect: project completion ahead of schedule, customer-side praise, customer-side complaint, escalation refused, deadline missed
- Window: rolling 30 days
ONA centrality
- Build directed graph: from→to+cc per email, weight = message count
- Compute betweenness centrality + degree centrality + isolation index (= 1 / unique_correspondents)
- Refresh weekly (heavy compute), cache in
state/people/_ona_cache.json
9-Box auto-estimate
- Performance dimension: composite of (completion rate, response time, customer-side sentiment when this person is Responsible)
- Potential dimension: never auto-estimated; field is
nulluntil boss writes it
Failure Modes
| Failure | Behavior |
|---|---|
| Person has no Responsible projects | Card still created with sparse data; flag data_sparse: true |
| Identity collision suspected | Surface in state/people/_to_merge.json; do not auto-merge |
| Boss explicitly disagrees with a behavior tag | Tag retired; rule that produced it surfaces in next quarterly distillation review |
Sample Output
{
"name": "张三",
"产出指标": {
"active_projects": 8,
"completed_30d": 2,
"stalled_ratio": 0.375,
"avg_response_hours": 27,
"客户主动催办次数_30d": 4
},
"行为标签_BARS": [
{
"维度": "主动性",
"锚点": "客户首次催才回应",
"评分": 2,
"依据邮件": ["msg-abc"],
"rule_ref": "BARS-proactivity-3"
}
],
"关键事件_CCAR_30d": [
{"date": "2026-04-22", "事件": "PRJ-001 客户投诉,未升级", "性质": "负向", "source_email_ids": ["msg-xyz"]}
],
"网络中心度_ONA": {
"信息中介度": 0.42,
"孤立指数": 0.18,
"解读": "中等枢纽,未被孤立"
},
"9_box_自动估": {
"performance": "中下",
"潜力": null,
"建议象限": "Solid Performer 或 Underperformer,看潜力定",
"boss_to_confirm": true
},
"Topgrading_建议": null
}