changan-su/forsion/code-review
Claude Code and agent skill by changan-su/forsion
Trust tier 3
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
当被要求 review 代码、检查 PR/diff 质量,或在写完代码后自查时使用,提供分维度审查清单与反馈规范。
Install
npx vskill@latest install changan-su/forsion/code-reviewSKILL.md
代码审查
审查流程
- 先看全貌再看细节:用 run_bash 跑
git diff(或git diff main...HEAD)拿到完整改动;改动大时先git diff --stat看波及面。 - 理解意图:从 commit message、PR 描述或用户说明确认"这次改动想达成什么",审查是对照意图而不是空对代码。
- 追踪调用方:改了函数签名/行为时,用 search_files 找所有调用点确认没有遗漏更新,例如
search_files("functionName\\(", "src/");再用 glob_files 找同名测试文件确认测试是否同步改了。 - 分维度过清单(见下),逐文件审。
- 按规范输出反馈(见末尾)。
维度一:正确性(最高优先)
- 边界条件:空数组/空字符串/null/undefined/0/负数/超长输入是否处理?循环边界有没有差一(off-by-one)?
- 错误路径:每个可能失败的调用(IO、网络、解析)是否处理失败分支?catch 之后是吞掉、还是正确传播/记日志?
- 状态一致:提前 return 的分支是否跳过了必要的清理/解锁/计数?
- 类型陷阱:隐式类型转换(
==vs===)、字符串数字混算、时区/编码假设。 - 逻辑取反:复杂布尔表达式建议手算一组真值确认;
!(a && b)这类容易写错。
维度二:安全
- 注入:SQL 是否参数化?shell 命令是否拼接了用户输入?路径是否校验防穿越(
../)?HTML 输出是否转义防 XSS? - 密钥:diff 里 grep 一遍
key|secret|token|password,硬编码凭证一律 blocker。 - 认证授权:新接口是否过了鉴权中间件?是否校验了资源归属(横向越权)?
- 反序列化/eval:对不可信输入用
eval、pickle.loads、yaml.load(非 safe)直接标 blocker。
维度三:性能
- N+1:循环里发请求/查库,改为批量。
- 不必要的全量:大文件整读、大表全扫、列表上 O(n²) 嵌套查找(可用 Map/Set 化为 O(n))。
- 资源泄漏:文件句柄、连接、定时器、事件监听是否在所有路径(含异常路径)上释放?Python 用
with,JS 注意clearInterval/removeEventListener。 - 并发:共享可变状态有没有竞态?check-then-act(先查再写)在并发下是否安全?异步函数有没有漏
await?
维度四:可读性与维护性
- 命名是否表达意图;魔法数字是否需要常量化。
- 函数是否单一职责;超过约 50 行或嵌套超 3 层考虑拆分。
- 是否有重复代码可提取;是否引入了与现有代码风格不一致的新模式。
- 注释:解释"为什么"而非"做了什么";过期注释比没注释更糟。
- 测试:新逻辑有没有测试覆盖?测试是否覆盖了边界而不只是 happy path?
常见 bug 模式速查
| 模式 | 典型形态 | |
|---|---|---|
| 差一错误 | < vs <=、slice 端点、分页 offset | |
| 空值穿透 | 可选链后又直接 .xxx、JSON 字段缺失 | |
| 竞态 | 异步并发改同一对象、先 read 后 write 不加锁 | |
| 资源泄漏 | early return 跳过 close、异常路径不释放 | |
| 注入 | 字符串拼 SQL/shell/HTML | |
| 时区/精度 | new Date(str) 隐式时区、浮点比较用 == | |
| 缓存失效缺失 | 写路径没有清对应缓存 key |
反馈输出规范
- 每条问题必须带定位:
文件路径:行号,引用关键代码行。 - 指出问题的同时给出可执行的修法(写出修改后的代码或明确步骤),不只说"这里有问题"。
- 按严重度分级输出:
- [Blocker] 必须修:正确性 bug、安全漏洞、数据丢失风险。
- [Should] 应该修:性能隐患、缺测试、错误处理不当。
- [Nit] 可选:命名、风格、注释。
- 格式示例:
- 没有问题的维度明确说"已检查,未发现问题",让用户知道覆盖面。
- 最后给一句总评:能否合入、需要先修哪几条。
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 repositoryCheckingtangu-agent/skills/code-review/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
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/changan-su/forsion/code-review)