Skip to content
Back to skills

Code Reviewer

ASecurity

当需要审查代码改动找正确性 bug、复用/简化机会与可读性问题、给出可执行修改建议时使用;触发词:代码审查、review、找 bug、重构建议、code review。

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentsbashcode-reviewgit

Works with

  • cursor
  • cli

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add findscripter/everything-skills --skill code-reviewer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Code Reviewer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Code Reviewer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/findscripter-code-reviewer/badge)](https://www.skillsdirectory.com/skills/findscripter-code-reviewer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: code-reviewer
title: 代码审查
description: 当需要审查代码改动找正确性 bug、复用/简化机会与可读性问题、给出可执行修改建议时使用;触发词:代码审查、review、找 bug、重构建议、code review。
domain: 研发/review
tags: [review, code-quality, engineering]
level: 进阶
status: stable
version: 0.1.0
agents: [claude-code, codex, cursor, gemini-cli]
tools: []
requires: []
related: [dependency-auditor]
combines_with: []
license: CC-BY-SA-4.0
---
## 何时使用

- 有明确代码改动(diff、PR、补丁、粘贴的代码片段)需要审查时使用。
- 目标是找:正确性 bug(逻辑、边界、并发、错误处理、空值)、复用/简化机会、可读性问题,并给出可落地的修改建议。
- 触发词:代码审查、review、找 bug、重构建议、code review。

不该用的边界:
- 纯依赖/许可证/CVE 体检 → 用 `dependency-auditor`。
- 没有具体改动、只是问"怎么写"或要从零生成代码 → 不属于审查,直接写代码。
- 跑测试、构建、性能压测、部署验证 → 本技能只做静态审阅,不执行代码。
- 大段无关旧代码:只审查改动及其直接影响面,不重写整个文件。

## 步骤 / 指令

```
1. 取改动范围
   - 优先 git diff(未提交:`git diff`;已提交:`git diff <base>...<head>` 或 `git show <sha>`)。
   - 无 git 时,仅审查用户提供的片段,并读其上下文(被改函数、调用方、相关类型定义)。

2. 建立上下文(仅读必要文件)
   - 读被改函数/方法的完整体,而非只看 diff 行。
   - 读改动涉及的接口/类型、关键调用方,确认契约未被破坏。

3. 按维度逐项扫描(按优先级)
   a. 正确性:逻辑错误、off-by-one、边界/空集合、null/undefined、类型不符、
      错误的运算符/比较、异常未处理或吞掉、资源未释放、并发/竞态、
      用户输入未校验、回退分支缺失、注释与实现不一致。
   b. 复用/简化:重复逻辑可抽取、已有工具函数未用、可删的死代码、
      过度抽象或可内联、复杂条件可化简。
   c. 可读性:命名、魔法值、函数过长/嵌套过深、缺失关键注释(仅 why 类)。

4. 每条发现给出结构化条目:
   - [严重度] 文件:行号 — 问题一句话
   - 原因:为什么是问题(触发条件/后果)
   - 建议:可直接采用的修改(给出替换代码或精确改法)

5. 严重度分级
   - Blocker:会导致错误结果/崩溃/数据损坏/安全问题,必须改。
   - Major:边界/隐患/明显坏味道,建议改。
   - Minor:可读性/风格,可选。

6. 汇总输出
   - 先列 Blocker 与 Major,再列 Minor。
   - 无问题则明确说"未发现正确性问题",不要编造。
   - 不确定的发现标注"待确认"并说明假设,不冒充事实。
```

规则:
- 单一职责:只审查,不顺手提交、不擅自改文件(除非用户要求 `--fix` 类操作)。
- 每条发现必须可定位(文件:行号)且可执行(带具体改法)。
- 优先 Blocker/Major;Minor 适度,避免噪声淹没要点。
- 不评论用户未改动的代码,除非改动直接破坏了它。

## 示例

最小审查提示词:
```
审查以下 diff,按 正确性 / 复用简化 / 可读性 三类输出。
每条:[严重度] 文件:行号 — 问题;原因;可执行建议(给替换代码)。
先 Blocker/Major 后 Minor;无正确性问题请明说,勿编造。
<贴入 git diff 内容>
```

取改动:
```bash
git diff                      # 未提交改动
git diff main...HEAD          # 分支相对 main 的改动
git show <sha>                # 某次提交
```

输出条目样例:
```
[Blocker] src/auth.py:42 — `if token == None` 用 == 比较 None
原因:自定义对象可能重载 __eq__,导致误判;空 token 会绕过校验。
建议:改为 `if token is None:`

[Major] src/list.js:88 — 循环内重复调用 fetchUser(id),N+1 请求
原因:每次迭代发一次网络请求,列表大时显著变慢。
建议:循环前批量 `fetchUsers(ids)`,再用 Map 取值。

[Minor] src/list.js:12 — 变量 `d` 含义不明
建议:重命名为 `deadline`。
```

## 注意事项

- 不执行/不测试代码:只做静态推理;需要跑起来验证行为时,交给执行类技能或提示用户。
- 不臆造行号与文件名;定位以实际 diff/文件为准。
- 区分"确定 bug"与"风格偏好",别把主观风格标成 Blocker。
- 安全相关(注入、鉴权、密钥硬编码、反序列化)一律按 Blocker 处理并显式指出。
- 改动很大时分批审,先核心逻辑文件,避免一次性产出过长且失焦。
- 给建议要可直接采用:提供替换代码或精确改法,不要只说"建议优化"。

## 互见

- requires:无。
- related:`dependency-auditor`(依赖/许可证/已知漏洞专项体检;本技能聚焦改动代码本身的正确性与质量,依赖层面的风险转交它)。
- combines_with:无。

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…