Files
2026-07-13 21:35:46 +08:00

63 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: code-reviewer
description: 使用本技能进行代码审查。它既支持本地更改(暂存区或工作树),也支持远程 Pull Request(通过 ID 或 URL)。审查重点在于正确性、可维护性以及对项目标准的遵循情况。
---
# 代码审查员
本技能引导代理对本地开发中的更改和远程 Pull Request 进行专业、彻底的代码审查。
## 工作流程
### 1. 确定审查目标
* **远程 PR**:如果用户提供了 PR 编号或 URL(例如「审查 PR #123」),则以该远程 PR 为目标。
* **本地更改**:如果没有提及特定的 PR,或者用户要求「审查我的更改」,则以当前本地文件系统的状态(暂存和未暂存的更改)为目标。
### 2. 准备工作
#### 针对远程 PR
1. **检出**:使用 GitHub CLI 检出该 PR。
```bash
gh pr checkout <PR_NUMBER>
```
2. **预检**:执行项目的标准验证套件,尽早发现自动化失败项。
```bash
npm run preflight
```
3. **上下文**:阅读 PR 描述和任何已有的评论,以了解其目标和历史。
#### 针对本地更改:
1. **识别更改**
* 检查状态:`git status`
* 读取差异:`git diff`(工作树)和/或 `git diff --staged`(暂存区)。
2. **预检(可选)**:如果更改量较大,询问用户是否希望在审查前运行 `npm run preflight`。
### 3. 深入分析
从以下几个维度分析代码更改:
* **正确性**:代码是否实现了其声称的目的,没有缺陷或逻辑错误?
* **可维护性**:代码是否整洁、结构良好、易于理解和将来修改?考虑代码清晰度、模块化程度以及对既定设计模式的遵循情况。
* **可读性**:代码注释是否得当(必要时),且格式是否符合项目的编码风格指南?
* **效率**:更改是否引入了明显的性能瓶颈或资源浪费?
* **安全性**:是否存在潜在的安全漏洞或不安全的编码实践?
* **边界情况与错误处理**:代码是否妥善处理了边界情况和潜在错误?
* **可测试性**:新增或修改的代码是否得到了测试的充分覆盖(即使预检已通过)?建议能提高覆盖率或健壮性的额外测试用例。
### 4. 提供反馈
#### 结构
* **摘要**:审查的总体概述。
* **发现**
* **严重**:缺陷、安全问题或破坏性更改。
* **改进**:针对更好的代码质量或性能的建议。
* **小细节**:格式或微小的样式问题(可选)。
* **结论**:明确的建议(批准 / 请求修改)。
#### 语气
* 保持建设性、专业且友好。
* 解释*为什么*要求某项更改。
* 对于批准,明确肯定该贡献的具体价值。
### 5. 清理(仅限远程 PR
* 审查完成后,询问用户是否要切回默认分支(例如 `main` 或 `master`)。