caomeiyouren/cmyr-skills-agents/code-reviewer

Claude Code and agent skill by caomeiyouren/cmyr-skills-agents

Trust tier 3
  • community
Source check pending

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-reviewer

SKILL.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、体积预算
RGReview 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(至少一条生效性验证)
修复型 HotfixV0 + 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 记录:

  1. 先提交已通过部分:把已取得 Pass 且修复点已关闭的子范围先提交,让后续轮次的 diff 与复审范围收敛到真正未通过的问题面;同一 hunk 内交织、无法拆分的在记录中说明后跳过,不得强行拆分。
  2. 反复出现的 findings 转为机检约束:同类 finding 在相邻轮次重复出现即视为复发(门槛:连续 ≥ 2 轮)。载体按"可机检优先"选定——能脚本化的落治理脚本并接入校验链,能断言的落单元 / E2E 测试,两者都不成立的才写入规范并列为 Review Gate 必查项。新增守卫须补失败路径测试,并做一次负向验证(构造违规 → 确认失败)。
  3. 缺信息先搜索取证:第 3 轮仍未过且根因不明确时,按搜索优先流程查上游源码 / 官方文档 / issue,禁止凭训练记忆直接改下一版;取证结论(来源 + 版本 + 时间)写入下一轮审计 prompt 的"已查证事实"。
  • 改进动作不改变轮次上限;仍需新轮次时按"审计轮次与范围冻结"处理。
  • 涉及验收标准 / 范围变化时交用户决策,不得由调用方自行放宽。
  • 用户明确要求收束时,以"已验证通过 + 残留项如实登记"提交,并写明未取得新一轮 Pass。

并发分区与单模块拆分

  • 并发触发条件:涉及 ≥ 2 个独立模块,且 diff 规模较大(默认文件数 > 8 或新增行数 > 400)时,调用方按模块划分并并行发起多个审查任务,再汇总结果。
  • 分区维度只有模块;单模块大改动不适用并发。
  • 各分区独立出结论;汇总方合并去重、取最严结论——任一分区存在 blocker,整体即 blocker。并发分区的总时间盒 = 各分区时间盒的最大值(并行执行,不累加)。
  • 各区变更规模之和仍须满足任务粒度约束(默认 10 文件 / 800 行新增);超限先拆分批次,不得用分区规避阈值。小改动不得并发。
  • 单模块大改动:规模超阈值时先按交付面拆成多个原子批次(如 交互核心 / a11y 与本地化 / 主题与响应式 / 文档与示例),每批自带断言与最小验收标准、独立走完 Review Gate,顺序提交,不得同文件并发改。
  • 审查与实现可并行:审查是只读的,因此"批次 N 的审查"可与"批次 N+1 的实现"重叠执行;结论返回后按"审计轮次与范围冻结"处理。

输出格式

markdown
## Review Gate
-结论: Pass | Reject
-改动类型:
-最低验证要求:
-审查轮次:
-audit-depth:(调用方声明 + 本轮实际执行档位)
-时间盒:(调用方宿主时钟事后实测回填)
-失败原因或通过条件:
-复查基线:
## Findings
### blocker
1.[path/to/file.ext] 标题
-复发属性: 首次 | 复发(上轮编号)
-风险
-修复方向(复发类须含约束载体:治理脚本 / 测试 / 规范必查项)
### warning
### suggest
## 验证证据
-已执行验证:
-结果摘要:
-未覆盖边界:
-后续补跑计划:

技能文件专项审查

当改动涉及技能体系时,额外检查:

  • 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

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
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/caomeiyouren/cmyr-skills-agents/code-reviewer/badge)](https://verified-skill.com/skills/caomeiyouren/cmyr-skills-agents/code-reviewer)

Something wrong with this skill or its page? Tell us.