assistant-claw/skills/claw-people-observer/SKILL.md
Atlas refactor bd0be97630 Refactor: drop Vega framing, promote Atlas to repo root
This repo IS Atlas (总助 Claw / 老板视角项目执行雷达). The earlier
two-profile framing (Atlas + Vega placeholder) was a misread — Vega is
the agent persona answering Multica issues, not the product. Vega has
no relationship to assistant-claw the product.

Changes:
- Move atlas/* to top-level (git mv preserves history)
- Remove empty Vega placeholders prompts/.gitkeep, tools/.gitkeep
- Delete atlas/ wrapper directory (now empty)
- Update path references in INTEGRATION-hermes.md, scripts/mirror-...sh,
  docs/decisions/0001-mirror-nuwa-skill.md
- Rewrite README.md as Atlas-only, remove dual-profile language

After this commit:
- Top-level OpenClaw 8 files (IDENTITY/SOUL/USER/AGENTS/TOOLS/MEMORY/
  BOOTSTRAP/HEARTBEAT + CLAUDE symlink + zh-CN mirrors)
- skills/{6 sub-skills + DESCRIPTION + README}
- mcp-tools/{spec + Python implementation}
- state-schemas/{project, person, customer + README}
- autopilots/{5 atlas-*.yaml}
- client-deck/, docs/decisions/, scripts/

The ~/.hermes/skills/atlas/ destination convention preserved (atlas as
a skill namespace on the operator's machine, distinct from source path).
2026-05-09 17:54:18 +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
}