关于 pre-merge-gate
pre-merge-gate 是用于合并代码前运行多项检查的项目技能,并生成 PASS/FAIL/SKIP 报告,面向 QA 和负责验证的 Agent。只有必需检查通过后,才可据此确认合并准备情况。
主要功能
- 01运行配置的项目检查
- 02生成 PASS/FAIL/SKIP 报告
- 03检查失败时返回非零退出码
- 04支持跳过可选审计
适用场景
- 01检查合并到 main 或 dev 前的准备情况
- 02验证处理审查反馈后的修复
- 03为 PR 提供 QA 门禁报告
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ heyeddi-com/ heyeddi-skills --skill pre-merge-gate安装后在 Claude Code 中输入/pre-merge-gate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.jsoncontext/ANTI_PATTERNS.mdEXAMPLES.mdPROSE_ANTI_SLOP.mdVOCABULARY.mdreference/subagents.mdscripts/_skill_cli.pypre_merge_gate.py详细介绍
合并前检查门禁
子 Agent(默认)
通过 Task shell 子 Agent 运行检查门禁:pre_merge_gate.py。主聊天负责研判 FAIL 行并重新委派修复任务。参见 reference/subagents.md。
适用场景
- QA 在批准 PR 前需要一份汇总的通过/失败报告
- 合并到
main/dev前 - 处理完评审反馈后:确认所有检查门禁均已通过
强制停止条件
如果任何检查结果为 FAIL,脚本将以状态码 1 退出。Markdown 报告显示 BLOCKED、但退出状态码为 0 时,不要将其视为已满足合并条件——该 bug 已修复。除非进程以状态码 0 退出,否则 Agent 不得合并,也不得声称已满足合并条件。
说明
- 运行
python .agents/skills/pre-merge-gate/scripts/pre_merge_gate.py --project-root <root>。 - 阅读 Markdown 报告:每项检查都会显示 PASS/FAIL/SKIP。
- 修复失败的检查并重新运行,直到退出状态码为 0。
**评测/测试框架回合:**如果评测测试框架会单独捕获 Playwright 证明,请使用 --skip-visual-audit 运行,这样检查门禁便不会调用对比度审计(Agent 回合中没有 Playwright)。
检查项
目录树存在时必须执行
- setup audit(
@heyeddi-setupverify_setup --check:偏好设置未完成则失败) - npm test 和生产构建(
package.json) - 存在
node_modules时运行vue-tsc --noEmit(如果前端存在但缺少工具链,则失败) backendpytest(backend/tests,优先使用backend/.venv)- 对
backend/app运行 ruff F821(未定义名称/遗漏的导入) - engineering audit(
@engineering-excellenceaudit_engineering --check:错误会导致失败;警告仅供参考)
可选(缺少技能/工具时允许 SKIP;FAIL 仍会强制停止)
- 重复 UI 扫描(
no-duplicate-ui) - 文案审计(
heyeddi-designverify_prose.py)——文案始终启用;仅在紧急情况下跳过 - 对产品路由进行对比度审计(
visual-auditor;缺少 Playwright 时为 SKIP)
标志:--skip-duplicate-ui、--skip-prose-audit、--skip-engineering-audit、--skip-setup-audit、--skip-visual-audit。--skip-backend、--skip-engineering-audit 和 --skip-setup-audit 仅限紧急情况使用,不得用于合并签核。
任务完成时:建议接下来运行的技能
当你完成用户对此技能的请求时(而非每次工具调用或子 Agent 阶段结束后),建议接下来运行的技能:
-
运行:
python .agents/skills/heyeddi/scripts/suggest_next_skill.py --current-skill pre-merge-gate --project-root .如果你处理了特定路由,请添加
--route /path。 -
在你的最终回复中包含脚本的
### Next step区块。用户将聊天中的 Prompt 行复制粘贴(例如@heyeddi-design craft /settings)。
如果你知道刚完成的是哪个子命令,请传入 --mode shape(或 craft、audit 等)。
参见 @heyeddi → reference/next-skill-handoff.md。