关于 generic-code-reviewer
适用于不同技术栈的通用代码审查技能,帮助开发者按生产质量标准检查变更。它依据项目配置识别技术栈,并按 P0、P1、P2 优先级整理安全、正确性、性能、无障碍和代码质量问题。
主要功能
- 01按项目检测技术栈
- 02检查项目 CLAUDE.md 规则
- 03P0、P1、P2 问题分级
- 04安全与正确性检查
- 05性能、无障碍和代码质量检查
适用场景
- 01合并前审查代码变更
- 02检查安全与边界情况
- 03按严重程度整理待处理问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ travisjneuman/ .claude --skill generic-code-reviewer安装后在 Claude Code 中输入/generic-code-reviewer确认已加载。
详细介绍
通用代码审查员
根据生产质量标准审查代码。适用于任何项目的技术栈。
**完整标准:**参阅代码审查标准
CLAUDE.md 合规性
务必检查项目的 CLAUDE.md,了解具体规则。
任何提交之前:
- 任务文件存在于
tasks/[feature-name].md - 已根据请求、调用方和边缘情况审查差异
- 没有控制台错误或警告
- 包大小在限制范围内
技术栈检测
| 检测 | 技术栈 | 关键检查 |
|---|---|---|
| package.json 中有 React | React/TS | 组件、hooks、状态 |
| package.json 中有 Next.js | Next.js | SSR、API 路由 |
| package.json 中有 NestJS | NestJS | 守卫、DTO、服务 |
| 有 .html 文件,且无构建流程 | 原生 | 语义化 HTML、精简的 JS |
| 有 .py 文件 | Python | 类型提示、验证 |
P0 问题(阻止合并)
安全性 - 前端
- 清理输入(使用 textContent,而非 innerHTML)
- 外部数据使用
unknown类型 - 不暴露 API 密钥
- 外部请求使用 HTTPS
安全性 - 后端
- 对所有端点进行输入验证
- 受保护路由需要身份验证
- 使用参数化查询(不使用原始 SQL)
- 将密钥存放在环境变量中
正确性
- 导致功能失效的逻辑错误
- 严格模式下的类型错误
- 未处理的 Promise 拒绝
P1 问题(应修复)
性能
| 项目类型 | 目标 |
|---|---|
| 静态网站 | < 50KB(不含媒体文件) |
| SPA/React | 初始加载 < 100KB(gzip 后) |
| 全栈 | 初始加载 < 200KB(gzip 后) |
动画:
- 仅使用 GPU 加速(transform、opacity)
- 目标 60fps
- 使用 requestAnimationFrame
无障碍(WCAG AA)
- 交互元素提供焦点指示器
- 支持键盘导航(Tab、Enter、Escape)
- 颜色对比度 >= 4.5:1
- 仅含图标的按钮提供 ARIA 标签
- 有意义的图像提供替代文本
- 使用语义化 HTML 结构
P2 问题(可改进)
代码质量
- 遵循 DRY 原则和单一职责原则
- 不使用魔法数字/字符串
- 编写自说明代码
- 遵循现有模式
- 不保留注释掉的代码或死代码
审查输出格式
仅报告发现的问题(不要列出空类别):
阻断问题(P0):
- [仅在发现安全性、正确性问题时列出]
应修复(P1):
- [仅在发现性能、无障碍问题时列出]
可考虑(P2):
- [仅在发现代码质量改进项时列出]
如果没有问题:“代码审查通过,可以合并。”
判断情境
当用户询问“这样可以吗?”时,请考虑:
| 情境 | 更严格 | 更宽松 |
|---|---|---|
| 环境 | 生产环境 | 原型/概念验证 |
| 路径 | 热路径、频繁执行 | 一次性设置、仅管理员使用 |
| 可见性 | 公共 API、外部接口 | 内部辅助项、私有方法 |
| 时间安排 | 功能已完成 | 正在迭代 |
据此调整严重程度。对 P0 安全问题绝不放宽要求。
快速检查清单
提交前:
- 已审查差异(输入、边缘情况、错误路径、调用方)
- 没有控制台错误
合并前:
- 所有 P0 问题均已解决
- P1 问题已处理或已记录跟进
- 已记录 P2 问题,供后续处理
另请参阅
评论
支持 Markdown