Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计通过

chinese-code-review中文代码审查

Agent Skill

chinese-code-review 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,113

周安装

131

GitHub Stars

1,807

下载量

1,090
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:chinese-code-review(中文代码审查)
来源仓库:https://github.com/jnmetacode/superpowers-zh
仓库路径:skills/chinese-code-review
安装命令:
npx skills add https://github.com/jnmetacode/superpowers-zh --skill chinese-code-review
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/jnmetacode/superpowers-zh --skill chinese-code-review

简介

chinese-code-review 提供符合国内团队习惯的代码审查反馈。

  • 用建议代替命令,用提问代替否定。
  • 分级标注优先级,保护协作氛围。
  • 需确认是否允许代表他人给出评审意见。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

中文代码审查规范

概述

国内团队做 Code Review 常遇到两个极端:要么过度客气导致关键问题被放过,要么照搬西方直白风格让同事下不来台。本技能帮你找到平衡点——既不回避问题,又让人愿意接受反馈

核心原则: 用"建议"代替"命令",用"提问"代替"否定",但绝不因为面子而放过 bug。

审查反馈的表达方式

用建议代替命令

避免(命令式)推荐(建议式)
你必须改成 X建议考虑用 X,因为 Y
这里写错了这里可能存在一个问题,是否考虑过 Z 的情况?
不要用这个方法这个方法在 A 场景下可能有性能问题,可以看看 B 方案
这段代码不行这段逻辑我理解得对吗?如果输入为空的话会怎样?

用提问代替否定

当你不确定对方意图时,先问再评:

# 好的方式
这里用 sync 方式读文件是出于什么考虑?如果并发量上来,可能会阻塞事件循环。

# 不好的方式
这里不应该用 sync 方式读文件。

分级标注

统一使用优先级标记,让作者快速判断轻重缓急:

  • [必须修复] — 安全漏洞、数据丢失风险、逻辑错误(不修不能合)
  • [建议修改] — 性能问题、可维护性、缺少校验(本次或下次迭代修复)
  • [仅供参考] — 命名优化、风格建议、替代方案(不改也行)
  • [问题] — 不确定的地方,需要作者解释意图

审查评论模板

[必须修复] SQL 注入风险

第 42 行:用户输入直接拼接到 SQL 语句中。

原因:攻击者可以通过 name 参数注入 `'; DROP TABLE users; --`。

建议:使用参数化查询:
  db.query('SELECT * FROM users WHERE name = $1', [name])

参考:https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

中英混排代码注释规范

何时用中文

  • 业务逻辑说明 — 用中文解释业务背景和需求来源
  • 复杂算法注释 — 用中文写思路,确保团队成员都能理解
  • TODO / FIXME — 用中文描述待办事项,方便搜索和追踪
  • 文档注释(内部项目) — JSDoc / Javadoc 中的描述文字用中文
/**
 * 计算用户的会员等级折扣
 *
 * 业务规则:
 * - 普通会员 9.5 折
 * - 银卡会员 9 折
 * - 金卡会员 8.5 折
 * - 钻石会员 8 折
 *
 * @param level - 会员等级(MemberLevel enum)
 * @param amount - 原始金额(单位:分)
 * @returns 折后金额(单位:分)
 */
function calculateDiscount(level: MemberLevel, amount: number): number {
  // ...
}

何时用英文

  • 变量名、函数名、类名 — 始终用英文命名,遵循团队命名规范
  • Git commit message — 参考下方 commit 规范
  • 开源项目注释 — 面向国际社区的项目,注释统一用英文
  • 错误信息和日志 — 生产环境的 error message 用英文(避免编码问题)
  • API 接口文档 — 对外暴露的 API 用英文

混排格式要求

// 好:中英文之间加空格
// 使用 Redis 缓存来减少 MySQL 的查询压力

// 坏:中英文之间没有空格
// 使用Redis缓存来减少MySQL的查询压力

// 好:技术术语保留英文
// 这里用 debounce 防抖处理,避免频繁触发 API 请求

// 坏:强行翻译技术术语
// 这里用防抖动处理,避免频繁触发应用程序接口请求

Commit Message 中英双语格式

推荐格式

团队内部项目使用中文 commit message,采用约定式提交(Conventional Commits)的中文版:

<类型>(<范围>): <简要描述>

<详细说明(可选)>

<关联信息(可选)>

类型对照表

类型含义示例
feat新功能feat(用户): 新增手机号登录功能
fix修复 Bugfix(支付): 修复微信支付回调重复处理的问题
docs文档变更docs: 更新 API 接口文档
style代码格式style: 统一缩进为 2 个空格
refactor重构refactor(订单): 拆分订单服务,提取公共逻辑
perf性能优化perf(列表): 虚拟滚动优化长列表渲染性能
test测试test(auth): 补充登录模块单元测试
chore构建/工具chore: 升级 Node.js 至 v20

