specops 0.2.4 → 0.3.0
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/.opencode/agent/specops-codebase-mapper.md +764 -0
- package/.opencode/agent/specops-debugger.md +1246 -0
- package/.opencode/agent/specops-executor.md +469 -0
- package/.opencode/agent/specops-integration-checker.md +443 -0
- package/.opencode/agent/specops-phase-researcher.md +547 -0
- package/.opencode/agent/specops-plan-checker.md +690 -0
- package/.opencode/agent/specops-planner.md +575 -0
- package/.opencode/agent/specops-project-researcher.md +354 -0
- package/.opencode/agent/specops-research-synthesizer.md +239 -0
- package/.opencode/agent/specops-roadmapper.md +642 -0
- package/.opencode/agent/specops-work-verifier.md +573 -0
- package/.opencode/references/checkpoints.md +776 -0
- package/.opencode/references/continuation-format.md +249 -0
- package/.opencode/references/decimal-phase-calculation.md +65 -0
- package/.opencode/references/git-integration.md +248 -0
- package/.opencode/references/git-planning-commit.md +38 -0
- package/.opencode/references/model-profile-resolution.md +34 -0
- package/.opencode/references/model-profiles.md +92 -0
- package/.opencode/references/phase-argument-parsing.md +61 -0
- package/.opencode/references/planning-config.md +196 -0
- package/.opencode/references/questioning.md +145 -0
- package/.opencode/references/tdd.md +263 -0
- package/.opencode/references/ui-brand.md +160 -0
- package/.opencode/references/verification-patterns.md +612 -0
- package/.opencode/skills/demand-analysis/SKILL.md +142 -10
- package/.opencode/templates/DEBUG.md +164 -0
- package/.opencode/templates/UAT.md +180 -0
- package/.opencode/templates/VALIDATION.md +76 -0
- package/.opencode/templates/codebase/architecture.md +255 -0
- package/.opencode/templates/codebase/concerns.md +310 -0
- package/.opencode/templates/codebase/conventions.md +307 -0
- package/.opencode/templates/codebase/integrations.md +280 -0
- package/.opencode/templates/codebase/stack.md +186 -0
- package/.opencode/templates/codebase/structure.md +285 -0
- package/.opencode/templates/codebase/testing.md +480 -0
- package/.opencode/templates/context.md +221 -0
- package/.opencode/templates/continue-here.md +78 -0
- package/.opencode/templates/debug-subagent-prompt.md +91 -0
- package/.opencode/templates/discovery.md +147 -0
- package/.opencode/templates/milestone-archive.md +123 -0
- package/.opencode/templates/milestone.md +115 -0
- package/.opencode/templates/phase-prompt.md +333 -0
- package/.opencode/templates/planner-subagent-prompt.md +117 -0
- package/.opencode/templates/project.md +184 -0
- package/.opencode/templates/requirements.md +130 -0
- package/.opencode/templates/research-project/ARCHITECTURE.md +204 -0
- package/.opencode/templates/research-project/FEATURES.md +147 -0
- package/.opencode/templates/research-project/PITFALLS.md +200 -0
- package/.opencode/templates/research-project/STACK.md +120 -0
- package/.opencode/templates/research-project/SUMMARY.md +170 -0
- package/.opencode/templates/research.md +278 -0
- package/.opencode/templates/retrospective.md +54 -0
- package/.opencode/templates/roadmap.md +202 -0
- package/.opencode/templates/state.md +176 -0
- package/.opencode/templates/summary-complex.md +59 -0
- package/.opencode/templates/summary-minimal.md +41 -0
- package/.opencode/templates/summary-standard.md +48 -0
- package/.opencode/templates/summary.md +248 -0
- package/.opencode/templates/user-setup.md +311 -0
- package/.opencode/templates/verification-report.md +322 -0
- package/.opencode/workflows/add-phase.md +111 -0
- package/.opencode/workflows/add-tests.md +350 -0
- package/.opencode/workflows/add-todo.md +157 -0
- package/.opencode/workflows/audit-milestone.md +297 -0
- package/.opencode/workflows/check-todos.md +176 -0
- package/.opencode/workflows/cleanup.md +152 -0
- package/.opencode/workflows/complete-milestone.md +763 -0
- package/.opencode/workflows/diagnose-issues.md +219 -0
- package/.opencode/workflows/discovery-phase.md +288 -0
- package/.opencode/workflows/discuss-phase.md +542 -0
- package/.opencode/workflows/execute-phase.md +449 -0
- package/.opencode/workflows/execute-plan.md +447 -0
- package/.opencode/workflows/health.md +156 -0
- package/.opencode/workflows/help.md +489 -0
- package/.opencode/workflows/insert-phase.md +129 -0
- package/.opencode/workflows/list-phase-assumptions.md +178 -0
- package/.opencode/workflows/map-codebase.md +315 -0
- package/.opencode/workflows/new-milestone.md +382 -0
- package/.opencode/workflows/new-project.md +1116 -0
- package/.opencode/workflows/pause-work.md +122 -0
- package/.opencode/workflows/plan-milestone-gaps.md +274 -0
- package/.opencode/workflows/plan-phase.md +569 -0
- package/.opencode/workflows/progress.md +381 -0
- package/.opencode/workflows/quick.md +453 -0
- package/.opencode/workflows/remove-phase.md +154 -0
- package/.opencode/workflows/research-phase.md +73 -0
- package/.opencode/workflows/resume-project.md +304 -0
- package/.opencode/workflows/set-profile.md +80 -0
- package/.opencode/workflows/settings.md +213 -0
- package/.opencode/workflows/transition.md +544 -0
- package/.opencode/workflows/update.md +219 -0
- package/.opencode/workflows/verify-phase.md +242 -0
- package/.opencode/workflows/verify-work.md +569 -0
- package/commands/specops/add-phase.md +43 -0
- package/commands/specops/add-tests.md +41 -0
- package/commands/specops/add-todo.md +47 -0
- package/commands/specops/audit-milestone.md +36 -0
- package/commands/specops/check-todos.md +45 -0
- package/commands/specops/cleanup.md +18 -0
- package/commands/specops/complete-milestone.md +136 -0
- package/commands/specops/debug.md +167 -0
- package/commands/specops/discuss-phase.md +83 -0
- package/commands/specops/execute-phase.md +41 -0
- package/commands/specops/health.md +22 -0
- package/commands/specops/help.md +22 -0
- package/commands/specops/insert-phase.md +32 -0
- package/commands/specops/join-discord.md +18 -0
- package/commands/specops/list-phase-assumptions.md +46 -0
- package/commands/specops/map-codebase.md +71 -0
- package/commands/specops/new-milestone.md +44 -0
- package/commands/specops/new-project.md +42 -0
- package/commands/specops/pause-work.md +38 -0
- package/commands/specops/plan-milestone-gaps.md +34 -0
- package/commands/specops/plan-phase.md +45 -0
- package/commands/specops/progress.md +24 -0
- package/commands/specops/quick.md +41 -0
- package/commands/specops/reapply-patches.md +111 -0
- package/commands/specops/remove-phase.md +31 -0
- package/commands/specops/research-phase.md +189 -0
- package/commands/specops/resume-work.md +40 -0
- package/commands/specops/set-profile.md +34 -0
- package/commands/specops/settings.md +36 -0
- package/commands/specops/update.md +37 -0
- package/commands/specops/verify-work.md +38 -0
- package/dist/__e2e__/01-state-engine.e2e.test.js +1 -1
- package/dist/acceptance/lazyDetector.js +1 -1
- package/dist/acceptance/lazyDetector.test.js +1 -1
- package/dist/acceptance/reporter.js +1 -1
- package/dist/acceptance/reporter.test.js +1 -1
- package/dist/acceptance/runner.js +1 -1
- package/dist/acceptance/runner.test.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/context/index.js +1 -1
- package/dist/context/promptTemplate.js +1 -1
- package/dist/context/promptTemplate.test.js +1 -1
- package/dist/context/techContextLoader.js +1 -1
- package/dist/context/techContextLoader.test.js +1 -1
- package/dist/engine.js +1 -1
- package/dist/evolution/distiller.js +1 -1
- package/dist/evolution/index.js +1 -1
- package/dist/evolution/memoryGraph.js +1 -1
- package/dist/evolution/selector.js +1 -1
- package/dist/evolution/signals.js +1 -1
- package/dist/evolution/solidify.js +1 -1
- package/dist/evolution/store.js +1 -1
- package/dist/evolution/types.js +1 -1
- package/dist/init.d.ts +4 -3
- package/dist/init.js +1 -1
- package/dist/machines/agentMachine.js +1 -1
- package/dist/machines/agentMachine.test.js +1 -1
- package/dist/machines/supervisorMachine.js +1 -1
- package/dist/machines/supervisorMachine.test.js +1 -1
- package/dist/persistence/schema.js +1 -1
- package/dist/persistence/stateFile.js +1 -1
- package/dist/persistence/stateFile.test.js +1 -1
- package/dist/plugin-engine.js +1 -1
- package/dist/plugin.js +1 -1
- package/dist/types/index.js +1 -1
- package/dist/utils/id.js +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
检查项目进度,汇总近期工作和后续计划,然后智能路由到下一步操作——执行现有计划或创建下一个计划。在继续工作前提供态势感知。
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
在开始之前,阅读调用提示的 execution_context 中引用的所有文件。
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="init_context">
|
|
12
|
+
**加载进度上下文(仅路径):**
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
INIT=$(node .opencode/bin/specops-tools.cjs init progress)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
从初始化 JSON 中提取:`project_exists`、`roadmap_exists`、`state_exists`、`phases`、`current_phase`、`next_phase`、`milestone_version`、`completed_count`、`phase_count`、`paused_at`、`state_path`、`roadmap_path`、`project_path`、`config_path`。
|
|
19
|
+
|
|
20
|
+
如果 `project_exists` 为 false(没有 `.planning/` 目录):
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
未找到规划结构。
|
|
24
|
+
|
|
25
|
+
运行 /specops:new-project 开始新项目。
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
退出。
|
|
29
|
+
|
|
30
|
+
如果缺少 STATE.md:建议 `/specops:new-project`。
|
|
31
|
+
|
|
32
|
+
**如果缺少 ROADMAP.md 但 PROJECT.md 存在:**
|
|
33
|
+
|
|
34
|
+
这意味着里程碑已完成并归档。转到**路由 F**(里程碑之间)。
|
|
35
|
+
|
|
36
|
+
如果同时缺少 ROADMAP.md 和 PROJECT.md:建议 `/specops:new-project`。
|
|
37
|
+
</step>
|
|
38
|
+
|
|
39
|
+
<step name="load">
|
|
40
|
+
**使用 specops-tools 的结构化提取:**
|
|
41
|
+
|
|
42
|
+
不读取完整文件,而是使用针对性工具仅获取报告所需的数据:
|
|
43
|
+
- `ROADMAP=$(node .opencode/bin/specops-tools.cjs roadmap analyze)`
|
|
44
|
+
- `STATE=$(node .opencode/bin/specops-tools.cjs state-snapshot)`
|
|
45
|
+
|
|
46
|
+
这最小化了编排器的上下文使用。
|
|
47
|
+
</step>
|
|
48
|
+
|
|
49
|
+
<step name="analyze_roadmap">
|
|
50
|
+
**获取全面的路线图分析(替代手动解析):**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
ROADMAP=$(node .opencode/bin/specops-tools.cjs roadmap analyze)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
返回结构化 JSON,包含:
|
|
57
|
+
- 所有阶段及其磁盘状态(complete/partial/planned/empty/no_directory)
|
|
58
|
+
- 每个阶段的目标和依赖
|
|
59
|
+
- 每个阶段的计划和摘要数量
|
|
60
|
+
- 汇总统计:总计划数、摘要数、进度百分比
|
|
61
|
+
- 当前和下一阶段识别
|
|
62
|
+
|
|
63
|
+
使用此结果替代手动读取/解析 ROADMAP.md。
|
|
64
|
+
</step>
|
|
65
|
+
|
|
66
|
+
<step name="recent">
|
|
67
|
+
**收集近期工作上下文:**
|
|
68
|
+
|
|
69
|
+
- 找到最近的 2-3 个 SUMMARY.md 文件
|
|
70
|
+
- 使用 `summary-extract` 进行高效解析:
|
|
71
|
+
```bash
|
|
72
|
+
node .opencode/bin/specops-tools.cjs summary-extract <path> --fields one_liner
|
|
73
|
+
```
|
|
74
|
+
- 这展示了"我们一直在做什么"
|
|
75
|
+
</step>
|
|
76
|
+
|
|
77
|
+
<step name="position">
|
|
78
|
+
**从初始化上下文和路线图分析中解析当前位置:**
|
|
79
|
+
|
|
80
|
+
- 使用 `$ROADMAP` 中的 `current_phase` 和 `next_phase`
|
|
81
|
+
- 如果工作被暂停,记录 `paused_at`(来自 `$STATE`)
|
|
82
|
+
- 统计待办事项:使用 `init todos` 或 `list-todos`
|
|
83
|
+
- 检查活跃的调试会话:`ls .planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
|
|
84
|
+
</step>
|
|
85
|
+
|
|
86
|
+
<step name="report">
|
|
87
|
+
**从 specops-tools 生成进度条,然后展示丰富的状态报告:**
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# 获取格式化的进度条
|
|
91
|
+
PROGRESS_BAR=$(node .opencode/bin/specops-tools.cjs progress bar --raw)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
展示:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
# [项目名称]
|
|
98
|
+
|
|
99
|
+
**进度:** {PROGRESS_BAR}
|
|
100
|
+
**配置:** [quality/balanced/budget]
|
|
101
|
+
|
|
102
|
+
## 近期工作
|
|
103
|
+
- [阶段 X,计划 Y]:[完成了什么——来自 summary-extract 的一行]
|
|
104
|
+
- [阶段 X,计划 Z]:[完成了什么——来自 summary-extract 的一行]
|
|
105
|
+
|
|
106
|
+
## 当前位置
|
|
107
|
+
阶段 [N] / [总数]:[阶段名称]
|
|
108
|
+
计划 [M] / [阶段总数]:[状态]
|
|
109
|
+
上下文:[✓ 如果有 has_context | - 如果没有]
|
|
110
|
+
|
|
111
|
+
## 关键决策
|
|
112
|
+
- [从 $STATE.decisions[] 提取]
|
|
113
|
+
- [例如 jq -r '.decisions[].decision' from state-snapshot]
|
|
114
|
+
|
|
115
|
+
## 阻塞/关注点
|
|
116
|
+
- [从 $STATE.blockers[] 提取]
|
|
117
|
+
- [例如 jq -r '.blockers[].text' from state-snapshot]
|
|
118
|
+
|
|
119
|
+
## 待办事项
|
|
120
|
+
- [数量] 个待处理 — /specops:check-todos 查看
|
|
121
|
+
|
|
122
|
+
## 活跃调试会话
|
|
123
|
+
- [数量] 个活跃 — /specops:debug 继续
|
|
124
|
+
(仅在数量 > 0 时显示此部分)
|
|
125
|
+
|
|
126
|
+
## 下一步
|
|
127
|
+
[来自路线图分析的下一阶段/计划目标]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
</step>
|
|
131
|
+
|
|
132
|
+
<step name="route">
|
|
133
|
+
**根据已验证的计数确定下一步操作。**
|
|
134
|
+
|
|
135
|
+
**步骤 1:统计当前阶段的计划、摘要和问题**
|
|
136
|
+
|
|
137
|
+
列出当前阶段目录中的文件:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
|
|
141
|
+
ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
|
|
142
|
+
ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
声明:"此阶段有 {X} 个计划,{Y} 个摘要。"
|
|
146
|
+
|
|
147
|
+
**步骤 1.5:检查未处理的 UAT 缺口**
|
|
148
|
+
|
|
149
|
+
检查状态为"diagnosed"的 UAT.md 文件(有需要修复的缺口)。
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# 检查已诊断的带缺口的 UAT
|
|
153
|
+
grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
追踪:
|
|
157
|
+
- `uat_with_gaps`:状态为"diagnosed"的 UAT.md 文件(缺口需要修复)
|
|
158
|
+
|
|
159
|
+
**步骤 2:根据计数路由**
|
|
160
|
+
|
|
161
|
+
| 条件 | 含义 | 操作 |
|
|
162
|
+
|------|------|------|
|
|
163
|
+
| uat_with_gaps > 0 | UAT 缺口需要修复计划 | 转到**路由 E** |
|
|
164
|
+
| summaries < plans | 存在未执行的计划 | 转到**路由 A** |
|
|
165
|
+
| summaries = plans 且 plans > 0 | 阶段完成 | 转到步骤 3 |
|
|
166
|
+
| plans = 0 | 阶段尚未规划 | 转到**路由 B** |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
**路由 A:存在未执行的计划**
|
|
171
|
+
|
|
172
|
+
找到第一个没有对应 SUMMARY.md 的 PLAN.md。
|
|
173
|
+
读取其 `<objective>` 部分。
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## ▶ 下一步
|
|
179
|
+
|
|
180
|
+
**{phase}-{plan}:[计划名称]** — [来自 PLAN.md 的目标摘要]
|
|
181
|
+
|
|
182
|
+
`/specops:execute-phase {phase}`
|
|
183
|
+
|
|
184
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
**路由 B:阶段需要规划**
|
|
192
|
+
|
|
193
|
+
检查阶段目录中是否存在 `{phase_num}-CONTEXT.md`。
|
|
194
|
+
|
|
195
|
+
**如果 CONTEXT.md 存在:**
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## ▶ 下一步
|
|
201
|
+
|
|
202
|
+
**阶段 {N}:{名称}** — {来自 ROADMAP.md 的目标}
|
|
203
|
+
<sub>✓ 上下文已收集,准备规划</sub>
|
|
204
|
+
|
|
205
|
+
`/specops:plan-phase {阶段编号}`
|
|
206
|
+
|
|
207
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**如果 CONTEXT.md 不存在:**
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## ▶ 下一步
|
|
218
|
+
|
|
219
|
+
**阶段 {N}:{名称}** — {来自 ROADMAP.md 的目标}
|
|
220
|
+
|
|
221
|
+
`/specops:discuss-phase {phase}` — 收集上下文并明确方案
|
|
222
|
+
|
|
223
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
**其他可用操作:**
|
|
228
|
+
- `/specops:plan-phase {phase}` — 跳过讨论,直接规划
|
|
229
|
+
- `/specops:list-phase-assumptions {phase}` — 查看 Claude 的假设
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
**路由 E:UAT 缺口需要修复计划**
|
|
237
|
+
|
|
238
|
+
UAT.md 存在且有缺口(已诊断的问题)。用户需要规划修复。
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## ⚠ 发现 UAT 缺口
|
|
244
|
+
|
|
245
|
+
**{phase_num}-UAT.md** 有 {N} 个缺口需要修复。
|
|
246
|
+
|
|
247
|
+
`/specops:plan-phase {phase} --gaps`
|
|
248
|
+
|
|
249
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
**其他可用操作:**
|
|
254
|
+
- `/specops:execute-phase {phase}` — 执行阶段计划
|
|
255
|
+
- `/specops:verify-work {phase}` — 运行更多 UAT 测试
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
**步骤 3:检查里程碑状态(仅在阶段完成时)**
|
|
263
|
+
|
|
264
|
+
读取 ROADMAP.md 并识别:
|
|
265
|
+
1. 当前阶段编号
|
|
266
|
+
2. 当前里程碑部分中的所有阶段编号
|
|
267
|
+
|
|
268
|
+
统计总阶段数并识别最高阶段编号。
|
|
269
|
+
|
|
270
|
+
声明:"当前阶段是 {X}。里程碑有 {N} 个阶段(最高:{Y})。"
|
|
271
|
+
|
|
272
|
+
**根据里程碑状态路由:**
|
|
273
|
+
|
|
274
|
+
| 条件 | 含义 | 操作 |
|
|
275
|
+
|------|------|------|
|
|
276
|
+
| 当前阶段 < 最高阶段 | 还有更多阶段 | 转到**路由 C** |
|
|
277
|
+
| 当前阶段 = 最高阶段 | 里程碑完成 | 转到**路由 D** |
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
**路由 C:阶段完成,还有更多阶段**
|
|
282
|
+
|
|
283
|
+
读取 ROADMAP.md 获取下一阶段的名称和目标。
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## ✓ 阶段 {Z} 完成
|
|
289
|
+
|
|
290
|
+
## ▶ 下一步
|
|
291
|
+
|
|
292
|
+
**阶段 {Z+1}:{名称}** — {来自 ROADMAP.md 的目标}
|
|
293
|
+
|
|
294
|
+
`/specops:discuss-phase {Z+1}` — 收集上下文并明确方案
|
|
295
|
+
|
|
296
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
**其他可用操作:**
|
|
301
|
+
- `/specops:plan-phase {Z+1}` — 跳过讨论,直接规划
|
|
302
|
+
- `/specops:verify-work {Z}` — 继续前进行用户验收测试
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
**路由 D:里程碑完成**
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
## 🎉 里程碑完成
|
|
315
|
+
|
|
316
|
+
所有 {N} 个阶段已完成!
|
|
317
|
+
|
|
318
|
+
## ▶ 下一步
|
|
319
|
+
|
|
320
|
+
**完成里程碑** — 归档并准备下一个
|
|
321
|
+
|
|
322
|
+
`/specops:complete-milestone`
|
|
323
|
+
|
|
324
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
**其他可用操作:**
|
|
329
|
+
- `/specops:verify-work` — 完成里程碑前进行用户验收测试
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
**路由 F:里程碑之间(ROADMAP.md 缺失,PROJECT.md 存在)**
|
|
337
|
+
|
|
338
|
+
里程碑已完成并归档。准备开始下一个里程碑周期。
|
|
339
|
+
|
|
340
|
+
读取 MILESTONES.md 找到最后完成的里程碑版本。
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## ✓ 里程碑 v{X.Y} 完成
|
|
346
|
+
|
|
347
|
+
准备规划下一个里程碑。
|
|
348
|
+
|
|
349
|
+
## ▶ 下一步
|
|
350
|
+
|
|
351
|
+
**开始下一个里程碑** — 提问 → 研究 → 需求 → 路线图
|
|
352
|
+
|
|
353
|
+
`/specops:new-milestone`
|
|
354
|
+
|
|
355
|
+
<sub>先 `/clear` → 全新上下文窗口</sub>
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
</step>
|
|
361
|
+
|
|
362
|
+
<step name="edge_cases">
|
|
363
|
+
**处理边界情况:**
|
|
364
|
+
|
|
365
|
+
- 阶段完成但下一阶段未规划 → 提供 `/specops:plan-phase [next]`
|
|
366
|
+
- 所有工作完成 → 提供里程碑完成
|
|
367
|
+
- 存在阻塞项 → 在提供继续选项前高亮显示
|
|
368
|
+
- 存在交接文件 → 提及它,提供 `/specops:resume-work`
|
|
369
|
+
</step>
|
|
370
|
+
|
|
371
|
+
</process>
|
|
372
|
+
|
|
373
|
+
<success_criteria>
|
|
374
|
+
|
|
375
|
+
- [ ] 提供了丰富的上下文(近期工作、决策、问题)
|
|
376
|
+
- [ ] 当前位置清晰,带可视化进度
|
|
377
|
+
- [ ] 下一步清晰说明
|
|
378
|
+
- [ ] 智能路由:如果计划存在则 /specops:execute-phase,否则 /specops:plan-phase
|
|
379
|
+
- [ ] 用户在任何操作前确认
|
|
380
|
+
- [ ] 无缝交接到适当的 specops 命令
|
|
381
|
+
</success_criteria>
|