用途:plan-validator 是一个按需触发的计划树校验器(v3.7.0-alpha.2),属于 aura-frog 技能体系,主要供 Claude 在执行过程中读取使用,用来在执行计划变更前确认 .claude/plans/ 目录下的计划树结构合法。它本身是 aura-frog/scripts/plans/validate-plan-tree.sh 的轻量封装,人类可读说明见 docs/architecture/HIERARCHICAL_PLANNING.md 或 docs/getting-started/。
主要能力:若 .claude/plans/ 不存在则静默退出;否则运行 bash aura-frog/scripts/plans/validate-plan-tree.sh。退出码为 0 时保持静默(verbose 模式下输出一行成功信息);退出码非 0 时列出失败的不变量并拒绝调用方继续操作。校验的 8 项不变量(规范 §6.7)包括:父节点存在(parent 指向已存在节点,T1 为 MISSION)、子节点完整(children 列表每项都有对应节点文件)、无孤儿节点(非 MISSION 节点恰好被一个父节点引用)、状态合法(planned、active、done、blocked、frozen、discarded、archived)、revision 单调递增(不减少、不跳号)、test_ref 存在(设置时对应测试文件存在)、依赖无环(depends_on 遍历不成环)、冻结原因(status: frozen 时必须有 freeze_reason 与 frozen_at 字段)。
使用方式:在 /aura-frog:plan-expand、/aura-frog:plan-promote、/aura-frog:plan-archive 之前调用;当 .claude/plans/ 有未提交改动时,在 git commit 前调用;对 .claude/plans/*.md 做任何直接手工编辑后调用。命令为 bash aura-frog/scripts/plans/validate-plan-tree.sh。输出约定:退出 0 静默(verbose 时显示 ✓ Plan tree valid (8/8 invariants pass));退出 1 时逐行列出每个失败的不变量及违规节点 ID。
适用场景:计划树发生变更或即将提交、扩展、提升、归档前的结构校验。不适用场景:只读命令如 /aura-frog:plan-status、/aura-frog:trace(健康树校验属多余开销);/aura-frog:plan-undo 执行期间(恢复后状态可能暂时违反不变量);PreToolUse 等每次触发的钩子中(开销过大)。
限制与关联:不变量 4 的状态转换由 rules/workflow/plan-lifecycle.md 约束;规范条目为 §6.7、§9.2;配套技能为只读的 plan-loader;master-planner 代理在变更前调用。价格、平台与效果类信息暂未提供。