name: common-pitfalls description: 编排常见开发问题的陷阱预防技能。在代码审查期间自动触发,检查TanStack Query、Drizzle ORM、Express API、React、WebSocket、区块链RPC和安全方面的陷阱。
常见陷阱预防
编排从生产问题中学到的专业陷阱预防技能。在代码审查期间使用,自动检查常见错误。
何时使用
- 在代码审查期间(由full-review技能自动触发)
- 提交更改之前
- 调试生产问题时
- 审查不熟悉的代码模式时
工作流程
步骤1:识别代码类别
基于更改的文件,确定调用哪些子技能:
| 文件模式 | 子技能 |
|---|---|
**/hooks/**, useQuery, useMutation |
pitfalls-tanstack-query |
**/db/**, schema.ts, drizzle |
pitfalls-drizzle-orm |
**/routes/**, router., app. |
pitfalls-express-api |
**/components/**, **/pages/**, .tsx |
pitfalls-react |
websocket, wss, ws. |
pitfalls-websocket |
contract, rpc, multicall, gas |
pitfalls-blockchain |
session, key, cache, log |
pitfalls-security |
步骤2:调用相关子技能
对于找到的每个类别,调用相应的技能以获取详细模式。
步骤3:生成综合报告
汇总所有调用子技能的发现。
子技能参考
| 技能 | 重点领域 |
|---|---|
| pitfalls-tanstack-query | 查询键、失效、v5模式 |
| pitfalls-drizzle-orm | 模式类型、迁移、数组列 |
| pitfalls-express-api | 路由、状态码、存储模式 |
| pitfalls-react | 组件、表单、可访问性、响应式 |
| pitfalls-websocket | 服务器设置、心跳、重连 |
| pitfalls-blockchain | RPC错误、Gas、多调用、Nonce |
| pitfalls-security | 会话密钥、缓存、日志记录、密钥 |
快速参考清单
核心
- [ ] TanStack Query键使用完整的URL路径
- [ ] 突变使相关查询失效
- [ ] 导出所有模型的Drizzle类型
- [ ] API路由返回正确的状态码
- [ ] 所有RPC调用都包装在try/catch中
- [ ] WebSocket具有心跳/重连机制
- [ ] React组件处理加载/错误状态
- [ ] 日志或前端代码中没有密钥
类型安全
- [ ] 没有
any类型 - 使用unknown并缩小范围 - [ ] 从模式推断类型($inferSelect, z.infer)
- [ ] 用于运行时验证的类型守卫
金融
- [ ] 所有代币金额使用BigInt
- [ ] 价格计算使用Decimal.js
- [ ] 适当的舍入(向下/向上取整)
区块链
- [ ] 带缓冲的Gas估算
- [ ] EIP-1559 Gas定价
- [ ] 发送前进行交易模拟
- [ ] 多调用使用
allowFailure: true
安全
- [ ] 会话密钥具有过期时间和限制
- [ ] 存储的凭据使用AES-256-GCM加密
- [ ] 敏感操作进行审计日志记录
- [ ] 具有指数退避的速率限制