Skip to content

功能规格说明:Simplify Skill ​

创建日期:2026-06-29

用户场景与测试 (必填) ​

用户故事:审查并应用质量清理(优先级:P1) ​

作为开发者,我希望审查已更改的代码以发现重用机会、质量问题和效率问题,并自动应用修复,以便在不手动寻找改进的情况下保持代码整洁。

为什么是这个优先级:这是核心价值——一步完成审查 + 自动修复。它补充了 /code-review(仅报告错误),专注于质量并应用修复。

独立测试:进行带有明显重复或低效率的更改,运行 /simplify,并验证问题在工作树中被修复。

验收场景:

  1. 假设有 git 更改(已暂存或未暂存),当用户运行 /simplify 时,则 skill 通过 git diff(或 git diff HEAD 用于已暂存更改)收集 diff 并审查所有更改的文件。
  2. 假设没有 git 更改,当用户运行 /simplify 时,则 skill 审查用户提到的或 agent 在对话中较早编辑的最近修改的文件。
  3. 假设发现质量问题,当第 3 阶段执行时,则 skill 直接在代码中修复每个问题。
  4. 假设发现是误报或不值得处理,当 skill 评估它时,则它记录并继续而不争论。

用户故事:并行三维质量审查(优先级:P2) ​

作为开发者,我希望审查并行覆盖三个独立的质量维度——代码重用、代码质量和效率——以便以低延迟获得全面覆盖。

为什么是这个优先级:并行审查减少延迟并为每个维度提供专注的上下文。三个维度覆盖最常见的质量退化模式。

独立测试:进行带有重用问题(复制现有工具)、质量问题(复制粘贴代码)和效率问题(可以并行的顺序调用)的更改,运行 /simplify,并验证三个问题都被修复。

验收场景:

  1. 假设 skill 进入第 2 阶段,当它执行时,则它在单条消息中并发启动三个 agent,每个接收完整 diff。
  2. 假设 Code Reuse agent 运行,当它审查更改时,则它搜索可以替代新编写代码的现有工具/辅助函数,并标记重复和可以使用现有工具的内联逻辑。
  3. 假设 Code Quality agent 运行,当它审查更改时,则它标记冗余状态、参数膨胀、有变化的复制粘贴、泄漏的抽象、字符串类型代码、不必要的 JSX 嵌套和不必要的注释。
  4. 假设 Efficiency agent 运行,当它审查更改时,则它标记不必要的工作、错过的并发、热路径膨胀、重复的无操作更新、不必要的存在性检查、内存问题和过于宽泛的操作。

用户故事:无错误的质量聚焦(优先级:P2) ​

作为开发者,我希望 /simplify 只专注于质量而不寻找错误,以便我可以将其用作独立于完整错误审查的快速清理通道。

为什么是这个优先级:分离关注点(质量 vs 正确性)让开发者为工作选择合适的工具。错误寻找需要不同的、更仔细的审查(由 /code-review 提供)。

独立测试:在包含微妙错误的更改上运行 /simplify;验证 skill 不报告错误(它专注于质量)。然后运行 /code-review 并验证错误被捕获。

验收场景:

  1. 假设 skill 描述声明"Quality only — it does not hunt for bugs; use /code-review for that",当 skill 执行时,则审查 agent 专注于重用/质量/效率,而非正确性错误。
  2. 假设开发者想要错误审查,当他们改为运行 /code-review 时,则错误被报告。

边界情况 ​

  • 如果没有 git 更改且没有文件被最近编辑会怎样? skill 审查用户提到的或 agent 在对话中较早编辑的最近修改文件。如果无法识别,skill 没有可审查的内容。
  • 如果三个 agent 产生冲突的修复会怎样? 第 3 阶段汇总发现并直接修复每个问题;冲突由主 agent 按顺序应用修复来解决。
  • 如果修复引入新问题会怎样? skill 在修复后不重新审查;它应用修复并总结。后续的 /simplify 或 /code-review 可以捕获回归。
  • 如果 AI 尝试自动触发 skill 会怎样? frontmatter 中的 disable-model-invocation: true 阻止自动调用;它仅通过 /simplify 由用户调用。
  • 如果发现是误报会怎样? skill 记录并继续——它不与发现争论,直接跳过。