name: legion-self-check description: 强主脑原生形态健康自检 — 去军团化转世后跑一次, 一眼看到 delegion-doctrine/native-skills/gate-reincarnation/dual-mode/escalation/auto-memory/native-workflows/no-zombie-legion 8 个原生维度是否健康. 另支持 --legion-shell (旧军团栈体检, 退役保留) 和 --aipm-health (AIPM hermes 6 probe). 触发: "自检健康状态" / "原生形态健康" / "升级生效了吗" / "/legion-self-check" / "legion 健康" / 启动后例行检查.
Legion Self-Check — 强主脑原生形态健康自检
启动新 session 后, 把"去军团壳后原生形态是否健康"的肉眼判断, 收敛成一条命令的结构化输出.
2026-06-04 去军团化转世: 旧版默认给退役军团栈 (corps/registry/L1/legion_core) 做体检, 即使军团已退役也报全绿 → 误导 (检查的是死代码). 现默认改为检查原生形态健康 (转世后的 gate/skill/workflow/memory/双态/escalation 是否真在工作). 旧军团 8 维度移到 --legion-shell 保留向后兼容.
When To Apply
- 启动新 session 后例行第一步
- 用户问 "自检健康状态" / "原生形态健康" / "升级生效了吗" / "legion 健康" 时
- 怀疑某个转世层未生效时 (例如刚改完 settings.json / gate / skill 没重启)
- 周期性体检 (每天一次, 或每次重大改动后)
How To Run
最快路径 (推荐):
bash ~/.claude/scripts/legion_self_check.sh
可选选项:
--quiet— 只打印 FAIL/WARN, 静默 PASS 项, 适合 CI / hook 集成--verbose— 打印完整 measured/expected 元组--project=<path>— 指定项目根目录 (默认pwd), 用于 dual-mode / auto-memory 维度--legion-shell— 跑旧军团栈 8 维度 (退役, 仅对设了CLAUDE_LEGION_TEAM_ID的军团会话有意义; 默认已改原生形态)--aipm-health— AIPM hermes 三层保障矩阵体检 (跑 6 probe 替代 8 维度): AIPM/AICTO gateway HTTP + hermes/aicto watchdog fails + docker prodmind-dashboard + L2 l1-inbox-watcher daemon. 用于诊断 prodmind 项目 hermes 在线性.
退出码:
0— 全绿, 原生形态健康1— 至少一个维度 FAIL, 需要补救2— 命令行参数错误
What It Checks (默认 8 维度 · 原生形态)
| # | 维度 | 检查内容 | 期望 |
|---|---|---|---|
| 1 | delegion-doctrine | ~/.claude/CLAUDE.md 含"去军团化/退役"标记 + launchctl 无活跃 legion daemon |
marker>=1 daemons=0 |
| 2 | native-skills | ls ~/.claude/skills/ 目录数 (原生 Skill 工具可见) |
>=31 |
| 3 | gate-reincarnation | ui-doctrine-gate.sh + post-tool-use.sh(含 stack-verify Quality Gate) 存在 (求是/UI军规转世为机械 gate) |
both present |
| 4 | dual-mode | 项目内 claude-mode.sh + dev/biz/ask/escalate/bg 子命令 |
>=3 subcommands |
| 5 | escalation | claude-mode.sh escalate 子命令 + ~/.claude/escalation-audit.jsonl 审计接入 |
escalate+audit present |
| 6 | auto-memory | 当前 project memory 条目数 + MEMORY.md 索引零 broken link |
entries>=1 broken=0 |
| 7 | native-workflows | ~/.claude/workflows/*.workflow.js 全部 node --check 过 |
all pass |
| 8 | no-zombie-legion | tmux 无残留军团 session (中英文 grep, 含中文军团名 天罡/山岳/雷霆/黑曜) |
=0 |
维度 8 用中英文混合 grep — 残留军团 session 用中文命名, 只 grep
legion\|corps会漏报 (实测教训).
Output Format
[Legion-self-check] 强主脑原生形态健康自检 — project=/Users/feijun/code/legion-0
[Legion-self-check] ✓ 1.delegion-doctrine measured=marker=3 daemons=0 expected=marker>=1 daemons=0 note=去军团化纪律确立+无活跃军团daemon
[Legion-self-check] ✓ 2.native-skills measured=35 expected=>=31 note=原生Skill工具可见
[Legion-self-check] ✓ 3.gate-reincarnation measured=ui-gate=1 stack-verify=1 expected=both present note=求是/UI军规转世为机械gate
[Legion-self-check] ✓ 4.dual-mode measured=subs=5[ask bg biz dev escalate ] expected=>=3 subcommands note=双态启动器活
[Legion-self-check] ✓ 5.escalation measured=escalate=ok audit=1lines expected=escalate+audit present note=升级问询接入+jsonl审计
[Legion-self-check] ✓ 6.auto-memory measured=entries=21 broken=0 expected=entries>=1 broken=0 note=auto-memory活+索引零断链
[Legion-self-check] ✓ 7.native-workflows measured=3/3 syntax-ok expected=all pass note=DW资产语法健康
[Legion-self-check] ✓ 8.no-zombie-legion measured=zombie_sessions=0 expected==0 note=无残留军团tmux session
[Legion-self-check] summary total=8 pass=8 fail=0 warn=0
每行一个维度: ✓/✗/⚠ name measured=<实测> expected=<期望> note=<备注>. 末尾 summary 给出 pass/fail/warn 计数.
Manual Probes (备用, 当 helper script 不可用)
按原生 8 维度顺序的 byte-equal 命令:
# 1. delegion-doctrine
grep -cE '去军团化|退役' ~/.claude/CLAUDE.md # expect >=1
launchctl list 2>/dev/null | grep -ci legion # expect 0
# 2. native-skills
find ~/.claude/skills -maxdepth 1 -mindepth 1 -type d | wc -l # expect >=31
# 3. gate-reincarnation
test -f ~/.claude/scripts/hooks/ui-doctrine-gate.sh && echo ui-ok
grep -q stack-verify ~/.claude/scripts/hooks/post-tool-use.sh && echo sv-ok
# 4. dual-mode (项目内)
f=$(find . -maxdepth 4 -name claude-mode.sh | head -1)
grep -oE '^[[:space:]]*(dev|biz|ask|escalate|bg)\)' "$f" | sort -u # expect >=3
# 5. escalation
grep -qE '^[[:space:]]*escalate\)' "$f" && echo escalate-ok
test -f ~/.claude/escalation-audit.jsonl && wc -l < ~/.claude/escalation-audit.jsonl
# 6. auto-memory
enc=$(pwd | sed 's#/#-#g'); mem=~/.claude/projects/${enc}/memory
find "$mem" -maxdepth 1 -name '*.md' ! -name MEMORY.md | wc -l # entries
# broken link: 逐条 grep MEMORY.md 链接核对文件存在
# 7. native-workflows
for f in ~/.claude/workflows/*.workflow.js; do node --check "$f" && echo "ok $f"; done
# 8. no-zombie-legion (含中文军团名)
tmux ls 2>/dev/null | grep -cE '军团|legion|corps|天罡|山岳|雷霆|黑曜|凤凰|苍穹' # expect 0
How To Repair (FAIL 时)
| 维度 | FAIL 处理 |
|---|---|
| 1 delegion-doctrine | CLAUDE.md 缺去军团化标记 → 检查是否被回滚; 有活跃 legion daemon → launchctl bootout 停用 |
| 2 native-skills | 全局 skills 缺失 — 从 ~/.claude/backups/ 恢复 |
| 3 gate-reincarnation | ui-doctrine-gate.sh / post-tool-use.sh stack-verify 缺失 — 检查 hooks 是否被回滚, 从 backups 恢复 |
| 4 dual-mode | 项目无 claude-mode.sh 或子命令不全 — 重新部署双态启动器 |
| 5 escalation | escalate 子命令或 escalation-audit.jsonl 缺 — 检查 claude-mode.sh + ESCALATION.md 协议 |
| 6 auto-memory | 记忆缺失或索引 broken link — 修 MEMORY.md 断链 (用 wiki-lint skill 或手工核对) |
| 7 native-workflows | DW 脚本语法错 — node --check 定位, 修语法 (常见: agentType/args 坑) |
| 8 no-zombie-legion | 有残留军团 session — tmux kill-session -t "=<精确名>" (双校验 [ -n ]+has-session, 绝不通配, 勿碰业务 session) |
Naming & Scope Note
注意区分:
~/.claude/scripts/legion_self_check.sh(本 skill 的 helper) — session-time 健康自检; 默认=原生形态 8 维度 (转世后),--legion-shell=旧军团栈 8 维度 (退役保留),--aipm-health=AIPM hermes 6 probe~/.claude/scripts/legion-self-check.py(既有) — legion-init-time 项目初始化校验器 (skills entries 是否有效 / agent 文件可读 / CLAUDE.md 大小压实), 路径名用连字符, 与本 skill 互不替代
skill 名 legion-self-check 保留 (向后兼容触发词), 但默认语义已从"军团栈体检"转世为"原生形态健康自检".