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).
126 lines
4.5 KiB
Markdown
126 lines
4.5 KiB
Markdown
---
|
||
name: claw-people-observer
|
||
description: 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.
|
||
version: 0.1.0
|
||
author: Moments / Atlas team
|
||
license: MIT
|
||
metadata:
|
||
hermes:
|
||
category: atlas
|
||
tags: [people-analytics, 9-box, bars, ccar, ona, atlas]
|
||
related_skills: [claw-email-parser, claw-project-tracker, claw-report-writer]
|
||
boundaries:
|
||
- 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
|
||
|
||
```json
|
||
{
|
||
"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
|
||
}
|
||
```
|