mcpField
Q
quality-gate

quality-gate

github.com/noobygains测试与质量11557 次安装5 天前更新
代码仓库

关于 quality-gate

quality-gate 是一项代码审查流程技能,面向希望在开发过程中及合并前发现缺陷的 Agent。它规定审查前置条件、提交范围和问题处理要求。

主要功能

  1. 01审查前检查测试、提交状态与范围
  2. 02记录审查的起止提交 SHA
  3. 03按严重程度处理审查发现
  4. 04为委派任务和合并设置审查关卡

适用场景

  1. 01委派执行的每项任务完成后审查
  2. 02重要功能完成后检查变更
  3. 03合并到主干分支前审查
  4. 04受阻或大型重构前获取审查意见

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/noobygains/godmode --skill quality-gate

安装后在 Claude Code 中输入/quality-gate确认已加载。

附带文件code-reviewer.md

详细介绍

质量关卡

调度代码审查 Agent(agents/code-reviewer.md),在缺陷扩散前将其找出。

核心原则: 尽早检查,频繁检查。

首要指令

未经审查,不得合并

没有例外。没有变通办法。没有捷径。

准入流程

启动审查前,请确认:

  1. 当前分支上的测试套件全部通过
  2. 所有更改均已提交(工作树干净)
  3. 已确定 BASE_SHA 和 HEAD_SHA
  4. 能够说明构建了什么以及原因
  5. 知道要依据哪项计划或规范进行审查
  6. 已正确界定审查范围(单个任务还是批次)

如果有任何一项不满足,请先解决,再请求审查。

何时启动

必须:

  • 在委派执行工作流中的每项任务完成后
  • 完成重要功能后
  • 合并到主干分支前

可酌情启动,但建议:

  • 遇到阻碍时(外部视角往往能帮你打破僵局)
  • 开始大型重构前(建立基线)
  • 解决棘手缺陷后

如何启动

1. 获取提交范围:

BASE_SHA=$(git rev-parse HEAD~1)  # or origin/main
HEAD_SHA=$(git rev-parse HEAD)

2. 启动代码审查子 Agent:

使用 Agent 工具调度代码审查 Agent(agents/code-reviewer.md)。填写 code-reviewer.md 中的模板。

模板占位符:

  • {WHAT_WAS_IMPLEMENTED} — 刚刚构建的内容
  • {PLAN_OR_REQUIREMENTS} — 应满足的要求
  • {BASE_SHA} — 起始提交
  • {HEAD_SHA} — 结束提交
  • {DESCRIPTION} — 简要说明

3. 处理审查结果:

  • 立即解决 Critical 级别的问题
  • 继续推进前解决 Important 级别的问题
  • 将 Minor 级别的问题记录下来,留待后续处理
  • 如果审查者有误,请提供证据并提出异议

演练

[Just completed Task 3: Add data validation layer]

You: Initiating quality gate before proceeding.

BASE_SHA=$(git log --oneline | grep "Task 2" | head -1 | awk '{print $1}')
HEAD_SHA=$(git rev-parse HEAD)

[Launch code-reviewer agent (agents/code-reviewer.md)]
  WHAT_WAS_IMPLEMENTED: Input validation and sanitization for all API endpoints
  PLAN_OR_REQUIREMENTS: Task 3 from docs/plans/api-hardening-plan.md
  BASE_SHA: c4e19a7
  HEAD_SHA: 8b2f305
  DESCRIPTION: Added validateRequest() and sanitizeInput() with 5 rule types

[Subagent returns]:
  Strengths: Comprehensive rule coverage, solid test assertions
  Issues:
    Important: Missing rate-limit header on validation error responses
    Minor: Hardcoded threshold (50) for payload size check
  Assessment: Ready to proceed after addressing Important item

You: [Fix rate-limit header]
[Continue to Task 4]

认知陷阱

自我安慰事实
“改动很小,不需要审查”小型差异也会引发大规模故障。审查所有改动。
“我已经进行了全面测试”测试和审查能发现本质上不同类别的问题。
“审查会拖慢进度”修复生产事故对进度的拖累要大得多。
“审查者看不懂这段代码”如果审查者看不懂,下一位工程师也看不懂。
“我会在下一个 PR 中统一审查”质量债务会不断累积。现在审查,否则以后要付更多利息。

集成

godmode:delegated-execution:

  • 每项委派任务完成后都要审查
  • 在缺陷层层扩散前将其找出
  • 解决问题后再开始下一项任务

godmode:task-runner:

  • 每批任务完成后都要审查
  • 收集反馈、应用修正,然后继续

临时开发:

  • 合并前审查
  • 遇到阻碍时审查

护栏

禁止:

  • 以“这很简单”为由跳过审查
  • 忽视 Critical 级别的问题
  • 未解决 Important 级别的问题就继续推进
  • 没有证据就否定有效的技术反馈
  • 仍有 Critical 或 Important 级别的问题未解决时合并更改

必须:

  • 委派执行中的每项任务完成后都要审查
  • 每份审查请求都包含 BASE_SHA 和 HEAD_SHA
  • 立即处理 Critical 级别的问题
  • 对有异议的反馈提供代码或测试证据
  • 反馈含糊时请求澄清

流程图

START: Work finished
  |
  +-- Suite green? --NO--> Fix tests first
  |        |
  |       YES
  |        |
  +-- Changes committed? --NO--> Commit changes
  |        |
  |       YES
  |        |
  +-- Determine BASE_SHA and HEAD_SHA
  |        |
  +-- Launch code-reviewer agent (agents/code-reviewer.md)
  |        |
  +-- Wait for results
  |        |
  +-- Critical items? --YES--> Fix now, re-review
  |        |
  |       NO
  |        |
  +-- Important items? --YES--> Fix before advancing
  |        |
  |       NO
  |        |
  +-- Log Minor items for later
  |        |
  +-- ADVANCE to next task

审查者模板见:quality-gate/code-reviewer.md

评论

支持 Markdown