示例

fix(支付): 修复支付宝异步回调签名校验失败的问题

原因:升级 SDK 后签名算法从 RSA 变为 RSA2,但回调校验仍使用旧算法。
方案:回调处理中同时兼容 RSA 和 RSA2 签名校验。

Closes #1234

面向国际社区的项目

如果项目面向国际社区或有外籍成员,commit message 用英文,PR 描述中可附加中文说明:

fix(payment): fix Alipay async callback signature verification failure

The SDK upgrade changed the signature algorithm from RSA to RSA2,
but the callback handler still used the old algorithm.

Closes #1234

常见反模式与对策

反模式一:过度客气

表现: 所有评论都是"我觉得可能也许大概好像这里有个小问题"。

后果: 关键 bug 被隐藏在一堆委婉语里,作者根本不知道哪些必须改。

对策: 使用分级标注。[必须修复] 就是必须修复,语气可以温和,但级别必须准确。

# 坏:过度客气
不知道我理解得对不对,这里好像可能有一点点并发问题,不过也许我看错了...

# 好:温和但清晰
[必须修复] 并发安全问题

这里的 map 在多个 goroutine 中同时读写,会触发 panic。
建议加 sync.RWMutex,或者换成 sync.Map。

复现方式:加 -race flag 跑测试就能看到。

反模式二:不敢给高级开发者提意见

表现: 高级开发者或 Leader 的代码直接 Approve,不仔细看。

后果: 代码质量双标,团队对 Code Review 失去信任。

对策: Code Review 对事不对人。可以换个表达方式:

# 提问式(适合给资深同事的反馈)
想请教一下,这里选择用递归而不是迭代,是出于什么考虑?
我在想如果递归深度超过 1000 层会不会有栈溢出的风险?

# 学习式
学到了一个新写法!不过有个小疑问——这里的类型断言在运行时不会做检查,
如果上游数据结构变了,这里会静默通过。是否考虑加个 runtime validation?

反模式三:审查变成风格之争

表现: 大量评论纠结于缩进、空格、花括号位置。

后果: 浪费时间,忽略真正的问题。

对策: 风格问题交给 ESLint / Prettier / gofmt 等工具自动处理。Code Review 聚焦逻辑、安全、性能。

反模式四:只写"LGTM"

表现: 随手一个 LGTM 就 Approve,没有实质性审查。

后果: Code Review 形同虚设,出了问题没人兜底。

对策: 即使代码质量很好,也要写出你关注了哪些方面:

LGTM

审查了以下方面:
- 并发安全:锁的粒度合理
- 错误处理:所有外部调用都有 error handling
- 向下兼容:新增字段都有默认值,不影响老版本

一个小建议 [仅供参考]:第 78 行的变量名 `d` 可以改成 `duration`,更易读。

审查流程建议

开始审查前

  1. 先看 PR 描述,理解改动的背景和目的
  2. 看关联的 Issue 或需求文档
  3. 先整体浏览,再逐文件细看

审查顺序

  1. 架构层面 — 方案是否合理?有没有更好的方式?
  2. 正确性 — 逻辑对不对?边界条件处理了吗?
  3. 安全性 — 有没有注入、越权、信息泄露?
  4. 性能 — 有没有 N+1 查询、内存泄漏、不必要的循环?
  5. 可维护性 — 半年后能看懂吗?测试覆盖了吗?
  6. 风格 — 只关注工具无法自动处理的部分

给出总结

审查结束后,给一段总结,包括:

  • 整体评价(一句话)
  • 值得学习的地方(先扬后抑)
  • 主要问题列表(按优先级)
  • 建议的修改方向
总结:整体实现思路清晰,支付回调的幂等处理很到位。

主要问题:
1. [必须修复] 并发写 map 的问题(2 处)
2. [建议修改] 缺少对空值的校验(3 处)
3. [仅供参考] 几个变量命名可以更语义化

建议先修复并发问题,校验的部分可以本次一起改或者拆到下个迭代。

检查清单

在提交审查意见前,确认:

  • 每条评论都标注了优先级
  • [必须修复] 的问题都给出了具体的修复建议
  • 没有因为面子而跳过关键问题
  • 没有纠结于工具能自动处理的风格问题
  • 对好的代码给予了肯定
  • 给出了整体总结

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.69%
按下载量换算378

Claude

28.42%
按下载量换算310

Cursor

18.48%
按下载量换算201

Gemini CLI

8.42%
按下载量换算92

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills