用途
该技能用于执行 AI 代码评审,目标是帮助审查暂存改动、指定文件或 Pull Request 中的代码问题。它通过命令行形式 review [target] [--focus] [--depth] 触发,支持代码评审、检查改动、审查 PR、安全审计等场景。
主要能力
审查范围确定
- 无参数:使用 git diff --cached(暂存区改动)。
- --all:使用 git diff HEAD(所有未提交改动)。
- 指定文件路径:审查该文件的 diff。
- --pr N:通过 gh pr diff N 审查指定 PR。
- --base <branch>:与指定分支进行基线比较,例如 /review --base main。
改动分析与项目规范加载
- 使用 delta 做语法高亮 diff,使用 difft 做语义/结构化 diff,工具缺失时回退 git diff。
- 将改动分类为 TEST、DOCS、CONFIG、CODE。
- 读取 AGENTS.md、CLAUDE.md 等 Claude Code 约定。
- 读取 .eslintrc、.prettierrc、pyproject.toml 等 lint 配置。
- 检测测试框架(jest、vitest、mocha、cypress、playwright 等)。
- 检查 CI 配置中已有的 eslint、prettier、pylint、ruff 等 lint 设置。
评审路由
该技能采用 skills-first 分发:领域知识位于各类 -ops 技能中,通用 general-purpose 子代理在评审前预加载相关 SKILL.md。映射示例:
- *.ts → typescript-ops
- *.tsx → react-ops + typescript-ops
- *.vue → vue-ops + typescript-ops
- *.py → python-pytest-ops(如涉及 ORM 则加 sql-ops)
- *.go → go-ops
- *.rs → rust-ops
- .sql、migrations/ → postgres-ops
- agents/.md、skills/、commands/* → claude-code-ops
- .test.、.spec. → 按文件类型使用对应框架技能
- .cy.ts、cypress/ → cypress-ops + typescript-ops
- .spec.ts(Playwright)、playwright/、e2e/* → playwright-ops + typescript-ops
- wrangler.toml、workers/* → cloudflare-ops
- .sh、.bash → bash-ops 所有评审者统一预加载 security-ops(OWASP Top 10 A01-A05、A06-A10)与 testing-ops 上下文。
评审输出
生成结构化评审,包含:
- 摘要表格:文件数、增删行数、问题数(critical / warning)。
- 结论:Ready to commit? Yes / No,并附 1-2 句总体质量说明。
- Critical Issues、Warnings、Suggestions、Praise 分段。
- 每条问题给出 file:line 引用与建议修复 diff。
- Files Reviewed 列表。
严重级别系统:
- CRITICAL:安全漏洞、数据丢失风险、崩溃;合并前必须修复;自动创建任务。
- WARNING:逻辑问题、性能问题;应当处理;不自动创建任务。
- SUGGESTION:风格与次要改进;可选。
- PRAISE:值得肯定的良好模式。
聚焦模式
- --security:OWASP Top 10、代码中的密钥、注入、认证问题。
- --perf:N+1 查询、多余重渲染、复杂度、内存。
- --types:类型安全、any 使用、泛型、空值处理。
- --tests:覆盖率缺口、测试质量、mock 模式。
- --style:命名、组织、死代码、注释。
- 默认:以上全部。
深度模式
- --quick:表层扫描,只报明显问题。
- --normal:标准评审,包含所有严重级别(默认)。
- --thorough:深度分析,追踪数据流并检查边界情况。
高级参数
- --json:以 JSON 输出评审结果,便于 CI/CD 集成,示例中用 jq 检测 critical 问题并决定退出码。
- --fix:自动应用建议修复;对每个可修复问题请求确认,使用 Edit 工具应用已批准修复,并为已解决问题创建 TaskUpdate;非交互模式为 /review --fix --auto-approve。
任务集成
对 CRITICAL 问题自动创建任务(TaskCreate),包括 subject、description、activeForm 字段;相关任务可用 TaskUpdate 设置依赖,例如 addBlockedBy;问题修复后将任务状态标记为 completed。
使用方式
以命令形式调用,例如:
- /review --base main
- /review src/ --base develop --thorough
- /review --json
- /review --fix --auto-approve
CI/CD 中的用法示例:
- name: Code Review\n run: |\n claude "/review --json" > review.json\n if jq -e '.issues[] | select(.severity == "critical")' review.json; then\n exit 1\n fi
外部工具依赖
评审过程可结合以下 CLI 工具,均有回退方案:
- delta:语法高亮 diff,回退 git diff。
- difft:语义/结构化 diff,回退 git diff。
- gh:GitHub PR 操作,回退手动 diff。
- rg:模式搜索,回退 Grep 工具。
- jq:解析 JSON 配置,回退手动读取。
适用场景
适用于本地暂存改动审查、完整未提交改动审查、单文件审查、Pull Request 审查、与基线分支对比审查,以及 CI/CD 中自动拦截严重问题。也可用于安全审计、性能检查、类型检查、测试覆盖检查与风格检查等聚焦审查。
限制
技能资料未说明具体支持的模型、版本要求、并发限制、速度或准确率指标;未提供定价或收费信息;未说明除已列出的语言与框架之外的其他技术栈支持情况。部分功能依赖外部 CLI 工具(delta、difft、gh、rg、jq),在工具缺失时会回退到基础命令,可能影响语义 diff、PR 操作或 JSON 解析体验。--fix 的自动修复需要用户确认,非交互模式需显式使用 --auto-approve。