name: 完整代码审查 description: 使用所有可用技能进行全面的代码审查。在提交前或需要对变更进行彻底分析时使用。触发词:review code, check changes, full review, pre-commit review。
完整代码审查
协调所有可用的审查技能,提供全面的代码分析。
何时使用
- 提交代码变更之前
- 执行合并前审查
- 运行全面审计
- 根据所有质量标准检查代码
- 验证全栈变更
工作流程
步骤 1:识别变更
使用 git diff 获取已更改文件的列表。
步骤 2:将技能映射到文件
根据文件模式调用相关技能。
步骤 3:运行检查清单
应用安全、DeFi、类型安全和性能检查。
步骤 4:生成报告
生成带有严重性级别的结构化报告。
步骤 5:自动修复(可选)
提供自动修复关键问题的选项。
触发短语
- “review code”, “check changes”, “full review”
- “pre-commit review”, “review before commit”
- “run all skills”, “comprehensive review”
审查流程
步骤 1:识别变更
# 获取已更改的文件
git diff --name-only HEAD~1 2>/dev/null || git diff --name-only
git status --porcelain
步骤 2:技能映射
根据已更改的文件,调用以下技能:
| 已更改的文件 | 要调用的技能 |
|---|---|
任何 .ts, .tsx |
code-review-expert, common-pitfalls |
server/src/routes/* |
system-integration-validator |
server/src/services/* |
defi-expert, hft-quant-expert |
server/src/db/* |
code-consistency-validator |
client/src/pages/*, client/src/components/* |
apple-ui-design, common-pitfalls |
client/src/hooks/* |
common-pitfalls (TanStack Query) |
rust-core/**/*.rs |
code-consistency-validator, latency-tracker |
*token*, *protocol*, *chain* |
defi-registry-manager |
*arbitrage*, *trade*, *swap* |
liquidity-depth-analyzer |
*logger*, *error* |
error-logger |
*websocket*, *ws* |
common-pitfalls (WebSocket) |
schema.ts, *.sql |
common-pitfalls (Drizzle) |
步骤 3:审查检查清单
对于每次审查,检查以下关键项:
安全
- [ ] 无 SQL 注入漏洞
- [ ] React 组件中无 XSS (dangerouslySetInnerHTML)
- [ ] Bash 调用中无命令注入
- [ ] 无硬编码的密钥/凭据
- [ ] 所有端点上都有适当的输入验证
- [ ] 敏感路由上的速率限制
DeFi 特定
- [ ] 代币小数位正确 (USDC/USDT=6, WBTC=8, ETH=18)
- [ ] 代币地址为校验和格式
- [ ] BigInt 处理 (使用 Number() 时无精度损失)
- [ ] 交换时的滑点保护
- [ ] 对回滚的适当错误处理
类型安全
- [ ] 无
as any类型断言 - [ ] TypeScript ↔ Rust ↔ PostgreSQL 之间的类型匹配
- [ ] 所有 API 输入都有 Zod 模式
- [ ] 适当的 null/undefined 处理
性能
- [ ] 无 N+1 查询
- [ ] 查询列上有适当的索引
- [ ] 外部调用有超时设置
- [ ] 连接池已配置
代码质量
- [ ] 错误消息不泄露内部细节
- [ ] 一致的命名约定
- [ ] 无死代码或未使用的导入
- [ ] 适当的 async/await 用法
TanStack Query (如果适用)
- [ ] QueryKeys 使用完整的 URL 路径
- [ ] 变更使相关查询失效
- [ ] 在 v5 中使用 isPending (而不是 isLoading) 进行变更
- [ ] 响应使用模式类型进行类型化
Drizzle ORM (如果适用)
- [ ] 无主键类型更改
- [ ] 数组列使用
text().array()语法 - [ ] 导出模型的插入/选择类型
- [ ] 使用 drizzle-zod 进行验证
React 组件 (如果适用)
- [ ] 处理加载/错误状态
- [ ] 交互元素上有 data-testid
- [ ] 使用路由器 Link,而不是 window.location
- [ ] 在使用前定义辅助函数
区块链/RPC (如果适用)
- [ ] 所有合约调用都包装在 try/catch 中
- [ ] 多调用使用
allowFailure: true - [ ] 价格根据预期范围进行验证
- [ ] 优雅地处理 “执行回滚”
步骤 4:报告格式
## 代码审查报告
### 已审查的文件
- [文件列表]
### 应用的技能
- [调用的技能列表]
### 关键问题 (必须修复)
🔴 [问题描述]
文件: path/to/file.ts:行号
修复: [如何修复]
### 警告 (应该修复)
🟡 [问题描述]
文件: path/to/file.ts:行号
建议: [推荐]
### 建议 (最好有)
🟢 [改进想法]
### 总结
- 关键问题: X 个
- 警告: X 个
- 建议: X 项
- 准备提交: 是/否
步骤 5:自动修复
如果发现关键问题,提供修复选项:
- 显示问题
- 显示建议的修复
- 如果批准则应用
- 重新运行验证
快速命令
/review- 对所有变更进行完整审查/quick-review- 仅快速检查关键问题- 调用
full-review技能以执行此全面流程