适用角色与上手难度
🎯 学习产出: 掌握双轴代码审查方法,能独立审查分支、PR 和进行中的改动
🚀 AI 能力提升: 代码审查、质量把关
code-review
预计阅读时间: 7 分钟双轴审查。对 HEAD 与用户给的固定点之间的 diff 做双轴审查:
- 规范轴(Standards):代码是否符合仓库记录的编码标准?
- 规格轴(Spec):代码是否忠实实现来源 issue / 规格?
两个轴由并行子 agent 执行(互不污染上下文),然后本技能聚合它们的发现。issue 追踪器应已配置(docs/agents/issue-tracker.md 缺失就提示运行 /setup-matt-pocock-skills)。
日常使用
实战
1. 钉住固定点
用户说的固定点(commit SHA、分支名、tag、main、HEAD~5 等),没指定就问。一次捕获 diff 命令:git diff <fixed-point>...HEAD(三点,对比 merge-base),并记 git log <fixed-point>..HEAD --oneline 的提交列表。先确认固定点可解析(git rev-parse)且 diff 非空——坏 ref 或空 diff 应在这里失败,而不是在两个并行子 agent 内部。
2. 找规格来源
按顺序:commit message 里的 issue 引用(#123、Closes #45、GitLab !67)→ 用户传的路径参数 → docs/、specs/、.scratch/ 下匹配分支名/功能名的规格文件 → 都没有就问用户规格在哪。用户说没有规格,Spec 子 agent 跳过并报告 "no spec available"。
3. 找规范来源
仓库里任何记录代码怎么写的东西(CODING_STANDARDS.md、CONTRIBUTING.md)。在此基础上,规范轴总是携带坏味道基线——固定的 Fowler 坏味道集(见下),即使仓库什么都没记录也适用。两条约束:仓库标准优先(仓库认可基线会标的东西就压制该味道);永远是判断——每条味道是带标签的启发式("可能的 Feature Envy"),不是硬违规;工具已强制的跳过。
4. 并行派两个子 agent
规范子 agent 提示词:完整 diff 命令 + 提交列表 + 规范来源文件列表 + 完整粘贴坏味道基线(子 agent 没有别的途径访问它)+ 简报:"逐文件/逐 hunk 报告:(a) 每个违反文档化标准的位置:引用标准(文件 + 规则);(b) 你发现的基线味道:命名 + 引用 hunk。区分硬违规与判断——文档化标准违反可以是硬的,基线味道永远是判断,文档化仓库标准覆盖基线。跳过工具强制的。400 词以内。"
规格子 agent 提示词:diff 命令 + 提交列表 + 规格路径或取回的内容 + 简报:"报告:(a) 规格要求但缺失/部分实现的;(b) diff 里没被要求的行为(范围蔓延);(c) 看起来实现了但实现错误的。每条引用规格原文。400 词以内。"规格缺失就跳过并注明。
5. 汇总
在 ## Standards 和 ## Spec 标题下原文(或轻度清理后)呈现两份报告。不合并、不重排——两轴刻意分离。结尾一行摘要:每轴发现总数 + 每轴内最严重的问题(如有)。不跨轴挑唯一赢家——那正是分离要防止的重排。
12 种 Fowler 坏味道基线
每条读"它是什么 → 怎么修",对 diff 匹配:
为什么两个轴
一个改动可能过一轴挂一轴:遵守所有标准但实现错了东西 → 规范过、规格挂;完全按 issue 做了但破坏项目约定 → 规格过、规范挂。分开报告,防止一轴掩盖另一轴。
与其它技能的关系
- 主流程:
/implement提交前用它收尾 - 可单独使用:想审查分支/PR 时直接用
- 前置:
setup-matt-pocock-skills配置的追踪器(找规格用)

