$npx -y skills add virgo777/buddyme --skill verification-loopClaude Code 会话的全方位验证系统。
| 1 | # 验证循环技能(Verification Loop Skill) |
| 2 | |
| 3 | Claude Code 会话的全方位验证系统。 |
| 4 | |
| 5 | ## 何时使用 |
| 6 | |
| 7 | 在以下场景调用此技能(Skill): |
| 8 | - 完成功能开发或重大代码变更后 |
| 9 | - 在创建拉取请求(PR)之前 |
| 10 | - 当你想确保通过质量门禁时 |
| 11 | - 重构之后 |
| 12 | |
| 13 | ## 验证阶段 |
| 14 | |
| 15 | ### 阶段 1:构建验证 |
| 16 | ```bash |
| 17 | # 检查项目是否构建成功 |
| 18 | npm run build 2>&1 | tail -20 |
| 19 | # 或者 |
| 20 | pnpm build 2>&1 | tail -20 |
| 21 | ``` |
| 22 | |
| 23 | 如果构建失败,请**停止**并修复后方可继续。 |
| 24 | |
| 25 | ### 阶段 2:类型检查 |
| 26 | ```bash |
| 27 | # TypeScript 项目 |
| 28 | npx tsc --noEmit 2>&1 | head -30 |
| 29 | |
| 30 | # Python 项目 |
| 31 | pyright . 2>&1 | head -30 |
| 32 | ``` |
| 33 | |
| 34 | 报告所有类型错误。在继续之前修复关键错误。 |
| 35 | |
| 36 | ### 阶段 3:Lint 检查 |
| 37 | ```bash |
| 38 | # JavaScript/TypeScript |
| 39 | npm run lint 2>&1 | head -30 |
| 40 | |
| 41 | # Python |
| 42 | ruff check . 2>&1 | head -30 |
| 43 | ``` |
| 44 | |
| 45 | ### 阶段 4:测试套件 |
| 46 | ```bash |
| 47 | # 运行带覆盖率的测试 |
| 48 | npm run test -- --coverage 2>&1 | tail -50 |
| 49 | |
| 50 | # 检查覆盖率阈值 |
| 51 | # 目标:最低 80% |
| 52 | ``` |
| 53 | |
| 54 | 报告: |
| 55 | - 测试总数:X |
| 56 | - 通过:X |
| 57 | - 失败:X |
| 58 | - 覆盖率:X% |
| 59 | |
| 60 | ### 阶段 5:安全扫描 |
| 61 | ```bash |
| 62 | # 检查密钥/机密 |
| 63 | grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10 |
| 64 | grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10 |
| 65 | |
| 66 | # 检查 console.log |
| 67 | grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10 |
| 68 | ``` |
| 69 | |
| 70 | ### 阶段 6:变更审查(Diff Review) |
| 71 | ```bash |
| 72 | # 显示变更内容 |
| 73 | git diff --stat |
| 74 | git diff HEAD~1 --name-only |
| 75 | ``` |
| 76 | |
| 77 | 审查每个变更的文件: |
| 78 | - 非预期的变更 |
| 79 | - 缺失的错误处理 |
| 80 | - 潜在的边缘情况 |
| 81 | |
| 82 | ## 输出格式 |
| 83 | |
| 84 | 运行所有阶段后,生成验证报告: |
| 85 | |
| 86 | ``` |
| 87 | 验证报告(VERIFICATION REPORT) |
| 88 | ================== |
| 89 | |
| 90 | 构建 (Build): [通过/失败] |
| 91 | 类型 (Types): [通过/失败] (X 个错误) |
| 92 | Lint: [通过/失败] (X 个警告) |
| 93 | 测试 (Tests): [通过/失败] (X/Y 通过, Z% 覆盖率) |
| 94 | 安全 (Security): [通过/失败] (X 个问题) |
| 95 | 变更 (Diff): [X 个文件已变更] |
| 96 | |
| 97 | 总体评价: [已就绪/未就绪] 提交 PR |
| 98 | |
| 99 | 待修复问题: |
| 100 | 1. ... |
| 101 | 2. ... |
| 102 | ``` |
| 103 | |
| 104 | ## 持续模式 |
| 105 | |
| 106 | 对于较长的会话,每 15 分钟或在重大更改后运行验证: |
| 107 | |
| 108 | ```markdown |
| 109 | 设定心智检查点: |
| 110 | - 完成每个函数后 |
| 111 | - 完成一个组件后 |
| 112 | - 在进入下一个任务前 |
| 113 | |
| 114 | 运行:/verify |
| 115 | ``` |
| 116 | |
| 117 | ## 与钩子(Hooks)集成 |
| 118 | |
| 119 | 此技能是 `PostToolUse` 钩子(Hooks)的补充,但提供更深入的验证。 |
| 120 | 钩子能立即捕捉问题;此技能则提供全方位的审查。 |