- name
- task-review
- description
- L1 任务级代码审查。在每个任务完成后执行轻量级约定合规检查,
# Task Review Skill(L1 任务级审查)
## 调用方式
```
/task-review <feature_dir> <task_id>
```
例:
```
/task-review features/v2.5.0/004-rebac-core T003
/task-review features/v2.5.0/007-resource-permission-ui T007
```
## 审查流程
### Step 1: 解析参数 + 收集变更范围
1. 验证参数:
- `feature_dir` 必须存在且包含 `tasks.md`
- `task_id` 必须匹配 tasks.md 中的某个任务(格式:`T001`、`T003` 等)
- 若参数缺失或无效,报告错误后停止
2. 从 `<feature_dir>/tasks.md` 中读取指定任务的元数据:
- 任务类型(测试 / 实现 / 基础设施 / Worker)
- 目标文件列表
- 前置依赖
- 配对任务(测试↔实现)
- 覆盖 AC 标注(测试任务)
3. 读取任务声明的所有目标文件内容(直接读取文件,不依赖 git diff)
### Step 2: 判断任务类型,选择检查子集
根据任务类型确定适用的检查项(参见 `references/task-checklist.md`):
| 任务类型 | 适用检查项 | 额外检查 |
|---------|-----------|---------|
| **测试任务** | #2 命名 + #5 前端约定 | AC 标注格式(`覆盖 AC: AC-NN`) |
| **实现任务** | 完整 #1~#7 | 配对测试任务已完成(tasks.md 中已打勾);design.md 同步检查 |
| **基础设施任务** | #1 架构分层 + #4 数据库约定 + #6 信息泄漏 + #7 设计同步 | 无 |
| **Worker 任务** | #1 架构 + #4 数据库 + #6 信息泄漏 + #7 设计同步 | tenant_id 通过 Celery headers 传递 |
任务类型判断规则:
- 文件路径包含 `test/` 或 `__tests__/` → 测试任务
- 文件路径包含 `domain/models/` 或 `common/errcode/` 或任务描述含"ORM""迁移""错误码""配置" → 基础设施任务
- 文件路径包含 `worker/` 或任务描述含"Celery""异步任务" → Worker 任务
- 其他 → 实现任务
- 若任务同时包含测试和实现文件,按实现任务处理
### Step 3: 按检查清单执行检查
逐项执行 `references/task-checklist.md` 中适用的检查项。
### Step 4: 元数据交叉验证
- **文件范围**:任务声明的目标文件是否实际存在,是否存在范围蔓延(修改了任务未声明的文件)
- **配对测试**:若为实现任务,检查 tasks.md 中配对的测试任务是否已打勾 ✅
- **前置依赖**:检查任务声明的依赖项是否已完成(tasks.md 中已打勾)
### Step 5: 输出报告
按以下格式输出:
```markdown
## Task Review: <task_id>
**任务**: <任务标题>
**类型**: 测试 / 实现 / 基础设施 / Worker
**文件**: <文件列表>
| # | 检查项 | 结果 | 说明 |
|---|--------|------|------|
| 1 | 架构分层 | PASS / FAIL / N/A | <若 FAIL,具体描述> |
| 2 | 命名规范 | PASS / FAIL / N/A | |
| 3 | 序列化约定 | PASS / FAIL / N/A | |
| 4 | 数据库约定 | PASS / FAIL / N/A | |
| 5 | 前端约定 | PASS / FAIL / N/A | |
| 6 | 信息泄漏 | PASS / FAIL / N/A | |
| 7 | 设计同步 | PASS / FAIL / N/A | <若 FAIL,列出 design.md 哪节应更新> |
**元数据验证**: 文件范围 PASS/FAIL | 配对测试 PASS/FAIL/N/A | 依赖 PASS/FAIL
**结果**: PASS / PASS_WITH_NOTES / NEEDS_FIX
```
### Step 6: 处理结果
| 结果 | 条件 | 动作 |
|------|------|------|
| **PASS** | 全部通过 | 告知用户可以打勾 |
| **PASS_WITH_NOTES** | 仅 MEDIUM 级提醒,无 HIGH | 告知用户可以打勾,列出提醒供参考 |
| **NEEDS_FIX** | 任何 HIGH 违规 | 列出需要修复的具体问题,修复后可再次调用 `/task-review` 重审(最多 1 轮重审) |
## 错误处理
- `feature_dir` 不存在 → 报告路径错误,停止
- `tasks.md` 不存在 → 报告"找不到 tasks.md",停止
- `task_id` 不匹配 → 报告"未找到任务 <task_id>",停止
- 目标文件不存在 → 标记为 WARNING(文件可能尚未创建),继续检查其他文件
在 GitHub 查看