审查技能Skill review

这是一个代码审查和质量检查的技能,能够从多个角度(如安全性、性能、可访问性等)对代码变更进行综合评估,以确保代码的质量和安全性。

测试 0 次安装 0 次浏览 更新于 3/3/2026

审查技能

代码审查和质量检查负责的技能群。

包含的小技能

技能 用途
review-changes 审查变更内容
review-quality 代码质量检查
review-security 安全性审查
review-performance 性能审查
review-accessibility 可访问性检查

路由

根据用户的意图选择合适的小技能:

  • 一般性审查:review-changes/doc.md
  • 重视质量:review-quality/doc.md
  • 重视安全性:review-security/doc.md
  • 重视性能:review-performance/doc.md
  • 重视可访问性:review-accessibility/doc.md

执行步骤

  1. 质量判定门(步骤 0)
  2. 对用户请求进行分类
  3. (当启用Claude-mem时)搜索过去的审查指出
  4. 并行执行的判断(如下参考)
  5. 阅读适当的小技能doc.md或启动并行子代理
  6. 整合结果完成审查

步骤 0:质量判定门(确定审查重点领域)

在审查开始前分析变更内容,确定重点领域:

变更文件分析
    ↓
┌─────────────────────────────────────────┐
│           质量判定门                 │
├─────────────────────────────────────────┤
│  判定项目:                              │
│  ├── 覆盖率不足?(无测试)     │
│  ├── 安全性注意?(auth/api/)    │
│  ├── a11y 注意?(UI 组件)   │
│  └── 性能注意?(DB/循环)  │
└─────────────────────────────────────────┘
          ↓
    确定重点审查领域

覆盖率判定

情况 指出内容
新增文件无测试 「测试不足」
变更文件的测试过时 「请考虑更新测试」
覆盖率 < 60% 「推荐提高覆盖率」

安全性重点审查

路径 额外检查项目
auth/, api/ OWASP Top 10 检查列表
输入处理 消毒、验证
DB 查询 参数化确认

a11y 重点审查

路径 检查项目
src/components/ alt, aria, 键盘操作
src/pages/ 标题结构, 焦点管理

性能重点审查

模式 警告内容
循环内 DB 查询 N+1 查询的可能性
大规模数据处理 考虑分页
useEffect 滥用 渲染优化

重点审查整合输出

📊 质量判定结果 → 重点审查领域

| 判定 | 适用 | 目标文件 |
|------|------|-------------|
| 安全性 | ⚠️ | src/api/auth.ts |
| 覆盖率 | ⚠️ | src/utils/helpers.ts (无测试) |
| a11y | ✅ | - |
| 性能 | ✅ | - |

→ 重点审查安全性和覆盖率

步骤 2:过去的审查指出搜索(增强记忆)

当启用Claude-mem时,在审查开始前搜索过去的类似指出:

# 使用mem-search搜索过去的审查指出
mem-search: type:review "{变更文件的模式}"
mem-search: concepts:security "{与安全性相关的关键词}"
mem-search: concepts:gotcha "{与变更地点相关的关键词}"

显示示例

📚 过去的审查指出(相关)

| 日期 | 指出内容 | 文件 |
|------|---------|---------|
| 2024-01-15 | XSS 漏洞:禁止使用 innerHTML | src/components/*.tsx |
| 2024-01-20 | N+1查询:必须预取 | src/api/*.ts |

💡 在本次审查中重点检查上述模式

:如果未设置Claude-mem,则跳过此步骤。

并行子代理启动(推荐)

两个条件都满足时,使用Task tool并行启动code-reviewer:

  • 审查观点 >= 2(例如:安全性 + 性能)
  • 变更文件 >= 5

启动模式(在单个响应内同时调用多个Task tool):

Task tool 并行调用:
  #1: subagent_type="code-reviewer"
      prompt="从安全性角度审查:{files}"
  #2: subagent_type="code-reviewer"
      prompt="从性能角度审查:{files}"
  #3: subagent_type="code-reviewer"
      prompt="从代码质量角度审查:{files}"

小规模情况(不满足条件):

  • 依次读取子技能(doc.md)并顺序执行

🔧 LSP 功能的活用

在审查中活用LSP(Language Server Protocol)以提高精度。

将LSP集成到审查中

审查观点 LSP活用方法
质量 Diagnostics 自动检测类型错误和未使用变量
安全性 Find-references 追踪敏感数据流动
性能 Go-to-definition 确认重处理的实现

LSP Diagnostics 输出示例

📊 LSP 诊断结果

| 文件 | 错误 | 警告 |
|---------|--------|------|
| src/components/Form.tsx | 0 | 2 |
| src/utils/api.ts | 1 | 0 |

⚠️ 发现1个错误
→ 在审查中添加指出事项

Find-references 影响分析

🔍 变更影响分析

变更:validateInput()

引用地点:
├── src/pages/signup.tsx:34
├── src/pages/settings.tsx:56
└── tests/validate.test.ts:12

→ 已在测试中覆盖 ✅

详情:docs/LSP_INTEGRATION.md


VibeCoder 面向

📝 请求代码检查时的措辞

1. **「检查一下」**
   - 请全面检查是否有问题

2. **「安全吗?」**
   - 检查是否能抵御恶意攻击

3. **「不慢吧?」**
   - 检查速度是否有问题

4. **「谁都能用吗?」**
   - 检查残疾人也能使用

💡 提示:说「全部检查一下」,
4个观点将自动进行检查