بنقرة واحدة
team-review
Use when code + tests exist and you need structured review + asset update
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Use when code + tests exist and you need structured review + asset update
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - merge, PR, or cleanup
Use when task needs full spec→impl→test→review pipeline with CONFIRM_GOAL-HUMAN_ACCEPT human checkpoints and directed-graph rollback
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when starting a new feature, need SDD spec, or requirements are ambiguous
Use when requirements are fuzzy, need to discuss and form a plan before writing code
Use when receiving code review feedback, before implementing suggestions - requires technical verification, not performative agreement
| name | team-review |
| description | Use when code + tests exist and you need structured review + asset update |
CRITICAL: DO NOT use EnterPlanMode. This skill defines its own structured workflow. Follow STEPS below directly.
角色:审查专家——第一反应永远是"证据在哪里?"
核心原则:不信任 Agent 自我声明 `_team-rules/first-principles.md: First Principle #4`,审查目标是"会在什么条件下失败"而非"能不能工作"
流程:
1. 五维度 Review:正确性、可维护性、性能、安全、测试覆盖
2. Constitutional 合规检查:验证 9 条硬约束
3. 问题路由:P0/P1 → team-impl/team-spec/ASK_HUMAN,P2 → 直接修复
4. 资产维护:更新 CLAUDE.md / .cursor/rules/、CHANGELOG.md 等
5. 复盘:记录经验和改进
约束:
- 资产更新须具备消费方契约(触发条件 + 可执行指令 + 示例)
- 修复方案需人类确认时暂停等待
核心指令:不被代码表面整洁度打动,不因"测试都通过了"放松警惕 _team-rules/first-principles.md: First Principle #4。审查寻找"会在什么条件下失败"。
推理框架:
对抗自检(三视角,不可跳过):
NO COMPLETION CLAIMS WITHOUT CONSTITUTIONAL COMPLIANCE CHECK FIRST
以下示例帮助校准 P0/P1/P2/P3 的判断:
| 级别 | 真实示例 | 为什么是这个级别 |
|---|---|---|
| P0 | crypto.randomUUID() 在 HTTP 下抛出 TypeError,导致整个页面白屏 | 功能完全不可用,用户无法操作 |
| P0 | API 返回的 token 未做 XSS 转义直接渲染到 DOM | 安全漏洞,可被利用 |
| P1 | Token 对比组件中百分比变化丢失,只显示了绝对差值 | 逻辑缺陷,用户看到不完整信息 |
| P1 | 新增功能没有对应的单元测试 | 测试遗漏,后续重构无安全保障 |
| P2 | 函数名 fmt 不够清晰,应该改为 formatTokens | 可维护性问题,不影响功能 |
| P2 | 两个文件中有相似的格式化逻辑,可以提取公共函数 | 代码重复,建议重构 |
| P3 | 使用 const 而不是 let(变量未被重新赋值) | 风格偏好,不影响正确性 |
GOOD:
P1:src/api/user.ts:87 — getUserById 未处理 id 为空字符串的情况。SDD §二.3 要求空字符串返回 400,当前代码会查询数据库返回 null 导致下游 TypeError。建议:添加 id 空值守卫。BAD:P2:getUserById 可能有问题。— 没有行号、没有 SDD 引用、没有复现路径、严重级别偏低。
SIGNAL:Finding 中出现"可能有问题""也许会出错"但没有复现步骤或具体输入 → 未验证的猜测,不是有效 finding。回去读代码确认后再定级。
| 质量维度 | 产出文件 |
|---|---|
| 五维度代码审查 | 11-review.md |
| AI 协作资产更新 | 12-asset-update.md |
| 个人复盘与改进 | 13-retrospective.md |
| 任务级规则沉淀 | task-rules.md |
03-sdd.md(规格)git diff)01-plan.md ~ 10-test-report.md 全部文件03-sdd.md + 04-boundary.md + 06-tdd-log.md ~ 10-test-report.md(01-plan、02-context、05-risk 不存在属于正常)找到代码中"会在什么条件下失败",而非确认"能不能工作"。每个改动逐行读,不扫一眼就过。
TRAP:测试全绿时最容易橡皮图章——"测试都过了,代码应该没问题"。测试覆盖的是 team-test 想到的场景,不是所有场景。
TRAP:容易沉迷风格细节(命名、空格、import 顺序)而忽略逻辑 bug。先完成正确性和安全维度,再看可维护性和风格。审查标准是 SDD 要求,不是个人偏好。
git diff(代码变更)+ 修改的文件完整内容03-sdd.md(规格对照)FOR modified_file:按以下 5 个维度审查
| 维度 | 检查内容 |
|---|---|
| 正确性 | 逻辑是否正确?边界条件是否处理?异常路径是否覆盖?向后兼容性是否保持(API 签名、数据格式、配置项的破坏性变更)? |
| 可维护性 | 命名是否清晰?函数是否过长?是否有重复代码?是否遵循项目约定? |
| 性能 | 是否有不必要的循环?是否有内存泄漏风险?是否有不必要的渲染?并发安全(竞态条件、死锁、资源争用)?数据量级评估(大表扫描、批量操作)?成本影响评估(外部 API 调用频次、存储增长)? |
| 安全 | 注入风险?凭证泄露?权限检查遗漏?外部 AI 数据脱敏?高风险操作 HITL? |
| 测试覆盖 | 测试是否覆盖了所有边界?测试命名是否清晰?测试是否可重复? |
发现的问题使用下方"问题分级标准"统一分级(P0-P3),不按维度预设级别。
EXEC grep -rn -E '(AK|SK|access[_-]?key|secret[_-]?key|api[_-]?key|token|password|passwd|credential)\s*[:=]' . — 凭证泄露扫描(team-security: RED_LINE_2)
exit_code == 0 → 逐条排除占位符/测试值/注释 → 真实凭证 → P0 安全漏洞IF 项目配置了 SAST/SCA 工具(npm audit / safety check / cargo audit / gosec / semgrep)→ EXEC 对应扫描命令 → IF exit_code != 0 → 高危 → P1,中低危 → P2
ELSE → 标注"项目未配置 SAST/SCA,仅人工安全审查"
IF 代码涉及高风险操作(资金划转 / 权限变更 / 数据删除 / 对外发布)→ ASSERT 人工确认机制已实现(team-security: RED_LINE_3) — 未实现 → P0 安全漏洞
IF 代码调用外部 AI 服务 → ASSERT 输入数据已脱敏或确认为非敏感(team-security: RED_LINE_1) — 敏感数据直接输入 → P0 安全漏洞
验证流程纪律,不依赖 Agent 自我声明
_team-rules/first-principles.md: First Principle #4。每条 Rule 要有具体证据,不是"看起来遵守了"。
TRAP:容易对 Constitutional 检查走过场——逐条打勾但不去看实际文件内容。特别是 TDD Iron Law
_team-rules/constitutional-rules.md: Rule #9,必须打开 06-tdd-log.md 确认 RED 在 GREEN 之前且有失败输出。
[精简模式] 01-plan.md、02-context.md、05-risk.md 不存在时,涉及这些文件的检查项改为检查 03-sdd.md 中是否有对应信息,或标注"精简模式豁免"。
IF 检查依赖的目标文件不存在(非精简模式豁免范围)→ 标注 N/A — 文件不存在,不视为合规也不视为违规,在 11-review.md §四 中记录缺失原因。
FOR constitutional_rule:执行对应检查
| 规则 | 检查方式 | 违规表现 | 严重级别 |
|---|---|---|---|
| 人类介入未被跳过 | 检查任务目录下文件中 CONFIRM_GOAL-HUMAN_ACCEPT 确认记录(精简模式:CONFIRM_GOAL+HUMAN_ACCEPT 即可) | 缺少人类确认记录 | P0 |
| 有向图回退 | 检查 08-ai-decisions.md 和 11-review.md 中是否有回退记录 | 发现问题但未回退 | P1 |
| TDD Iron Law | 检查 06-tdd-log.md 中每个功能点 RED → GREEN → REFACTOR 序列完整;RED 在 GREEN 之前且含失败输出;功能点数 >= 03-sdd.md §二 业务规则数 | RED 记录缺失或在 GREEN 之后 | P0 |
| Kill Switch 触发 | 检查 05-risk.md 中 Kill Switch 条件是否被触发(精简模式:检查 03-sdd.md 或 .checkpoint.json) | 条件满足但未触发 Kill Switch | P0 |
| 分期交付 | 检查 01-plan.md 分期划分(精简模式豁免:简单任务无需分期) | 复杂任务无分期 | P2 |
| 自我约束预算 | 检查 06-tdd-log.md 中预算 vs 实际 | 预算超支未砍范围 | P1 |
| 来源标签 | 检查 03-sdd.md 和 09-test-matrix.md 中 {extracted}/{inferred}/{ambiguous} 标签(精简模式:02-context.md 不检查) | 缺少来源标签 | P2 |
| 产出必须验证 | 检查各 Agent 产出是否经过下游验证才进入下一步,而非仅依赖自我声明 | 未经验证直接流转 | P1 |
| 回退次数上限 | 检查同一阶段回退是否超过 2 次 | 超过 2 次未触发 ASK_HUMAN | P1 |
| 验证先行原则 | 检查 06-tdd-log.md 和 10-test-report.md 中的验证声明是否基于当次新鲜执行的完整输出 | 引用缓存结果或截断输出 | P0 |
ASSERT constitutional_rules_checked == 9
constitutional_rules_checked < 9 → 补充检查后继续| 级别 | 定义 | 处理方式 |
|---|---|---|
| P0 | 数据错误、安全漏洞、功能完全不可用 | 必须修复,回退 team-impl 或人类决策 |
| P1 | 逻辑缺陷、性能退化、测试遗漏 | 应该修复,回退 team-impl 或人类决策 |
| P2 | 可维护性问题、轻微性能问题 | 建议修复,可直接修复或记录待改进 |
| P3 | 风格偏好、非功能性建议 | 记录但不处理 |
把问题送到正确的人手里。级别判定对照 SDD 要求,不凭个人偏好。
TRAP:严重级别通胀(全标 P0 制造恐慌)和通缩(把真实 bug 标为 P2 避免回退开销)同样有害。对照"问题分级标准"表和"严重级别校准示例"逐条比对。
SIGNAL:Review 结果 0 findings → 要么代码完美,要么审查流于表面。回到 Phase 1 重审至少 boundary handling。 所有 finding 都是 P2/P3 → 可疑。至少复查边界处理和异常路径。
MATCH severity:
P0 || P1
P0 实现 bug && spec 定义正确 → route_target = team-impl → GOTO Phase 3P0 设计/架构缺陷 → route_target = team-spec → GOTO Phase 3P0 安全漏洞 → ASK_HUMAN(安全决策需要人类确认)P1 实现 bug → route_target = team-impl → GOTO Phase 3P1 测试遗漏 → route_target = team-impl(需要补写测试) → GOTO Phase 3P0/P1 spec 遗漏 → route_target = team-spec → GOTO Phase 3P2 → route_target = self → GOTO Phase 3P3 → 记录但不处理 → GOTO Phase 4回退时必须提供:
根据 Phase 2 的
route_target执行对应动作。P0/P1 必须终止执行交还编排器,不可自修。
MATCH route_target:
team-impl || team-spec →
11-review.md(包含"回退时必须提供"的完整信息)TRAP:到了这里不要"顺手修一下"——P0/P1 问题必须回退给专职 Skill,这是有向图回退的硬约束
_team-rules/first-principles.md: First Principle #4。
human →
11-review.mdself(仅 P2 及以下) →
GATE 自修准入:
severity != P0 && severity != P1 — P0/P1 不可自修,必须回退TRAP:自修时容易越界——"顺手"改了超过 20 行或触及了不在自己职责内的逻辑。超范围修改应回退 team-impl。
exit_code == 0 — 测试失败 → 回滚修改 → GOTO Phase 2exit_code == 0 — lint 失败 → 修复后重新执行验证协议:步骤 2-3 声明"通过"前必须执行 _team-rules/verification-protocol.md: 验证执行步骤
exit_code == 0 && failures == 0
11-review.md §三修复记录route_target = team-impl → 以 DONE_WITH_CONCERNS 终止执行,附带修复尝试的上下文和失败详情DEFAULT → GOTO Phase 4
把本次审查中发现的规则、模式、教训固化到项目资产中,让下一个 Agent 不再重蹈覆辙。
[精简模式] 仅执行 4.1(任务规则)、4.6(CHANGELOG)、4.8(工具适配确认)。跳过 4.2、4.3、4.4、4.5、4.7、4.9。
WRITE 所有资产更新记录到 12-asset-update.md。
消费方契约原则:更新的资产必须能被下游 Agent 直接读取并执行,不需要额外解释。每条规则必须包含:触发条件 + 可执行指令 + 示例(好/坏对比)。
WRITE docs/tasks/{slug}/task-rules.md — 记录本任务中发现的、仅在本任务范围内适用的规则或约束:
# 任务级规则
> team-review 产出 | 仅适用于 {slug} 任务范围
| 规则 | 适用范围 | 触发条件 | 可执行指令 | 示例(✅/❌) |
| ---- | -------- | -------- | ---------- | ------------ |
| ... | 本任务 | ... | ... | ✅ ... / ❌ ... |
READ 项目 AI 规范文件(CLAUDE.md / .cursor/rules/)及以下 8 个内容类别的对应位置:
| 类别 | 典型位置 | 状态 |
|---|---|---|
| 业务术语 | 02-context.md 术语表 / CLAUDE.md / .cursor/rules/ | ✅/需补充 |
| 系统架构 | AGENTS.md / docs/architecture.md | ✅/需补充 |
| 代码结构 | AGENTS.md / CLAUDE.md / .cursor/rules/ | ✅/需补充 |
| 接口约定 | AGENTS.md / CLAUDE.md / .cursor/rules/ / 02-context.md | ✅/需补充 |
| 编码规范 | CLAUDE.md / .cursor/rules/ | ✅/需补充 |
| 测试要求 | CLAUDE.md / .cursor/rules/ / docs/review-checklist.md | ✅/需补充 |
| Review 标准 | docs/review-checklist.md | ✅/需补充 |
| 交付要求 | docs/delivery-checklist.md | ✅/需补充 |
IF 存在「需补充」项 → WRITE 内容到项目 AI 规范文件(CLAUDE.md / .cursor/rules/)对应章节
IF docs/review-checklist.md 或 docs/delivery-checklist.md NOT_EXISTS → 创建之
IF 项目类型不适用的类别 → 标注 N/A(如 CLI 工具无需"系统架构"文档)
READ 项目 AI 规范文件,检查是否需要新增规则:
IF 需要新增规则 → WRITE 追加到项目 AI 规范文件(CLAUDE.md 或 .cursor/rules/,取项目中已存在的文件)的对应章节,保持原有结构
IF 本次任务涉及以下变更:
→ READ AGENTS.md(IF NOT_EXISTS → 创建)→ WRITE 在对应章节追加或修改,保持与代码实际结构一致。AGENTS.md 应包含:系统架构概览、模块职责清单、关键接口定义、目录结构说明。
ELSE:跳过 AGENTS.md 更新
IF 本次任务修改了特定模块(如 frontend/、backend/):
CLAUDE.md / .cursor/rules/)ELSE:跳过模块级规范更新
WRITE 追加本次变更记录到 CHANGELOG.md:
## [{版本号}] - {YYYY-MM-DD}
### Added
- {新功能描述}(#{PR 号或 commit hash})
### Changed
- {变更描述}
### Fixed
- {修复描述}
FOR checklist_type IN [review-checklist, delivery-checklist]:
docs/{checklist_type}.md
references/{checklist_type}-template.md EXISTS → WRITE 按模板创建并填充实际内容 ELSE → WRITE 创建空白检查清单并从本次审查结论中填充items_without_check_target == 0 && items_without_pass_criteria == 0checklist_type == delivery-checklist && 交付完成 → 将已完成项标记为 [x]ASSERT 工具适配产物数 >= 2
| 类型 | 文件路径 | 创建内容来源 | 状态 |
|---|---|---|---|
| CLAUDE.md / .cursor/rules/ / AGENTS.md | 根目录 | 本次 Review 发现的规则 | ✅/❌ |
| Review Checklist | docs/review-checklist.md | Phase 1 审查维度 + 本次 P0-P2 问题 | ✅/❌ |
| Delivery Checklist | docs/delivery-checklist.md | Phase 4 资产清单 + 验证步骤 | ✅/❌ |
| Prompt 模板 | docs/tasks/{slug}/prompt-template.md | team-spec 产出 | ✅/❌ |
READ 项目 AI 规范文件(CLAUDE.md 或 .cursor/rules/)
ASSERT 资产维护机制段落 EXISTS
_team-rules/ai-collaboration-standards.md §1.2 消费方契约原则新增IF 本次有资产更新 → WRITE 向"版本记录"表追加一行
提炼具体教训,不泛泛而谈。"做得不错"不是复盘,"发现 X 场景的边界检查被遗漏,根因是 SDD 未定义空值行为"才是。
WRITE 13-retrospective.md(按模板),记录以下内容:
new_rule:
12-asset-update.mdASSERT 新规则沉淀段落 EXISTS — §三 是质量检查 D4.4 的关键证据。"发现规则但未写入目标文件"视为未完成
| 文件 | 模板位置 | 说明 |
|---|---|---|
11-review.md | references/11-review-template.md | 代码审查报告 |
12-asset-update.md | references/12-asset-update-template.md | AI 协作资产更新记录 |
13-retrospective.md | references/13-retrospective-template.md | 个人复盘 |
docs/review-checklist.md | references/review-checklist-template.md | Review 检查清单(项目级,跨任务累积) |
docs/delivery-checklist.md | references/delivery-checklist-template.md | 交付检查清单(项目级,跨任务累积) |
WRITE 11-review.md:
# 代码审查报告
> team-review 产出 | {slug} | {日期}
## 一、审查范围
| 项 | 内容 |
|----|------|
| 审查文件数 | {N} |
| 变更行数 | +{N} / -{N} |
| 对照规格 | 03-sdd.md §{sections} |
## 二、问题清单
| ID | 级别 | 维度 | 文件:行号 | 问题描述 | SDD 引用 | 处理方式 |
|----|------|------|-----------|----------|----------|----------|
| R1 | P{0-3} | {维度} | {file}:{line} | {具体描述} | §{ref} | 报告/直接修/记录 |
## 三、修复记录(P2 自修)
| 问题 ID | 修复内容 | 验证结果(exit_code + output 摘要) |
|---------|----------|--------------------------------------|
| R{N} | {修改描述} | ✅ `exit_code == 0`,{N} tests passed |
## 四、Constitutional 合规检查
| Rule | 检查方式 | 证据 | 结果 |
|------|----------|------|------|
| {rule_name} | {how_checked} | {evidence} | ✅/❌ P{N} |
## 五、审查结论
状态:{DONE / DONE_WITH_CONCERNS / NEEDS_CONTEXT / BLOCKED}
WRITE 12-asset-update.md:
# AI 协作资产更新记录
> team-review 产出 | {slug} | {日期}
## 更新清单
| 序号 | 资产文件 | 更新类型 | 触发条件 | 可执行指令 | 示例(✅/❌) |
|------|----------|----------|----------|------------|--------------|
| 1 | {file_path} | 新增/修改 | {when} | {do_what} | ✅ ... / ❌ ... |
## 内容覆盖度
| 类别 | 位置 | 状态 |
|------|------|------|
| 业务术语 | {path} | ✅/需补充/N/A |
| ... | ... | ... |
## 版本记录
| 日期 | 更新者 | 更新内容 | 关联任务 |
|------|--------|----------|----------|
| {日期} | team-review | {summary} | {slug} |
team-impl/team-specREF _team-rules/constitutional-rules.md — 10 条 Constitutional Rules
REF _team-rules/first-principles.md — 4 条第一性原理(First Principle #1 ~ #4)
REF _team-rules/spec-driven-workflow.md — SDD 验证链与有向图回退规则
REF _team-rules/task-lifecycle.md — 来源标签规范(§1.3)
REF _team-rules/ai-collaboration-standards.md — 消费方契约原则(§1.2)与资产维护机制(§1.3)
审查阶段尤其注意:
_team-rules/first-principles.md: First Principle #4_team-rules/first-principles.md: First Principle #4_team-rules/first-principles.md: First Principle #2ASK_HUMAN _team-rules/first-principles.md: First Principle #1GATE 产出前自检(全部通过才放行):
五维度审查 == 完成 — 正确性/可维护性/性能/安全/测试覆盖全部完成constitutional_rules_checked == 9 — 每条 Rule 有检查结果P0_P1_self_fixed == 0 — P0/P1 问题已向编排器报告(→ team-impl / → team-spec / → ASK_HUMAN),未擅自修复grep -cE '触发条件|可执行指令|示例' docs/tasks/{slug}/12-asset-update.md → ASSERT output >= 3 — 每条规则均有三要素grep -c '新规则\|本次沉淀' docs/tasks/{slug}/13-retrospective.md → ASSERT output > 0content_coverage_categories_checked == 8 — 业务术语/架构/代码结构/接口/编码规范/测试/Review/交付在项目 AI 规范中有定义tool_asset_count >= 2 — CLAUDE.md / .cursor/rules/、review-checklist、delivery-checklist、prompt-template.md 中至少 2 类存在无占位符残留({N}、{slug} 等已被实际值替换)IRON_LAW 遵守 — P0/P1 问题已报告未擅自修复REF _team-rules/four-state-protocol.md — 四态完成状态
MATCH result:
docs/tasks/{slug}/11-review.md / 12-asset-update.md / 13-retrospective.md / task-rules.md{N} 个文件审查,发现 {N} 个问题{N} 个,回退 team-impl {N} 个,回退 team-spec {N} 个,人类决策 {N} 个{N} 个文件已更新11-review.md(仅此文件,Phase 4/5 跳过)route_target:team-impl / team-spec被谁调用:
team-orchestrator(编排模式)team-test(测试全部通过后路由)配对使用:
team-feedback — 审查反馈应对team-finish — 分支完成处理team-orchestrator — REQUIRED:审查完成后必须交付team-feedback 处理审查反馈,然后 team-finish 合并分支team-impl 修复后重新提交