@boyingliu01/xp-gate 0.14.3 → 0.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/plugins/claude-code/.claude-plugin/plugin.json +1 -1
- package/plugins/claude-code/skills/delphi-review/AGENTS.md +3 -3
- package/plugins/claude-code/skills/delphi-review/SKILL.md +193 -157
- package/plugins/claude-code/skills/sprint-flow/AGENTS.md +3 -3
- package/plugins/claude-code/skills/sprint-flow/SKILL.md +138 -495
- package/plugins/claude-code/skills/sprint-flow/references/phase-overview.md +481 -0
- package/plugins/claude-code/skills/test-specification-alignment/AGENTS.md +3 -3
- package/plugins/opencode/package.json +1 -1
- package/plugins/opencode/skills/delphi-review/AGENTS.md +3 -3
- package/plugins/opencode/skills/delphi-review/SKILL.md +193 -157
- package/plugins/opencode/skills/sprint-flow/AGENTS.md +3 -3
- package/plugins/opencode/skills/sprint-flow/SKILL.md +138 -495
- package/plugins/opencode/skills/sprint-flow/references/phase-overview.md +481 -0
- package/plugins/opencode/skills/test-specification-alignment/AGENTS.md +3 -3
- package/plugins/qoder/plugin.json +1 -1
- package/plugins/qoder/skills/delphi-review/AGENTS.md +3 -3
- package/plugins/qoder/skills/sprint-flow/AGENTS.md +3 -3
- package/plugins/qoder/skills/test-specification-alignment/AGENTS.md +3 -3
- package/skills/delphi-review/AGENTS.md +3 -3
- package/skills/delphi-review/SKILL.md +193 -157
- package/skills/sprint-flow/AGENTS.md +3 -3
- package/skills/sprint-flow/SKILL.md +138 -495
- package/skills/sprint-flow/references/phase-overview.md +481 -0
- package/skills/test-specification-alignment/AGENTS.md +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xp-gate",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.4",
|
|
4
4
|
"displayName": "XP-Gate",
|
|
5
5
|
"description": "Extreme Programming quality gates + AI workflow skills for Claude Code. Includes 10 quality gates (Gate 0-9), Sprint Flow (11 phases), and Delphi multi-expert review (>=90% consensus).",
|
|
6
6
|
"author": {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/DELPHI-REVIEW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-09
|
|
4
|
-
**Commit:**
|
|
5
|
-
**Branch:**
|
|
6
|
-
**Version:** 0.14.
|
|
4
|
+
**Commit:** 8408ba6
|
|
5
|
+
**Branch:** sprint/2026-07-09-01
|
|
6
|
+
**Version:** 0.14.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
Delphi Consensus Review — multi-round anonymous expert review (≥90% threshold, 3 experts from ≥2 providers, domestic models only). Supports design + code-walkthrough modes.
|
|
@@ -1,7 +1,126 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: delphi-review
|
|
3
|
-
|
|
3
|
+
version: 1.1.0
|
|
4
|
+
description: >
|
|
5
|
+
Performs multi-round anonymous expert consensus review using the Delphi method. Supports
|
|
6
|
+
design review (default) and code-walkthrough (--mode code-walkthrough) modes. Uses 2-3 experts
|
|
7
|
+
from at least 2 different domestic model providers with a >=90% statistical consensus threshold.
|
|
8
|
+
Outputs structured verdict (APPROVED/PASS_WITH_CAVEATS/REQUEST_CHANGES/BLOCKED).
|
|
9
|
+
|
|
10
|
+
WHAT: Anonymous multi-expert review with iterative consensus building for designs, plans,
|
|
11
|
+
architecture, code changes, and PRs. NOT a single-reviewer pass, NOT a linter, NOT a test runner.
|
|
12
|
+
WHEN: User explicitly requests a review, design validation, multi-expert consensus, code walkthrough
|
|
13
|
+
before push, architecture evaluation, or "/delphi-review".
|
|
14
|
+
NOT WHEN: Asking HOW to review something (educational), mentioning "review" in passing without intent,
|
|
15
|
+
requesting a simple code check or lint, asking about the Delphi process itself, or mentioning
|
|
16
|
+
"review" as part of a different workflow (e.g., "code review" without multi-expert intent).
|
|
17
|
+
|
|
18
|
+
TRIGGERS: "/delphi-review", "review this design", "评审这个需求", "评审这个设计", "design review",
|
|
19
|
+
"多专家评审", "consensus review", "code walkthrough", "push review", "architecture review",
|
|
20
|
+
"delphi review", "run delphi", "start delphi".
|
|
21
|
+
NEGATIVE TRIGGERS: "how does delphi work", "what is delphi review", "code review checklist",
|
|
22
|
+
"review my code quickly", "can you review this", "peer review", "I need a review",
|
|
23
|
+
"explain the review process", "review guidelines".
|
|
24
|
+
maturity: beta
|
|
4
25
|
auto_continue: true
|
|
26
|
+
triggers:
|
|
27
|
+
- "/delphi-review"
|
|
28
|
+
- "review this design"
|
|
29
|
+
- "评审这个需求"
|
|
30
|
+
- "评审这个设计"
|
|
31
|
+
- "design review"
|
|
32
|
+
- "多专家评审"
|
|
33
|
+
- "consensus review"
|
|
34
|
+
- "code walkthrough"
|
|
35
|
+
- "push review"
|
|
36
|
+
- "architecture review"
|
|
37
|
+
- "delphi review"
|
|
38
|
+
- "run delphi"
|
|
39
|
+
- "start delphi"
|
|
40
|
+
triggers_negative_examples:
|
|
41
|
+
- "how does delphi work" # educational question about the process
|
|
42
|
+
- "what is delphi review" # asking for explanation, not execution
|
|
43
|
+
- "code review checklist" # asking for a checklist, not running review
|
|
44
|
+
- "review my code quickly" # single-pass quick review, not Delphi multi-round
|
|
45
|
+
- "can you review this" # ambiguous — could be casual peer review
|
|
46
|
+
- "peer review" # different process from Delphi
|
|
47
|
+
- "I need a review" # too vague, casual request
|
|
48
|
+
- "explain the review process" # educational, not executional
|
|
49
|
+
- "review guidelines" # asking about guidelines, not executing
|
|
50
|
+
- "how to review a design" # educational
|
|
51
|
+
- "PR review" # single-reviewer PR check, not multi-expert Delphi
|
|
52
|
+
triggers_negative_test_cases:
|
|
53
|
+
- input: "how does delphi work"
|
|
54
|
+
expect: "NOT triggered"
|
|
55
|
+
- input: "code review checklist"
|
|
56
|
+
expect: "NOT triggered"
|
|
57
|
+
- input: "review my code quickly"
|
|
58
|
+
expect: "NOT triggered"
|
|
59
|
+
- input: "can you review this"
|
|
60
|
+
expect: "NOT triggered"
|
|
61
|
+
- input: "peer review"
|
|
62
|
+
expect: "NOT triggered"
|
|
63
|
+
- input: "I need a review"
|
|
64
|
+
expect: "NOT triggered"
|
|
65
|
+
- input: "explain the review process"
|
|
66
|
+
expect: "NOT triggered"
|
|
67
|
+
- input: "review guidelines"
|
|
68
|
+
expect: "NOT triggered"
|
|
69
|
+
- input: "/delphi-review"
|
|
70
|
+
expect: "triggered"
|
|
71
|
+
- input: "review this design"
|
|
72
|
+
expect: "triggered"
|
|
73
|
+
- input: "评审这个需求"
|
|
74
|
+
expect: "triggered"
|
|
75
|
+
- input: "评审这个设计"
|
|
76
|
+
expect: "triggered"
|
|
77
|
+
- input: "design review"
|
|
78
|
+
expect: "triggered"
|
|
79
|
+
- input: "多专家评审"
|
|
80
|
+
expect: "triggered"
|
|
81
|
+
- input: "consensus review"
|
|
82
|
+
expect: "triggered"
|
|
83
|
+
- input: "code walkthrough"
|
|
84
|
+
expect: "triggered"
|
|
85
|
+
- input: "architecture review"
|
|
86
|
+
expect: "triggered"
|
|
87
|
+
- input: "delphi review"
|
|
88
|
+
expect: "triggered"
|
|
89
|
+
- input: "run delphi"
|
|
90
|
+
expect: "triggered"
|
|
91
|
+
workflow_steps:
|
|
92
|
+
- "Step 0: Input Validation → Output: [DelphiReview] or [DelphiReview:BLOCKED]"
|
|
93
|
+
- "Round 1: Anonymous Independent Review → Output: [DelphiReview Round 1] expert JSON verdicts"
|
|
94
|
+
- "Consensus Check → Output: consensus_ratio, verdict summary"
|
|
95
|
+
- "Round 2: Exchange Opinions (if needed) → Output: [DelphiReview Round 2] revised verdicts"
|
|
96
|
+
- "Round 3: Final Positions (if needed) → Output: [DelphiReview Round 3] final verdicts"
|
|
97
|
+
- "Fix & Re-Review (if REQUEST_CHANGES) → restart from Round 2"
|
|
98
|
+
- "Generate Output: consensus report + specification.yaml (design) or .code-walkthrough-result.json (walkthrough)"
|
|
99
|
+
hooks:
|
|
100
|
+
security:
|
|
101
|
+
- "/careful": "Safety guardrails for destructive commands — ensure review is read-only"
|
|
102
|
+
- "/freeze": "Restrict edits to review scope — prevent accidental changes during review"
|
|
103
|
+
- "/guard": "Full safety mode combining careful + freeze for maximum protection"
|
|
104
|
+
operational:
|
|
105
|
+
- "/context-save": "Save review context before pause or handoff"
|
|
106
|
+
- "/context-restore": "Restore review context on resume"
|
|
107
|
+
tools_allowed:
|
|
108
|
+
- "Read" # read design docs, code, configs, specification.yaml
|
|
109
|
+
- "Glob" # find files by pattern
|
|
110
|
+
- "Grep" # search code content
|
|
111
|
+
- "Bash" # read-only: git diff, git log, file stats
|
|
112
|
+
- "Task(subagent_type=oracle)" # dispatch oracle for deep analysis
|
|
113
|
+
- "Task(subagent_type=delphi-reviewer-architecture)" # dispatch architecture expert
|
|
114
|
+
- "Task(subagent_type=delphi-reviewer-technical)" # dispatch technical expert
|
|
115
|
+
- "Task(subagent_type=delphi-reviewer-feasibility)" # dispatch feasibility expert
|
|
116
|
+
- "Write(specification.yaml, .code-walkthrough-result.json, delphi-reviewed.json)" # write output artifacts only
|
|
117
|
+
- "Skill" # invoke related skills for context
|
|
118
|
+
- "Question" # ask user at decision points
|
|
119
|
+
tools_denied:
|
|
120
|
+
- "Edit(source code)" # NEVER edit implementation code during review
|
|
121
|
+
- "Write(source code)" # NEVER write implementation code
|
|
122
|
+
- "Bash(git commit, git push)" # NEVER commit or push during review
|
|
123
|
+
- "Task(category=*, subagent_type=build)" # NEVER delegate build/implementation
|
|
5
124
|
---
|
|
6
125
|
|
|
7
126
|
# Delphi Consensus Review
|
|
@@ -31,27 +150,55 @@ auto_continue: true
|
|
|
31
150
|
- code walkthrough
|
|
32
151
|
- push review
|
|
33
152
|
- architecture review
|
|
34
|
-
-
|
|
153
|
+
- delphi review
|
|
154
|
+
- run delphi
|
|
155
|
+
- start delphi
|
|
35
156
|
|
|
36
|
-
|
|
157
|
+
**NOT triggered by:**
|
|
158
|
+
- "how does delphi work" (educational)
|
|
159
|
+
- "code review checklist" (asking for a list)
|
|
160
|
+
- "review my code quickly" (single-pass, not multi-expert)
|
|
161
|
+
- "can you review this" (ambiguous casual review)
|
|
162
|
+
- "peer review" (different process)
|
|
163
|
+
- "I need a review" (too vague)
|
|
164
|
+
- "explain the review process" (educational)
|
|
165
|
+
- "review guidelines" (asking about guidelines)
|
|
37
166
|
|
|
38
|
-
|
|
39
|
-
2. Expert Assignment: 分配 2-3 位专家,至少来自 2 家不同厂商(国产模型)
|
|
40
|
-
3. Round 1: 匿名独立评审 — 各专家互不知对方意见,独立输出 verdict JSON
|
|
41
|
-
4. Consensus Check: 共识检查 — 共识 ≥90% 且全部 APPROVED 则完成
|
|
42
|
-
5. Round 2: 交换意见 — 未达成共识时,专家查看他人意见后重新评审
|
|
43
|
-
6. Round 3: 最终立场 — 仍未达成共识时,输出最终立场和分歧点
|
|
44
|
-
7. Fix & Re-Review: REQUEST_CHANGES → 修复 Critical+Major → 从 Round 2 重新评审
|
|
45
|
-
8. Generate Output: 生成共识报告 + specification.yaml + delphi-reviewed.json
|
|
167
|
+
## Workflow
|
|
46
168
|
|
|
47
|
-
|
|
48
|
-
**
|
|
49
|
-
|
|
169
|
+
1. **Step 0: Input Validation** — Check input contains reviewable content (design doc/code/spec/diff). Empty input → `[DelphiReview:BLOCKED]`.
|
|
170
|
+
2. **Round 1: Anonymous Independent Review** — Experts review without seeing each other's opinions. Output individual verdict JSON.
|
|
171
|
+
3. **Consensus Check** — Consensus >=90% AND all APPROVED → complete.
|
|
172
|
+
4. **Round 2: Exchange Opinions** — Experts see others' opinions, re-evaluate.
|
|
173
|
+
5. **Round 3: Final Positions** — Final stance, output disagreements if any.
|
|
174
|
+
6. **Fix & Re-Review** — REQUEST_CHANGES → fix Critical+Major → restart from Round 2.
|
|
175
|
+
7. **Generate Output** — Consensus report + specification.yaml (design) or `.code-walkthrough-result.json` (walkthrough) + `delphi-reviewed.json`.
|
|
50
176
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
|
|
177
|
+
## Activation (MANDATORY for L1 Trigger Detection)
|
|
178
|
+
|
|
179
|
+
Every delphi-review response MUST begin with an activation marker as the first line:
|
|
180
|
+
|
|
181
|
+
| Marker | Meaning |
|
|
182
|
+
|--------|---------|
|
|
183
|
+
| `[DelphiReview]` | Standard entry — review proceeding |
|
|
184
|
+
| `[DelphiReview:BLOCKED]` | Step 0 input validation failure |
|
|
185
|
+
| `[DelphiReview:WARNING]` | Red flag detected (reserved) |
|
|
186
|
+
|
|
187
|
+
## Round Markers (MANDATORY for L3 Step Adherence)
|
|
188
|
+
|
|
189
|
+
Each round MUST output a structured round marker:
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
[DelphiReview Round 1] Anonymous Independent Review
|
|
193
|
+
[DelphiReview Round 2] Exchange Opinions
|
|
194
|
+
[DelphiReview Round 3] Final Positions
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
**Rules**:
|
|
198
|
+
- Every round marker MUST appear as a separate, identifiable line
|
|
199
|
+
- Round numbering MUST be sequential (1, 2, 3)
|
|
200
|
+
- After each round, output consensus summary: `consensus_ratio=N/N`, `verdict_status: converging | stable | diverging`
|
|
201
|
+
- Final round MUST output verdict: `APPROVED | PASS_WITH_CAVEATS | REQUEST_CHANGES | PROCESS_BLOCK`
|
|
55
202
|
|
|
56
203
|
## 核心原则
|
|
57
204
|
|
|
@@ -92,41 +239,11 @@ Permitted variants (all satisfy L1 trigger):
|
|
|
92
239
|
|
|
93
240
|
**MUST 从 `opencode.json` 的 agent 配置中读取模型**,**严禁** hardcode 模型名称。
|
|
94
241
|
|
|
95
|
-
模型选择流程:
|
|
96
|
-
1. 读取 `opencode.json` 中 `agent` 字段下 `delphi-reviewer-architecture`、`delphi-reviewer-technical`、`delphi-reviewer-feasibility` 三个 agent 定义
|
|
97
|
-
2. 提取每个 agent 的 `model` 字段(格式:`provider/model-name`)
|
|
98
|
-
3. 分别作为 Expert A(架构)、Expert B(技术)、Expert C(可行性) 的模型
|
|
99
|
-
|
|
100
242
|
**关键原则**:
|
|
101
|
-
- ✅ 三个专家必须来自 **至少 2 家不同 provider
|
|
243
|
+
- ✅ 三个专家必须来自 **至少 2 家不同 provider**
|
|
102
244
|
- ❌ 禁止 hardcode 模型名称(模型列表以 `opencode.json` 为准)
|
|
103
245
|
- ❌ 禁止三个专家全部使用同一 provider 的模型
|
|
104
246
|
|
|
105
|
-
**`opencode.json` agent 配置示例**(参考 `opencode.json.delphi.example`):
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"agent": {
|
|
109
|
-
"delphi-reviewer-architecture": {
|
|
110
|
-
"description": "...",
|
|
111
|
-
"mode": "subagent",
|
|
112
|
-
"model": "deepseek/deepseek-chat",
|
|
113
|
-
"tools": { "read": true, "bash": true, "write": false, "edit": false }
|
|
114
|
-
},
|
|
115
|
-
"delphi-reviewer-technical": {
|
|
116
|
-
"mode": "subagent",
|
|
117
|
-
"model": "bailian-coding-plan/qwen3.6-plus",
|
|
118
|
-
"tools": { "read": true, "bash": true, "write": false, "edit": false }
|
|
119
|
-
},
|
|
120
|
-
"delphi-reviewer-feasibility": {
|
|
121
|
-
"mode": "subagent",
|
|
122
|
-
"model": "deepseek/deepseek-chat",
|
|
123
|
-
"tools": { "read": true, "bash": true, "write": false, "edit": false }
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
> 上例中 3 个专家使用了 2 个不同 provider(deepseek + bailian-coding-plan),满足跨 provider 要求。**实际模型名称以你的 `opencode.json` 配置为准,无需在 SKILL.md 维护模型列表。**
|
|
129
|
-
|
|
130
247
|
### 共识阈值
|
|
131
248
|
|
|
132
249
|
| 阈值 | 说明 |
|
|
@@ -166,78 +283,14 @@ Phase 0: 准备 → Round 1: 匿名独立评审 → 共识检查
|
|
|
166
283
|
|
|
167
284
|
1. **有完整输入** → 直接进入 Phase 0(准备阶段),开始 Round 1
|
|
168
285
|
2. **有部分输入**(占位符、描述性文本)→ 按输入内容执行评审,标注 `[INPUT: PARTIAL]`,但继续执行
|
|
169
|
-
3. **无输入**(仅触发词,无文档/代码)→
|
|
170
|
-
|
|
171
|
-
**Detection heuristics for Step 0**:
|
|
172
|
-
- **Complete**: Contains ≥1 structural element (e.g., `##`, `requirement`, `AC-`, `function`, `class`, `interface`, YAML frontmatter, code block with language tag) AND ≥50 non-whitespace characters of actual content (not placeholder brackets like `[...]`, `{...}`, `<insert here>`).
|
|
173
|
-
- **Partial**: Contains descriptive text referencing a design/code artifact BUT lacks substantive structure (e.g., "I need to review my login module" with no actual code/design attached), OR contains obvious placeholders like `[...]`, `(content)`, `<insert here>`, `TODO`.
|
|
174
|
-
- **None**: Only trigger words (`/delphi-review`, "review this") with zero additional content, OR content that is exclusively questions about the review process itself ("how does delphi work?").
|
|
175
|
-
|
|
176
|
-
**Partial input constraint**: When input is PARTIAL, cap review to 1 round with `confidence=low` annotation. Do NOT proceed with full multi-round review on insufficient input.
|
|
177
|
-
|
|
178
|
-
**File path validation**: If user provides a file path (e.g., `--spec specification.yaml`):
|
|
179
|
-
- Verify the file exists and is non-empty
|
|
180
|
-
- If path is invalid → output: `[DelphiReview:BLOCKED] File not found: [path]. Please verify the path.`
|
|
181
|
-
- If file is empty → output: `[DelphiReview:BLOCKED] File is empty: [path]. Please provide valid content.`
|
|
182
|
-
|
|
183
|
-
```
|
|
184
|
-
[DelphiReview:BLOCKED] 需要设计文档或代码内容才能启动评审。
|
|
185
|
-
|
|
186
|
-
请提供以下之一:
|
|
187
|
-
- 设计文档(design doc / specification)
|
|
188
|
-
- 代码变更(code diff / PR link)
|
|
189
|
-
- specification.yaml 文件路径
|
|
190
|
-
- 架构设计说明
|
|
191
|
-
|
|
192
|
-
评审输入示例:
|
|
193
|
-
/delphi-review "Design Doc: [your content here]"
|
|
194
|
-
/delphi-review --spec specification.yaml
|
|
195
|
-
/delphi-review --mode code-walkthrough
|
|
196
|
-
REMAINING STEPS: N/A (input validation failed)
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
在此状态下,BLOCKED 视为步骤已完成(后续步骤标记为 N/A)。
|
|
286
|
+
3. **无输入**(仅触发词,无文档/代码)→ 输出阻断响应
|
|
200
287
|
|
|
201
|
-
|
|
288
|
+
**Detection heuristics**:
|
|
289
|
+
- **Complete**: >=1 structural element (##, requirement, AC-, function, class, interface, YAML frontmatter, code block) AND >=50 non-whitespace chars.
|
|
290
|
+
- **Partial**: Descriptive text referencing a design/code artifact BUT lacks structure, OR contains placeholders.
|
|
291
|
+
- **None**: Only trigger words with zero additional content, OR questions about the review process itself.
|
|
202
292
|
|
|
203
|
-
**
|
|
204
|
-
|
|
205
|
-
**Orchestrator 自动调度规则**(#218 subagent 内部自动多轮循环)→ 详见 `references/orchestrator-dispatch.md`
|
|
206
|
-
|
|
207
|
-
**Automatic re-review**: 对于常见可控问题(措辞模糊、AC 缺失、格式问题),subagent 应自行修复后自动重评审,无需等待用户。
|
|
208
|
-
|
|
209
|
-
### ⭐ 自动延续规则(MANDATORY — 防止流程卡住)
|
|
210
|
-
|
|
211
|
-
当 Delphi Review 启动多轮评审(Round 2+)时,**orchestrator 必须自动延续流程,不得等待用户输入**。
|
|
212
|
-
|
|
213
|
-
**触发条件**:
|
|
214
|
-
- Round N 完成,但未达到终止条件(100% approved + ≥90% consensus + 所有 Critical/Major 已处理)
|
|
215
|
-
- 存在待处理的背景任务(subagent dispatched tasks)
|
|
216
|
-
|
|
217
|
-
**自动延续动作**:
|
|
218
|
-
1. **收集背景任务结果**:等待 `<system-reminder>` 通知后,立即调用 `background_output(task_id="bg_...")` 获取所有 subagent 输出
|
|
219
|
-
2. **合成 Round N 总结**:汇总专家意见、共识度、待处理问题
|
|
220
|
-
3. **自动启动 Round N+1**:立即 dispatch 新一轮 subagent 任务,携带上一轮总结作为上下文
|
|
221
|
-
4. **循环直至终止**:重复步骤 1-3,直到达到终止条件
|
|
222
|
-
|
|
223
|
-
**终止条件**(满足全部):
|
|
224
|
-
- ✅ 所有专家状态 = APPROVED
|
|
225
|
-
- ✅ 共识度 ≥ 90%
|
|
226
|
-
- ✅ 所有 Critical 级别问题已解决
|
|
227
|
-
- ✅ 所有 Major 级别问题已处理(或已记录为已知问题)
|
|
228
|
-
|
|
229
|
-
**例外情况**(直接输出,不进入下一轮):
|
|
230
|
-
- Round 1 即达到 100% approved + 100% consensus → 直接输出最终报告
|
|
231
|
-
- 已达最大轮数(5 轮)→ 输出"未达成共识"报告,标记为 PROCESS_BLOCK
|
|
232
|
-
|
|
233
|
-
**禁止行为**:
|
|
234
|
-
- ❌ 询问用户"要继续吗?"
|
|
235
|
-
- ❌ 等待用户手动触发 Round N+1
|
|
236
|
-
- ❌ 在未达到终止条件时停止流程
|
|
237
|
-
|
|
238
|
-
**错误处理**:
|
|
239
|
-
- 背景任务超时(>10min)→ 标记为 TIMEOUT,输出部分结果并终止
|
|
240
|
-
- 背景任务失败(subagent 错误)→ 重试 1 次,仍失败则输出错误报告并终止
|
|
293
|
+
**Partial input constraint**: Cap review to 1 round with `confidence=low` annotation.
|
|
241
294
|
|
|
242
295
|
---
|
|
243
296
|
|
|
@@ -259,24 +312,12 @@ REMAINING STEPS: N/A (input validation failed)
|
|
|
259
312
|
|
|
260
313
|
---
|
|
261
314
|
|
|
262
|
-
## Output Format (MANDATORY)
|
|
263
|
-
|
|
264
|
-
**Single 模式简化输出**: 当 single reviewer 模式(非 Multi-Expert)时,可使用简化输出格式:
|
|
265
|
-
- verdict + confidence + issues_list(合并 critical/major/minor)+ summary
|
|
266
|
-
- 完整 JSON 格式保留用于 multi-expert 多轮评审场景
|
|
267
|
-
|
|
268
|
-
**Single 模式简化模板**:
|
|
269
|
-
```
|
|
270
|
-
[DelphiReview] verdict=APPROVED | REQUEST_CHANGES | BLOCKED
|
|
271
|
-
confidence=N/10
|
|
272
|
-
issues=[critical: N, major: N, minor: N]
|
|
273
|
-
summary: [1-2 sentence verdict summary]
|
|
274
|
-
```
|
|
315
|
+
## Output Format (MANDATORY for L3)
|
|
275
316
|
|
|
276
317
|
**⚠️ Single vs Multi-Expert Output**:
|
|
277
|
-
- **Multi-Expert Mode (default)**: MUST use the full JSON schema below. Each expert outputs independently; the orchestrator aggregates into `consensus_report`.
|
|
278
|
-
- **Single Reviewer Mode** (
|
|
279
|
-
- **Never mix formats**.
|
|
318
|
+
- **Multi-Expert Mode (default)**: MUST use the full JSON schema below. Each expert outputs independently; the orchestrator aggregates into `consensus_report`.
|
|
319
|
+
- **Single Reviewer Mode** (explicit `--single`): MAY use simplified text template: `[DelphiReview] verdict=APPROVED|REQUEST_CHANGES|BLOCKED confidence=N/10 issues=[critical:N, major:N, minor:N] summary: [1-2 sentences]`.
|
|
320
|
+
- **Never mix formats**.
|
|
280
321
|
|
|
281
322
|
```json
|
|
282
323
|
{
|
|
@@ -315,12 +356,10 @@ summary: [1-2 sentence verdict summary]
|
|
|
315
356
|
- [ ] 最终裁决是 **APPROVED** 或 **APPROVED_WITH_MINOR**
|
|
316
357
|
- [ ] 共识报告生成并保存
|
|
317
358
|
- [ ] IF REQUEST_CHANGES → 已修复 → 已重新评审 → APPROVED
|
|
318
|
-
- [ ] ⭐ **IF APPROVED (design mode): 生成 specification.yaml
|
|
319
|
-
- [ ] ⭐ **状态文件**: 写入 `.sprint-state/delphi-reviewed.json
|
|
320
|
-
- [ ] **Code-walkthrough mode**: 写入 `.code-walkthrough-result.json`(commit hash 匹配 HEAD)
|
|
359
|
+
- [ ] ⭐ **IF APPROVED (design mode): 生成 specification.yaml**
|
|
360
|
+
- [ ] ⭐ **状态文件**: 写入 `.sprint-state/delphi-reviewed.json`
|
|
321
361
|
|
|
322
362
|
**IF REQUEST_CHANGES/REJECTED → CANNOT claim complete**
|
|
323
|
-
**IF 任何条件未满足 → MUST BLOCK**
|
|
324
363
|
|
|
325
364
|
### 状态文件格式
|
|
326
365
|
|
|
@@ -334,8 +373,6 @@ summary: [1-2 sentence verdict summary]
|
|
|
334
373
|
{"mode":"code-walkthrough","commit":"abc123...","timestamp":"...","verdict":"APPROVED","consensus_ratio":1.0}
|
|
335
374
|
```
|
|
336
375
|
|
|
337
|
-
> Phase 2 BUILD 入口检查 (DELPHI-GATE) 读取此文件。`verdict != "APPROVED"` → 禁止编码。
|
|
338
|
-
|
|
339
376
|
---
|
|
340
377
|
|
|
341
378
|
## Anti-Patterns
|
|
@@ -356,24 +393,13 @@ summary: [1-2 sentence verdict summary]
|
|
|
356
393
|
|
|
357
394
|
## Red Flags
|
|
358
395
|
|
|
359
|
-
### 检测触发器(模型可执行检测)
|
|
360
|
-
|
|
361
396
|
| 用户输入模式 | 触发词 | 响应动作 |
|
|
362
397
|
|-------------|--------|---------|
|
|
363
|
-
| 要求跳过评审 | "skip review", "不用评审", "跳过评审"
|
|
364
|
-
| 时间压力 | "来不及", "时间紧", "emergency"
|
|
365
|
-
| 提前终止 | Round 1 后用户说 "可以了", "够了"
|
|
366
|
-
| 单专家自评 | 用户仅指定 1 个专家
|
|
367
|
-
| 无文档输入 | 仅触发词,无设计/代码内容 | →
|
|
368
|
-
|
|
369
|
-
### 原则性声明
|
|
370
|
-
|
|
371
|
-
| 借口 | 现实 |
|
|
372
|
-
|------|------|
|
|
373
|
-
| "这只是小变更" | 所有变更都需要评审 |
|
|
374
|
-
| "Round 1 就够了" | 不够,必须多轮直到共识 |
|
|
375
|
-
| "生成报告就完成了" | APPROVED 才算完成 |
|
|
376
|
-
| "2/3 同意就是共识" | 还要检查问题共识比例 >=90% |
|
|
398
|
+
| 要求跳过评审 | "skip review", "不用评审", "跳过评审" | → 提醒评审是投资而非开销 |
|
|
399
|
+
| 时间压力 | "来不及", "时间紧", "emergency" | → 提醒时间紧迫正是需要评审的时刻 |
|
|
400
|
+
| 提前终止 | Round 1 后用户说 "可以了", "够了" | → BLOCK: 评审未达终止条件 |
|
|
401
|
+
| 单专家自评 | 用户仅指定 1 个专家 | → 提醒至少需要 2 位专家 |
|
|
402
|
+
| 无文档输入 | 仅触发词,无设计/代码内容 | → `[DelphiReview:BLOCKED]` |
|
|
377
403
|
|
|
378
404
|
---
|
|
379
405
|
|
|
@@ -386,3 +412,13 @@ summary: [1-2 sentence verdict summary]
|
|
|
386
412
|
5. ✅ 状态文件已写入
|
|
387
413
|
|
|
388
414
|
**缺少任何一项 = 未完成**
|
|
415
|
+
|
|
416
|
+
## References
|
|
417
|
+
|
|
418
|
+
> **Path convention**: `@references/` resolves relative to the skill directory (`skills/delphi-review/`).
|
|
419
|
+
|
|
420
|
+
| File | Content |
|
|
421
|
+
|------|---------|
|
|
422
|
+
| `@references/code-walkthrough.md` | Code-walkthrough mode specification |
|
|
423
|
+
| `@references/orchestrator-dispatch.md` | Orchestrator auto-dispatch rules (#218 subagent multi-round loop) |
|
|
424
|
+
| `@references/round-templates.md` | Round templates (anonymous/exchange/final/fix report formats) |
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# SKILLS/SPRINT-FLOW KNOWLEDGE BASE
|
|
2
2
|
|
|
3
3
|
**Generated:** 2026-07-09
|
|
4
|
-
**Commit:**
|
|
5
|
-
**Branch:**
|
|
6
|
-
**Version:** 0.14.
|
|
4
|
+
**Commit:** 8408ba6
|
|
5
|
+
**Branch:** sprint/2026-07-09-01
|
|
6
|
+
**Version:** 0.14.4.0
|
|
7
7
|
|
|
8
8
|
## OVERVIEW
|
|
9
9
|
**6-phase** development pipeline (v2.0 compact redesign, Issue #290): PREP → DESIGN → BUILD → VERIFY → SHIP → CLOSE. Phase 3/6 BUILD default build mode is **ralph-loop** (REQ-level iteration, 40-67% token savings vs parallel). HARD-GATE between DESIGN (2/6) and BUILD (3/6): design must pass Delphi review (≥90% consensus) before any coding.
|