用途
Necessity Audit 用于审查生命周期规格(1-requirements / 2-tech-spec / 3-architecture)中是否存在过度设计元素,重点检测违反 YAGNI(You Aren't Gonna Need It)和 KISS(Keep It Simple, Stupid)原则的内容。它通过三个阶段的分析和对抗式辩论,帮助判断哪些规格元素应当保留、复核或裁剪。
主要能力
该技能采用三阶段工作流:
- Phase A 分类:使用 Claude 读取目标文件,按照模板提取元素(FR / NFR / 组件 / 抽象 / 可扩展性 / 配置),依据 6 维度评分标准进行打分,并给出初步的 Keep / Review / Cut 分类。
- Phase B 辩论:通过
Skill("codex-brainstorm")调用 Codex 进行对抗式辩论,对分类结果进行挑战和验证。辩论主题由 preflight 结果和 Phase A 分类构建。 - Phase C 整合:执行确定性检查、覆盖度检查、处理
--override参数并选择最终门控,生成包含辩论线程 ID 和辩论结论的报告。
最终输出以 ## Necessity Audit 开头,以 ✅ Audit Clear 或 ⛔ Audit Revise 结尾。
使用方式
通过命令行调用,基本参数如下:
<path>(必需):目标生命周期规格文件路径(相对于仓库)。--depth brief|normal|deep(可选,默认 normal):维度覆盖范围和均衡严格程度。--continue <threadId>(可选):恢复 Phase C 并重用 Codex 辩论上下文。--skip-preflight(可选):跳过状态读取,输出[PREFLIGHT SKIPPED]横幅。--include-feasibility(可选):接受0-feasibility-study.md文件。--override <id>:<rationale>(可选,可重复,分号分隔):将有争议的 Cut 元素标记为保留并附上理由。--output markdown|json(可选,默认 markdown):输出格式。
工作流依赖多个脚本文件(位于 scripts/skills/necessity-audit/ 下),包括 preflight.js、debate-topic.js、consolidate.js、report.js、redact.js 和 cleanup.js。执行过程中需要使用临时目录和一次性能力令牌,具体步骤请参照 SKILL.md 中的规范。
适用场景
- 审查生命周期规格是否存在过度设计,需要裁剪或简化。
- 在规格评审流程中作为必要性检查环节。
- 与
/codex-review-doc、/codex-review-spec、/feature-completeness、/review-spec等技能串联使用。
当意图是审查推理严密性、完成度、代码抽象或行业标准符合性时,应使用其他技能(如 /codex-review-spec、/feature-completeness、/simplify、/refactor、/best-practices)。
限制
- 技能文档中未提供具体的安装命令或价格信息。
- 使用需要已配置相关环境(脚本、Codex 技能等)。
- 输出格式和门控选择有严格约束,例如
⚠️ Need Human不能作为最终门控。 - 临时目录清理需要正确的路径和令牌,否则会拒绝执行。
- 部分引用文件(如
references/dimensions.md等)为规范源,未在资料中展开具体内容。