用途
quality-gates 面向“由智能体编写大部分代码”的 React Native 项目,把各类检查门禁当作审查者:每次编辑后的钩子、智能体停止前的 check:fast、每次提交和推送时的 lefthook,以及 npm run verify(其中 guardrail 会把每个已解析的工具配置与 quality-gates.json 对比)。该技能用经过测试的模板安装这些门禁,按正确方式修复失败,并用两个检查器证明没有门禁缺失、被削弱或被绕过。
主要能力
- 安装或修复质量门禁:check:fast、verify、lefthook、Claude Code 钩子和 guardrail。
- 从模板复制规范 npm 脚本到根 package.json(合并,保留 start、android、ios、web)。
- 复制 lefthook.yml、quality-gates.json 到仓库根目录。
- 把 assets/claude-settings.json 合并进 .claude/settings.json(保留已有键,加入 deny/ask 规则和两个钩子)。
- 复制 scripts/quality/、scripts/hooks/ 下的守卫、verify 计划与运行器、gated paths、编辑钩子和测试。
- 提供 contracts/knip-ignores.json 及 schema,要求 knip.json 的每个 ignore 条目都有书面理由。
- 在所有者技能尚未写入时,同步提供 knip.json、.gitignore、.npmrc、device-only.ts 等文件。
使用方式(依据资料)
工作流为:先阅读 references/gates-overview.md 了解门禁;再安装或修复(新应用或 check-gate-wiring.mjs 报告文件缺失/变更时);运行 npm run prepare(在应用目录是 git 顶层时执行 lefthook install)和 npx lefthook validate(应输出 All good);用 node scripts/quality/check-quality-gates.ts 和 node ${CLAUDE_SKILL_DIR}/scripts/check-gate-wiring.mjs . 证明接线,再运行 npm run -s check:fast;门禁失败时阅读 references/fixing-failures.md 修复后重跑;门禁本身看起来有误时,停止并向开发者发送 assets/gate-question.md,在获得同意前不做任何改动。
适用场景
适用于新建 React Native 应用安装门禁,或既有应用中门禁、钩子、verify 出现缺失或损坏时的修复;也适用于多包(npm workspaces)项目,此时 typecheck 采用工作区形式,quality-gates.json 在 typescript.projects 下列出各程序,knip 每个包一个 workspaces 条目,根 jest.config.js 以工作区形式写入测试根、覆盖率 glob 和逻辑键。
限制与约束(依据资料)
门禁失败时必须改代码而非改门禁:不得降低阈值、提高上限、扩大豁免 glob、使用 eslint-disable、@ts-ignore、.skip、jest.retryTimes、istanbul 或 Stryker 忽略注释。不得绕过钩子:禁止 --no-verify、git commit -n、LEFTHOOK=0、LEFTHOOK_EXCLUDE、lefthook uninstall、core.hooksPath、lefthook.yml 中的 skip:/only:/exclude_tags:、disableAllHooks、钩子上的 || true。门禁变更必须经开发者同意,并在同一提交中同时修改门禁与 quality-gates.json,附带 Gate-Change: <reason> 尾注。verify 为单一严格流水线,最便宜的先跑,首个失败即停止;不得 stub 目标、加 --passWithNoTests 或删除步骤。必须从仓库根启动智能体,且只合并不替换 .claude/settings.json。依赖需精确锁定、保留 7 天发布年龄、运行前审查安装脚本、仅使用允许的许可证。不可通过通配符让门禁进入已安装的智能体技能目录(skills/、.agents/、.claude/ 等)。SKIP 行和 NOT APPLICABLE 计为通过,exit 2 不算。
完成定义(依据资料)
npm run -s check:fast 为绿;推送前 npm run verify 以 verify: <n> steps passed 结束;guardrail 打印 quality-gates: all resolved configs match quality-gates.json;npx lefthook validate 打印 All good;没有任何门禁在未获开发者同意且无 Gate-Change 尾注的情况下变更;没有钩子被绕过,没有 lefthook-local.yml 或 .claude/settings.local.json 关闭门禁;.claude/settings.json 保留其他键及全部 deny/ask 规则和两个钩子;knip.json 每个 ignore 条目在 contracts/knip-ignores.json 中有理由,且忽略所有含代码的智能体文件夹;node ${CLAUDE_SKILL_DIR}/scripts/check-bypasses.mjs . 打印 RESULT: PASS;check-gate-wiring.mjs 在所有所有者运行后打印 RESULT: PASS 且无 SKIP 行。
未提供的信息
资料未说明该技能的收费、价格、支持的平台范围或具体效果指标,均暂未提供。