关于 requesting-code-review
面向方法包实现工作的代码审查请求流程,供协调审查子 Agent 的开发者使用。它要求提供结构化的范围与证据,并优先呈现具体问题;审查仅供参考,不等同于完成批准。
主要功能
- 01结构化审查背景
- 02明确 Git 审查范围
- 03优先列出具体问题
- 04核对需求与架构基线
- 05检查兼容性与淘汰安排
适用场景
- 01合并前请求代码审查
- 02子 Agent 开发中逐项审查
- 03为复杂缺陷修复寻求独立意见
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ganyuanran/ aegis --skill requesting-code-review安装后在 Claude Code 中输入/requesting-code-review确认已加载。
附带文件code-reviewer.md
详细介绍
请求代码审查
使用规范的 code-reviewer.md 模板派遣审查子代理,以便在问题扩散前发现它们。为审查者精心准备恰到好处的评估上下文——绝不提供你会话的历史记录。这样可以让审查者专注于工作成果,而非你的思考过程,并为你继续工作保留自己的上下文。
此技能是方法包实现工作的规范审查请求工作流。只有在掌握了足够的证据和上下文,并明确了要求审查者评估的权限边界后,才能使用它请求审查。
核心原则: 尽早审查,频繁审查。
发现优先: 审查应先列出具体发现,再给出总结。先讲缺陷、风险和测试结果。优点和总体评估同样有用,但不能掩盖正确性、证据、架构或退役方面的问题。
审查就绪不等于获准合并。审查可以减少不确定性并建议是否就绪,但不能取代 verification-before-completion,也不授予完成权限。
何时请求审查
必须:
- 在子代理驱动开发中的每项任务完成后
- 完成重大功能后
- 合并到 main 前
可选但有价值:
- 陷入困境时(获取全新视角)
- 重构前(检查基线)
- 修复复杂错误后
必需输出
在结束此工作流前,你必须能够说明:
- 审查的确切范围
- 定义成功标准的计划、要求或契约
- 定义已接受行为和非目标的产品/需求基线
- 定义预期架构状态的架构/运行时边界基线
- 已有的最新证据
- 必须继续保持的兼容性边界
- 旧有所有者/回退方案/补丁将保留、缩减还是退役
- 审查者必须具体验证的内容
- 审查者仅提供咨询性审查,还是也会给出更高层级的合并建议
- Aegis 可见性:说明为何发现优先的排序、证据充分性、基线一致性、兼容性或退役风险对本次审查请求很重要
- 语义上下文范围:本次审查必须保留哪些相关规范术语、已弃用别名或公共命名边界
此方法包中的审查仅供参考并以证据为导向,本身不构成权威的完成认定。
从两个方向对比要求与结果:检查是否存在遗漏或弱化,以及是否存在无依据的新增或强化。在授权转换范围内保留相关关系、行为、所有权和限定条件。将有证据支持的缺陷与相关的有效案例配对;不要新增验收标准、拒绝已授权的摘要或更正,也不要要求穷尽所有等价项。
如何请求
1. 收集最少的审查信息:
- 实现了什么
- 应符合哪些需求、计划、规范或 ADR
- 差异必须与哪些基准文档或当前权威文档保持一致,包括 需求/产品对齐,以及架构/当前权威依据对齐
- 已有哪些证据(测试、命令、日志、截图、差异摘要)
- 哪些兼容性边界或风险值得审查者留意
- 是否有应淘汰的旧路径、回退方案、重复负责人或临时补丁
- 差异是否包含需要 ADR 记录的持久架构决策 Auto Backfill 或基准同步的发现
- 如果 ADR 操作或基准同步收尾在范围内,是否已使用或应使用
recording-architecture-decisions - 涉及公开/领域命名时,相关的有效
CONTEXT.md内容; 被动阅读不会加载有效建模
如果无法回答这些问题,请先停止并收集信息,再派发审查。
2. 定义 Git 审查范围:
# Before the coordinator's task commit
REVIEW_SCOPE=working-tree
BASE_SHA=$(git rev-parse HEAD)
# Or for already committed work
REVIEW_SCOPE=committed-range
BASE_SHA=<known-start>
HEAD_SHA=$(git rev-parse HEAD)
审查工作区时,明确指出任务涉及的未跟踪路径。不要仅为了让审查者看到它们而暂存文件。
3. 派发审查子 Agent:
使用 Task 工具,并选择通用审查子 Agent。填写规范模板 requesting-code-review/code-reviewer.md;不要依赖单独命名的 Agent 提示词。
占位符:
{WHAT_WAS_IMPLEMENTED}- 刚刚构建的内容{PLAN_OR_REQUIREMENTS}- 应实现的功能{EVIDENCE}- 已有的最新测试、命令、日志或验证结果{COMPATIBILITY_BOUNDARY}- 不得破坏的现有行为或接口{RETIREMENT_NOTES}- 旧负责人/回退方案/补丁/重复分支及预期处置方式{REVIEW_SCOPE}-working-tree或committed-range{BASE_SHA}- 起始提交{HEAD_SHA}- 结束提交,或WORKTREE{DESCRIPTION}- 简要摘要
4. 处理反馈:
- 立即修复严重问题
- 继续之前修复重要问题
- 将次要问题记录下来,稍后处理
- 如果审查者有误,应提出异议并说明理由
- 如果反馈指出证据不足,应运行缺失的验证,而不是只凭信心争辩
- 如果反馈指出设计缺陷/实现偏差、过时逻辑或类似架构偏移的 旧别名,应明确决定是现在修复、纠正基准,还是记录淘汰条件
示例
[Just completed Task 2: Add verification function]
You: Let me request code review before proceeding.
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
HEAD_SHA=$(git rev-parse HEAD)
[Dispatch reviewer subagent using requesting-code-review/code-reviewer.md]
WHAT_WAS_IMPLEMENTED: Verification and repair functions for conversation index
PLAN_OR_REQUIREMENTS: Task 2 from docs/aegis/plans/deployment-plan.md
EVIDENCE: pytest tests/index/test_verify.py -v -> 12 passed
COMPATIBILITY_BOUNDARY: Existing index format and CLI flags must remain stable
RETIREMENT_NOTES: Legacy repair fallback still exists in old helper; remove once new path covers all four issue types
BASE_SHA: a7981ec
HEAD_SHA: 3df7661
DESCRIPTION: Added verifyIndex() and repairIndex() with 4 issue types
[Subagent returns]:
Strengths: Clean architecture, real tests
Issues:
Important: Missing progress indicators
Minor: Magic number (100) for reporting interval
Assessment: Ready to proceed
You: [Fix progress indicators]
[Continue to Task 3]
与工作流集成
子 Agent 驱动开发:
- 每项任务完成后都进行审查
- 在问题累积前发现它们
- 完成修复后再进入下一项任务
执行计划:
- 每批任务(3 项)完成后进行审查
- 获取反馈、应用反馈,然后继续
临时开发:
- 合并前进行审查
- 遇到阻碍时进行审查
审查者必须检查的内容
审查请求必须提示审查者至少检查以下内容:
- 先列发现:优先检查 Bug、风险和测试
- 证据是否充分
- 基线与当前权威信息是否一致
- 需求/产品是否与已接受的问题、成功证据和非目标一致
- 架构/当前权威信息是否与负责人、契约、事实来源、兼容性和退役边界一致
- 将设计缺陷/实现偏移分类,并使用
scope: requirements | architecture | both - 旧术语映射:基线缺陷、架构缺陷和架构偏移必须映射回设计缺陷/实现偏移,而不能形成并行的结果术语体系
- 是否存在重复负责人风险
- 兼容性边界
- 是否缺少针对持久性架构决策的 ADR 自动回填或基线同步发现
- 如果 ADR 行动或基线同步收尾在范围内,是否缺少
recording-architecture-decisions交接 - 是否存在未经验证的声明或缺失的证明
- 旧逻辑应该退役、暂时保留还是逐步收敛
- 是否存在公共名称偏移、已弃用术语重新出现,或在代码/文档中记录语义变更却未组合
establishing-project-context
如果审查只问“这段代码写得好吗?”,那么请求的说明就不够明确。
危险信号
切勿:
- 因为“很简单”就跳过审查
- 忽略严重问题
- 在重要问题未修复时继续推进
- 反驳有效的技术反馈
- 将审查者批准视为权威性完成
- 不说明已有证据就请求审查
- 添加新逻辑,却不告知审查者旧路径将如何处理
如果审查者有误:
- 以技术理由提出异议
- 展示能证明其有效的代码/测试
- 请求澄清
审查边界
- 审查可以建议是否已具备合并条件、指出剩余风险并提出后续工作
- 审查本身不能授予权威性完成
- 审查应减少不确定性,而不是掩盖它
参见模板:requesting-code-review/code-reviewer.md