assistant-claw/atlas/skills/claw-people-observer/SKILL.md
Vega (Atlas iteration) 04e197c896 Hermes-compatible skill format + nuwa mirror prep + README rewrite
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.
2026-05-09 17:21:31 +08:00

4.5 KiB
Raw Blame History

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
hermes
category tags related_skills boundaries
atlas
people-analytics
9-box
bars
ccar
ona
atlas
claw-email-parser
claw-project-tracker
claw-report-writer
never_assign_9box_potential
never_assign_topgrading_grade
never_recommend_pip_or_termination

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.csv for 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 null until 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
}