code-reviewer · git:20260905.7c0ea7c · 2026-09-05 · sha256 26795c70612b77d0

code-reviewer git:20260905.7c0ea7cA

Immutable. This exact content is served forever at /api/v1/blob/26795c70612b77d0.

---
name: code-reviewer
description: Use when completing tasks, implementing major features, or before merging to verify work meets requirements - reviews implementation against plan or requirements with severity分级(Critical/Important/Minor). NO MERGE WITHOUT CODE REVIEW FIRST.
metadata:
  short-description: 代码审查与质量保证
  keywords:
    - code-reviewer
    - 代码审查
    - Code Review
    - 代码质量
    - 安全检查
    - 性能优化
    - 最佳实践
    - code review
    - quality check
  category: 代码质量
  author: Bensz Conan
  platform: Claude Code | OpenAI Codex | ChatGPT
  iron-law: |
    NO MERGE WITHOUT CODE REVIEW FIRST
---

# Code Reviewer - 代码审查专家

## 何时使用

- 重大功能完成后、合并前、发布前
- 大重构/跨模块变更
- 引入新依赖、新权限、新数据流

## 审查输入

- 需求/计划:用户描述、PR 描述、任务计划/设计文档(如 `PLAN.md`、`docs/plans/*.md` 或其它项目约定文件名)
- 代码改动:diff、关键文件、测试结果
- 风险偏好:可接受的破坏性/性能回退范围

## 输出格式(必须结构化)

对每个问题输出:
- Severity:Critical / Important / Minor
- What:问题是什么(具体到文件/函数/行为)
- Why:为什么是问题(风险与影响)
- Fix:如何修(最小变更优先)
- Verify:如何验证(测试/复现步骤)

## 审查顺序(先 P0 再 P2)

1. Critical(P0)
   - 鉴权/授权缺陷、注入、路径遍历、敏感信息泄露
   - 数据一致性/事务边界错误、不可恢复的数据破坏

2. Important(P1)
   - 明显性能风险(N+1、O(n^2) 热路径、内存爆)
   - 测试覆盖不足(关键路径无回归验证)

3. Minor(P2)
   - 可维护性:命名、重复、复杂度、模块边界
   - 文档/注释/类型标注缺失

## 快速检查清单

- [ ] 输入验证与输出编码是否到位?
- [ ] 权限校验是否在服务端强制执行?
- [ ] 是否引入了新的敏感数据写入/日志输出?
- [ ] 是否有回归测试或至少可复现的验证步骤?
- [ ] 改动是否严格服务于用户目标,没有无关格式化、顺手重构或过度抽象?
- [ ] 是否能对应到明确的验收标准;缺少标准时是否已标为阻塞风险?
- [ ] 是否存在明显的性能/资源泄露风险?

## 约束

<!-- BEGIN COMMON CONSTRAINTS -->
<!-- Source-Hash: sha256:dc839829c43968168dc291914ff849bc8a9bfd63ae4a9e569115a97df24e095e -->
<!-- Template-ID: skill-common-constraints; Template-Version: 1; Sync-Policy: exact-block -->

### 公共硬约束

本块由 `docs/templates/skill-common-constraints.md` 统一维护;每个 `SKILL.md` 的 `## 约束` 必须逐字同步本块,不得在副本中改写公共规则。

- 任务需要落盘时,使用唯一的 `./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/` 根目录;共享材料放入 `shared/`,Skill 专属材料放入该 Skill 的 `input/`、`output/`、`log/`。
- 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
- 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
- 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
- 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
- Skill 版本唯一记录在自身 `config.yaml:skill_info.version`;公开 API、协议、目录或配置变更同步文档与 `CHANGELOG.md`。
- 仅将 Skill 或 Bensz 基础设施本身的设计缺陷交给 `bensz-collect-bugs`;先脱敏写入 `~/.bensz-skills/bugs/`,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。

<!-- End of canonical common constraints. -->
<!-- END COMMON CONSTRAINTS -->