用途:为仓库定型并搭建门禁。前提是已安装 verify 技能(工作流包),因为每个 hook 和工作流都会调用 node .agents/skills/verify/scripts/verify.mjs <stage>;未安装则先安装。模板位于本文件旁的 templates/,需复制进仓库,不可引用技能文件夹内路径(每次同步会被清除)。
第一部分选择 tier:sandbox(演示、试验、休眠仓库,无必需检查)、tool(被其他仓库或他人使用,增加必需检查、/ai-review、依赖安全)、product(已部署并被依赖,增加 PR 端到端冒烟与每晚任务)。tier 嵌套,低 tier 只代表更小的网,不代表更低的代码标准。用给定 node 命令把 tier 写入 .skilly/config.json。
Hooks 保持确定性且快速,只跑 shell 命令;新检查是 .skilly/verify.json 中的步骤而非 hook 行。复制 check-commit-msg.mjs、check-push-branch.mjs、check-branch-name.mjs、block-destructive-git.sh、block-invalid-branch-push.sh、block-unverified-push.sh 到 .claude/hooks/ 并 chmod +x;接入仓库已有的 husky 或 lefthook,都没有则 npm i -D husky && npx husky init。pre-commit 直接调用 lint-staged。
.skilly/verify.json 只保存本仓库的改动,默认步骤随 verify 技能提供,不要复制。需处理包管理器(pnpm/yarn 对应改写)、target 路径差异,以及给 eslint 配置加 ignores: ['.agents/', '.claude/']。可用 node .agents/skills/verify/scripts/verify.mjs push --steps 检查。
工作流按 tier 复制到 .github/workflows/:ci.yml 各 tier;nightly.yml 用于 product;ai-review.yml 用于 tool 与 product,需通过 claude setup-token 与 gh secret set CLAUDE_CODE_OAUTH_TOKEN 设置密钥。GitHub 设置部分给默认分支加 protect-trunk 规则集,tool 与 product 增加必需检查与允许自动合并,并生成 dependabot.yml。Claude Code hooks 合并进 .claude/settings.json,包括破坏性 git 防护、分支名防护、未验证 push 防护与 writing-rules 注入。CLAUDE.md 缺失时按 constitution 模式脚手架,已存在则保留。限制:403 表示仓库不支持规则集,此时主干保护仅本地(pre-push hook);免费私有仓库无法要求检查。合并方式等设置不在本技能,属 /setup-release-please。