caomeiyouren/cmyr-skills-agents/code-reviewer
Claude Code and agent skill by caomeiyouren/cmyr-skills-agents
- community
Checking that the SKILL.md file is still in the repository.
审查当前 git 变更、PR、提交范围、技能定义文件、架构调整或安全敏感代码时使用。输出结构化 Review Gate 结论(Pass/Reject)、问题分级(blocker/warning/suggest)、最低验证矩阵、证据链与复查基线。覆盖正确性、安全、架构、SOLID、可删除代码、性能、异常处理与测试风险;默认只输出 review,不直接修改代码。用户提到 review、code review、PR 审查、deep review、review gate、merge ready、blocker、evidence、pass、reject、SOLID、架构审查时都应触发。
Install
npx vskill@latest install caomeiyouren/cmyr-skills-agents/code-reviewerSKILL.md
Code Reviewer
铁律:先给 Review Gate 结论、阻塞原因和复查基线,再给摘要。不要因为测试通过、代码能跑或改动量小,就跳过正确性、安全和架构审查。没有最低验证证据,不得给 Pass。
项目覆盖:若存在.ai/overrides/skills/code-reviewer.md,先加载并按其规则执行;冲突时以覆盖文件为准(优先级:会话 > 项目覆盖 > 核心默认)。
核心概念
Pass/Reject是 Gate 结论;blocker/warning/suggest是问题分级,二者不能混用。- 文档、规划、配置、脚本与测试代码同样属于正式审查对象,不能因为"不是业务代码"而跳过。
工作流
- [ ] Step 1: 建立审查上下文 ⚠️ REQUIRED
- [ ] 1.1 读取 git 状态、diff 范围和受影响文件。
- [ ] 1.2 确认入口、关键路径和高风险区域,如鉴权、数据写入、外部调用、配置变更。
- [ ] 1.3 如果没有 diff,明确告诉用户并询问是否改看 staged changes 或指定范围。
- [ ] 1.4 diff 规模核验:统计变更文件数与新增行数(
git diff --stat)。超过阈值(默认 10 文件或 800 行新增,项目可调整)时,要求调用方说明批次拆分依据;未拆分且无正当理由 →Reject。 - [ ] Step 2: 判定改动类型与最低验证要求 ⚠️ REQUIRED
- [ ] 2.1 先确定变更类型,再映射到验证分级矩阵(见下方"验证分级矩阵")。
- [ ] 2.2 代码改动默认至少包含 lint 和 typecheck;文档改动补链接和路径检查。
- [ ] 2.3 测试按风险选择定向/全量/coverage/E2E,不一刀切。
- [ ] 2.4 若实际证据低于最低层级,直接判定为
Reject,而不是"暂时通过"。 - [ ] Step 2.5: 按 audit-depth 分配审查深度 ⚠️ REQUIRED(控制用时)
- [ ] 2.5.1 审查投入与改动风险匹配,按下方"分级审计协议"选择
quick/standard/deep;调用方未声明时按deep防御执行。 - [ ] 2.5.2 证据优先采信:调用方提供的已查证事实(实验证据、测试结果、源码行号引用)直接采用,翻源码仅限需要最终实锤且无外部参考的场景。
- [ ] 2.5.3 收敛策略(不依赖时间感知):审查输出固定为"audit-depth 审查范围内可交付的结论 + 未覆盖边界",宁可给
Reject(附待补证据清单)也不无限深挖。 - [ ] 2.5.4 复审只审修复点:第 2+ 轮只复查上轮问题编号对应的修复点 diff 与受影响断言,不得重读全量 diff。
- [ ] 2.5.5 轮次与范围冻结:遵守下方"审计轮次与范围冻结",第 3 轮未过走"3 轮未过的改进协议",不原样续审。
- [ ] 2.5.6 并发分区:符合下方"并发分区与单模块拆分"触发条件时才并发,小改动不得并发。
- [ ] 2.5.7 用时反馈由调用方事后实测:审计方不自报时长、不检查时间。
- [ ] Step 3: 加载约束与相关资料 ⚠️ REQUIRED
- [ ] 3.1 优先读取与改动直接相关的根目录文档、配置文件和模块实现,而不是假设存在 docs/。
- [ ] 3.2 如果改动涉及 skills//SKILL.md、agents/.agent.md 或 AGENTS.md,额外加载 skill-creator,按技能设计规范审查触发面、工作流和资源布局。
- [ ] Step 4: 收集并延续审查证据
- [ ] 4.1 默认把临时审查记录写入
artifacts/review-gate/(纳入.gitignore),文件名<date>-<scope>.md。 - [ ] 4.2 按 evidence-template.md 预填与延续:首轮创建,多轮 review 复用同一份记录,按"第 1 轮"、"第 2 轮"追加,保留未关闭问题编号(RG-B/W/S 系列)与复查结论。
- [ ] Step 5: 进行结构化审查
- [ ] 5.1 使用本目录 references/solid-checklist.md 检查职责边界、扩展点和耦合度。
- [ ] 5.2 使用本目录 references/security-checklist.md 检查鉴权、注入、密钥泄露、日志和资源滥用风险。
- [ ] 5.3 使用本目录 references/code-quality-checklist.md 检查错误处理、边界条件、性能与可维护性。
- [ ] 5.4 使用本目录 references/removal-plan.md 判断冗余代码是可立即删除,还是需要后续迭代计划。
- [ ] 5.5 当用户要求 deep review、SOLID review 或 senior review 时,必须同时覆盖性能热点、异常处理、边界条件和删除计划,而不是只做浅层意见汇总。
- [ ] 5.6 必查项(所有深度均适用):规范单点声明(审查治理定义时检查是否重复抄写权威文档完整条款,应一行链接引用);供应链信任边界(新依赖/MCP/外部 skill 引入时检查来源验证与版本钉定);流程编号标记(新增注释与测试名不得含规划/任务/审计编号如
T405、P1-1,例外仅真实常量与带文档路径的导航指针)。 - [ ] 5.7 优先寻找会阻塞放行的问题,而不是按文件顺序复述 diff。
- [ ] Step 6: 判定严重级别 ⚠️ REQUIRED
- [ ] 6.1 blocker:明显 correctness bug、安全漏洞、关键验证缺失、与规范冲突、会阻塞提交。
- [ ] 6.2 warning:较高回归风险、测试覆盖不足、结构边界模糊或证据不完整。
- [ ] 6.3 suggest:非阻塞的可维护性、可读性、删除计划或后续优化建议。
- [ ] 6.4 兼容映射:blocker ≈ P0/P1、warning ≈ P2、suggest ≈ P3。
- [ ] 6.5 复发属性:每条 finding 标注"首次"或"复发(上轮编号)";复发判定门槛见"3 轮未过的改进协议",复发类 finding 的修复方向必须含约束载体(治理脚本 / 测试 / 规范必查项),不得只给当轮改法。
- [ ] 6.6 过程缺失 vs 实际缺陷:二者是独立维度——例如依赖审计门禁未接入 CI ≠ 依赖本身存在漏洞。后者才是 blocker;前者登记 backlog,不阻塞当前变更。
- [ ] Step 7: 输出审查结果 ⚠️ REQUIRED
- [ ] 7.1 只有所有 blocker 关闭且验证分级矩阵满足时,才允许给
Pass。 - [ ] 7.2
Reject必须明确写出失败原因、缺失证据、待修问题和复查基线。 - [ ] 7.3 对多轮 review,必须说明"本轮新增问题""本轮已关闭问题""仍待复查问题"。
- [ ] 7.4 如果无问题,也要说明检查范围与残余风险。
- [ ] Step 8: 确认后续动作
- [ ] 8.1 默认停在 review,不直接改代码。
- [ ] 8.2 只有用户明确要求修复时,才进入实现阶段。
验证分级矩阵
任何变更都必须按"验证层级 + Review Gate"判断是否可以放行。验证矩阵决定最低证据门槛(缺失即 Reject),与 audit-depth(决定核验投入)正交。本矩阵是唯一权威定义;full-stack-master 的 standards-reference 及 agent 定义只链接引用,不重复抄写。
| 层级 | 名称 | 目标 | 典型证据 | |
|---|---|---|---|---|
| V0 | 记录层 | 明确变更范围、风险与受影响入口 | 变更文件清单、风险说明、回归范围 | |
| V1 | 静态层 | 确认代码、脚本、配置或文档在静态检查层面可用 | lint、typecheck、文档检查、脚本自检 | |
| V2 | 逻辑 / 运行层 | 确认逻辑、接口契约、脚本入口或异常分支无明显回归 | 定向测试、集成测试、脚本实际运行验证 | |
| V3 | 流程层 | 确认跨模块流程、UI 渲染与关键交互符合预期 | 浏览器验证、E2E、截图 / 录屏 | |
| V4 | 性能层 | 确认性能 / 体积预算未回退 | 性能测试、benchmark、体积预算 | |
| RG | Review Gate | 给出最终审计结论与剩余风险 | 本技能的 Pass / Reject 结论、未覆盖边界 |
不同改动类型的最低验证要求:
| 改动类型 | 最低验证 | |
|---|---|---|
| 文档 / 规划 | V0 + V1 + RG | |
| 纯逻辑 / 工具函数 / 服务层 | V0 + V1 + V2 + RG | |
| API / 鉴权 / 数据模型 | V0 + V1 + V2 + RG(关键写路径升级到 V3) | |
| UI 组件 / 页面交互 | V0 + V1 + V2 + V3 + RG(核心首屏 / 体积预算再升级 V4) | |
| 配置 / 依赖 / CI / 技能与 agent 定义 | V0 + V1 + V2 + RG(至少一条生效性验证) | |
| 修复型 Hotfix | V0 + V1 + 与故障层级对应的 V2 / V3 / V4 + RG(必须补复现 + 修复后结果) | |
| 性能 / 体积治理 | V0 + V1 + V4 + RG(影响用户链路时补 V3) |
本矩阵为通用默认值,项目可在 AGENTS.md 中按自身需要调整。同时触发多个改动类型时按最高层级执行,不允许向下取低。没有 RG 结论的变更只能视为"进行中",不能视为已完成。
Review Gate 结论口径
| 结论 | 是否放行 | 适用条件 | |
|---|---|---|---|
Pass | 是 | 所有 blocker 已关闭且验证分级矩阵满足;允许附带已登记的非阻塞 warning / suggest,但必须同步记录残余风险与后续计划。 | |
Reject | 否 | 存在 blocker、关键证据缺失,或当前变更不满足最低验证要求。 |
warning/suggest/blocker是问题分级,不是最终 Gate 结论;最终结论只能是Pass或Reject。- 只要仍有未关闭的 blocker,任务状态必须保持为"进行中 / 退回",不得标记完成。
- 没有
Pass结论的变更只能视为"进行中",不能视为已完成。
分级审计协议(audit-depth)
审查投入与改动风险匹配,不应对所有改动一视同仁长时间分析:
| audit-depth | 适用改动 | 审查范围 | 时间盒 | |
|---|---|---|---|---|
quick | 文档措辞、简单配置、重命名、测试补强 | 只核验证声明(lint/typecheck/定向测试结果)+ diff 概要一致性 + 明显错误;禁止跑实验、定向测试或翻全量源码 | ≤ 5 分钟 | |
standard | 常规业务逻辑、模块内改动、dev 工具链配置 | 正确性 + 边界 + 测试覆盖;定向抽查 ≤ 3 个关键文件;配置类允许 1 条最小生效性验证命令 | ≤ 10 分钟 | |
deep | 发布流程、安全/鉴权、外部调用、数据写入、运行时/发布配置与依赖版本变更、agent/skill 定义、本协议自身的档位/时间盒定义变更 | 全量 checklist + 针对性实证(临时仓库/本地实验/验证命令按需执行) | ≤ 20 分钟 |
- 调用方发起审计时必须显式声明
audit-depth(quick / standard / deep + 理由)、变更文件清单、已验证证据摘要与复审问题编号;未声明按deep防御执行。 - 配置类改动至少 `standard`:lint / 构建 / CI / glob / ignore 规则、依赖清单等改动,其正确性取决于生效性(匹配是否命中、覆盖是否完整),而工具退出码无法区分静默失效;
quick禁止额外验证命令,standard及以上允许 1 条最小生效性验证命令(如实际 glob 命中数、git check-ignore结果)。 - 含定量复算 / 跨仓取证的判定表类交付至少 `standard`:核验面是数值与外部事实,不属于
quick的"文档措辞 / 重命名",不得降为quick。 - 档位取严:改动同时命中多个"适用改动"条目时取更高档位。
- 协议本体变更按语义定档:修改会改变档位判定或时间盒数值的定义时按
deep;纯措辞 / 排版 / 链接修订仍按quick;降档须论证不改变任何判定结果。 - 调用方应把已查证事实写入审计 prompt,避免审计者从头翻源码。
- 时间盒由调用方用宿主系统时钟事后实测回填,审计方不自报时长、不检查时间;实测超时仅作分级校准信号,不回溯要求补动作。
审计轮次与范围冻结
防止无限审查循环:
- 单条目审计默认预算 3 轮:首轮 + 2 次复审(复审只审修复点)。
- 第 2 轮仍 `Reject` 时,审计方只输出 blocker 清单;warning / suggest 一律转为 follow-up(登记 backlog 或条目说明),不再阻断该轮。
- 第 3 轮仍未 `Pass` 时不得原样续审:先执行"3 轮未过的改进协议",再决定是否进入下一轮;第 4 轮及以后须调用方显式声明"新增预算 + 理由",或直接上报用户决策。
- 复审范围冻结:只审上轮 findings 的修复点与其直接受影响的断言 / 产物。以下属新范围,一律记 follow-up、不阻断本轮:同类"顺带扫全库 / 全组件"的一致性排查、衍生重构与命名分层建议、与本条目无关的历史遗留问题。
- 每轮超时即结束该轮并输出已有结论,未覆盖项列入"未覆盖边界",不得以"继续深挖"为由延长。
- 调用方发起审计时应写明"本轮为第 N 轮""本轮范围""时间盒";未声明轮次时按第 1 轮处理。
3 轮未过的改进协议
同一原子条目 / 批次第 3 轮仍未取得 Pass 时(含该轮 Reject,或按上节收束仍有未关闭 blocker),调用方不得原样续开下一轮,必须先按顺序执行下列动作,并把动作与结论写入该条目的 Review 记录:
- 先提交已通过部分:把已取得
Pass且修复点已关闭的子范围先提交,让后续轮次的 diff 与复审范围收敛到真正未通过的问题面;同一 hunk 内交织、无法拆分的在记录中说明后跳过,不得强行拆分。 - 反复出现的 findings 转为机检约束:同类 finding 在相邻轮次重复出现即视为复发(门槛:连续 ≥ 2 轮)。载体按"可机检优先"选定——能脚本化的落治理脚本并接入校验链,能断言的落单元 / E2E 测试,两者都不成立的才写入规范并列为 Review Gate 必查项。新增守卫须补失败路径测试,并做一次负向验证(构造违规 → 确认失败)。
- 缺信息先搜索取证:第 3 轮仍未过且根因不明确时,按搜索优先流程查上游源码 / 官方文档 / issue,禁止凭训练记忆直接改下一版;取证结论(来源 + 版本 + 时间)写入下一轮审计 prompt 的"已查证事实"。
- 改进动作不改变轮次上限;仍需新轮次时按"审计轮次与范围冻结"处理。
- 涉及验收标准 / 范围变化时交用户决策,不得由调用方自行放宽。
- 用户明确要求收束时,以"已验证通过 + 残留项如实登记"提交,并写明未取得新一轮
Pass。
并发分区与单模块拆分
- 并发触发条件:涉及 ≥ 2 个独立模块,且 diff 规模较大(默认文件数 > 8 或新增行数 > 400)时,调用方按模块划分并并行发起多个审查任务,再汇总结果。
- 分区维度只有模块;单模块大改动不适用并发。
- 各分区独立出结论;汇总方合并去重、取最严结论——任一分区存在 blocker,整体即 blocker。并发分区的总时间盒 = 各分区时间盒的最大值(并行执行,不累加)。
- 各区变更规模之和仍须满足任务粒度约束(默认 10 文件 / 800 行新增);超限先拆分批次,不得用分区规避阈值。小改动不得并发。
- 单模块大改动:规模超阈值时先按交付面拆成多个原子批次(如 交互核心 / a11y 与本地化 / 主题与响应式 / 文档与示例),每批自带断言与最小验收标准、独立走完 Review Gate,顺序提交,不得同文件并发改。
- 审查与实现可并行:审查是只读的,因此"批次 N 的审查"可与"批次 N+1 的实现"重叠执行;结论返回后按"审计轮次与范围冻结"处理。
输出格式
技能文件专项审查
当改动涉及技能体系时,额外检查:
- description 是否真的能触发技能,而不是抽象介绍。
- 正文是否具备铁律、工作流、确认门、反模式和交付前检查。
- references/、scripts/、assets/ 是否职责清晰,是否存在跨目录重复定义。
- 是否保留了兼容别名,以及 canonical skill 是否唯一明确。
- 如果技能刚经历模板化重构,是否通过 git diff 或提交历史保留了旧版中的项目特化规则。
- skill / agent 改动是否保持唯一事实源,无重复抄写权威文档完整条款。
- 技能引用路径:项目内已有同名技能时,agent / skill 必须用相对路径链接到项目内定义,禁止裸名引用(裸名会解析到全局同名技能)。
深度审查模式
当用户要求 deep review、code review expert 或 senior review 时:
- 使用 references/solid-checklist.md 审查职责边界、扩展性与耦合。
- 使用 references/security-checklist.md 审查鉴权、注入、密钥、SSRF、路径问题和竞态。
- 使用 references/code-quality-checklist.md 审查 swallowed exceptions、async error、N+1、缓存和边界条件。
- 使用 references/removal-plan.md 判断死代码是立即可删还是需要迁移计划。
- 解释为什么这是结构性风险,而不是只给表面建议。
确认门
- 没有用户确认时,不直接实现审查意见。
- 审查范围过大时,先和用户确认是全量 review 还是重点 review。
反模式
- 只给笼统评价,如"看起来不错""代码质量还行"。
- 按文件顺序复述 diff,而不是提炼真正的问题。
- 用"可能"掩盖已经足够明确的风险。
- 审查技能文件时,继续沿用旧模板标准而忽略 skill-creator。
- 只写"已审查通过"而不说明依据。
- 只跑 lint / typecheck 就给所有改动
Pass。 - 把问题分级当成最终 Gate 结论,或把 warning 写成"已通过"。
- 审查文档、脚本、配置、技能文件时不补充对应的最小验证。
- 没有复查基线,导致多轮 review 无法对账。
- 超限 diff 未核对拆分依据就放行。
- 复审重读全量 diff,或把本轮新范围(顺带扫全库、衍生重构)当 blocker 阻断本轮。
- 超过轮次预算仍不进入改进协议,无限续审。
- 复发类问题只给当轮改法,不给出防复发载体(治理脚本 / 测试 / 规范必查项)。
- 配置类改动按
quick放行,或用分区 / 拆分规避任务粒度阈值。
交付前检查
- [ ] Review Gate 结论(Pass/Reject)与问题分级(blocker/warning/suggest)分离清晰。
- [ ] 验证分级矩阵已核对,证据缺失已导致 Reject 而非"暂时通过"。
- [ ] audit-depth 已声明,审查范围与深度匹配;配置类改动未按
quick放行。 - [ ] 轮次未超预算,复审范围已冻结,新范围已转 follow-up。
- [ ] 每条 finding 已标注首次 / 复发属性;复发类已给出约束载体(治理脚本 / 测试 / 规范必查项)。
- [ ] 多轮 review 已按问题编号给出"本轮新增/已关闭/仍待复查"。
- [ ] Pass 附带的 warning / suggest 已登记残余风险与后续计划。
- [ ] 证据记录已写入 artifacts/review-gate/(如适用)。
- [ ] Findings 排在总结前面。
- [ ] 每个阻塞问题都说明了风险和修复方向。
- [ ] 已覆盖正确性、安全、架构、性能和测试风险。
- [ ] 如果审查了技能文件,已按 skill-creator 规范补充设计审查。
- [ ] 未经用户确认,不包含自动实施修改。
维护者参考
重构、合并、降级或删除本技能前,先读 references/rationale.md:存在理由、关键假设、失效判据与项目覆盖锚点。执行审查时不需要加载它。
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/code-reviewer/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 17 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/caomeiyouren/cmyr-skills-agents/code-reviewer)