SuperAPI AI 工具集

necessity-audit

编程与开发

查看项目

更新于 10-16 10:52

技能介绍

用途

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 等)为规范源,未在资料中展开具体内容。