specsmd 0.0.0-dev

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.
Files changed (85) hide show
  1. package/README.md +397 -0
  2. package/bin/cli.js +21 -0
  3. package/flows/aidlc/README.md +372 -0
  4. package/flows/aidlc/agents/construction-agent.md +80 -0
  5. package/flows/aidlc/agents/inception-agent.md +97 -0
  6. package/flows/aidlc/agents/master-agent.md +61 -0
  7. package/flows/aidlc/agents/operations-agent.md +89 -0
  8. package/flows/aidlc/commands/construction-agent.md +63 -0
  9. package/flows/aidlc/commands/inception-agent.md +55 -0
  10. package/flows/aidlc/commands/master-agent.md +47 -0
  11. package/flows/aidlc/commands/operations-agent.md +77 -0
  12. package/flows/aidlc/context-config.yaml +67 -0
  13. package/flows/aidlc/memory-bank.yaml +104 -0
  14. package/flows/aidlc/quick-start.md +322 -0
  15. package/flows/aidlc/skills/construction/bolt-list.md +163 -0
  16. package/flows/aidlc/skills/construction/bolt-replan.md +345 -0
  17. package/flows/aidlc/skills/construction/bolt-start.md +414 -0
  18. package/flows/aidlc/skills/construction/bolt-status.md +185 -0
  19. package/flows/aidlc/skills/construction/navigator.md +196 -0
  20. package/flows/aidlc/skills/inception/bolt-plan.md +359 -0
  21. package/flows/aidlc/skills/inception/context.md +171 -0
  22. package/flows/aidlc/skills/inception/intent-create.md +211 -0
  23. package/flows/aidlc/skills/inception/intent-list.md +124 -0
  24. package/flows/aidlc/skills/inception/navigator.md +207 -0
  25. package/flows/aidlc/skills/inception/requirements.md +227 -0
  26. package/flows/aidlc/skills/inception/review.md +248 -0
  27. package/flows/aidlc/skills/inception/story-create.md +304 -0
  28. package/flows/aidlc/skills/inception/units.md +278 -0
  29. package/flows/aidlc/skills/master/analyze-context.md +239 -0
  30. package/flows/aidlc/skills/master/answer-question.md +141 -0
  31. package/flows/aidlc/skills/master/explain-flow.md +158 -0
  32. package/flows/aidlc/skills/master/project-init.md +281 -0
  33. package/flows/aidlc/skills/master/route-request.md +126 -0
  34. package/flows/aidlc/skills/operations/build.md +237 -0
  35. package/flows/aidlc/skills/operations/deploy.md +259 -0
  36. package/flows/aidlc/skills/operations/monitor.md +265 -0
  37. package/flows/aidlc/skills/operations/navigator.md +209 -0
  38. package/flows/aidlc/skills/operations/verify.md +224 -0
  39. package/flows/aidlc/templates/construction/bolt-template.md +205 -0
  40. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/adr-template.md +49 -0
  41. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-01-domain-model-template.md +55 -0
  42. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-02-technical-design-template.md +67 -0
  43. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/ddd-03-test-report-template.md +62 -0
  44. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +528 -0
  45. package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +342 -0
  46. package/flows/aidlc/templates/construction/bolt-types/spike-bolt.md +240 -0
  47. package/flows/aidlc/templates/construction/construction-log-template.md +129 -0
  48. package/flows/aidlc/templates/construction/standards/coding-standards.md +29 -0
  49. package/flows/aidlc/templates/construction/standards/system-architecture.md +22 -0
  50. package/flows/aidlc/templates/construction/standards/tech-stack.md +19 -0
  51. package/flows/aidlc/templates/inception/inception-log-template.md +134 -0
  52. package/flows/aidlc/templates/inception/project/README.md +55 -0
  53. package/flows/aidlc/templates/inception/requirements-template.md +144 -0
  54. package/flows/aidlc/templates/inception/stories-template.md +38 -0
  55. package/flows/aidlc/templates/inception/story-template.md +147 -0
  56. package/flows/aidlc/templates/inception/system-context-template.md +29 -0
  57. package/flows/aidlc/templates/inception/unit-brief-template.md +177 -0
  58. package/flows/aidlc/templates/inception/units-template.md +52 -0
  59. package/flows/aidlc/templates/standards/catalog.yaml +345 -0
  60. package/flows/aidlc/templates/standards/coding-standards.guide.md +553 -0
  61. package/flows/aidlc/templates/standards/data-stack.guide.md +162 -0
  62. package/flows/aidlc/templates/standards/tech-stack.guide.md +280 -0
  63. package/lib/InstallerFactory.js +36 -0
  64. package/lib/analytics/env-detector.js +92 -0
  65. package/lib/analytics/index.js +22 -0
  66. package/lib/analytics/machine-id.js +33 -0
  67. package/lib/analytics/tracker.js +227 -0
  68. package/lib/cli-utils.js +342 -0
  69. package/lib/constants.js +32 -0
  70. package/lib/installer.js +402 -0
  71. package/lib/installers/AntigravityInstaller.js +22 -0
  72. package/lib/installers/ClaudeInstaller.js +85 -0
  73. package/lib/installers/ClineInstaller.js +21 -0
  74. package/lib/installers/CodexInstaller.js +21 -0
  75. package/lib/installers/CopilotInstaller.js +113 -0
  76. package/lib/installers/CursorInstaller.js +63 -0
  77. package/lib/installers/GeminiInstaller.js +75 -0
  78. package/lib/installers/KiroInstaller.js +22 -0
  79. package/lib/installers/OpenCodeInstaller.js +22 -0
  80. package/lib/installers/RooInstaller.js +22 -0
  81. package/lib/installers/ToolInstaller.js +73 -0
  82. package/lib/installers/WindsurfInstaller.js +76 -0
  83. package/lib/markdown-validator.ts +175 -0
  84. package/lib/yaml-validator.ts +99 -0
  85. package/package.json +117 -0
@@ -0,0 +1,414 @@
1
+ # Skill: Start/Continue Bolt
2
+
3
+ ---
4
+
5
+ ## Bolt Type Execution
6
+
7
+ Stages, activities, outputs, and checkpoints come from the bolt type definition:
8
+ `.specsmd/aidlc/templates/construction/bolt-types/{bolt_type}.md`
9
+
10
+ **ALWAYS read bolt type first. Never assume stages or checkpoints.**
11
+
12
+ ---
13
+
14
+ ## Goal
15
+
16
+ Execute a bolt instance through its defined stages, producing artifacts with human validation at checkpoints defined by the bolt type.
17
+
18
+ ---
19
+
20
+ ## Input
21
+
22
+ - **Required**: `--bolt-id` - The bolt instance ID
23
+ - **Required**: `.specsmd/aidlc/memory-bank.yaml` - artifact schema
24
+ - **Optional**: `--stage` - Specific stage to execute (for resuming)
25
+
26
+ ---
27
+
28
+ ## Process
29
+
30
+ ### 1. Load Bolt Context
31
+
32
+ Read bolt file from path defined by `schema.bolts`:
33
+
34
+ - Verify bolt exists and is not completed
35
+ - Extract: bolt_type, unit, intent, stories, current_stage
36
+
37
+ ### 2. Load Bolt Type Definition (CRITICAL)
38
+
39
+ **Using the bolt_type extracted in Step 1**, load the bolt type definition:
40
+
41
+ **Location**: `.specsmd/aidlc/templates/construction/bolt-types/{bolt_type}.md`
42
+
43
+ **This step is NON-NEGOTIABLE. You MUST:**
44
+
45
+ 1. Read the bolt type file COMPLETELY before any stage execution
46
+ 2. Extract and understand:
47
+ - **Stages**: Names, sequence, count
48
+ - **Activities**: What to do in each stage
49
+ - **Outputs**: Artifacts to produce
50
+ - **Constraints**: Forbidden actions per stage
51
+ - **Completion Criteria**: How to know a stage is done
52
+ - **Checkpoints**: Where to pause for human validation
53
+
54
+ **The bolt type IS the execution plan. Follow it exactly.**
55
+
56
+ ```text
57
+ ┌────────────────────────────────────────────────────────────┐
58
+ │ bolt instance defines bolt_type │
59
+ │ bolt_type definition dictates stages and execution │
60
+ │ bolt-start does NOT define stages or checkpoints │
61
+ └────────────────────────────────────────────────────────────┘
62
+ ```
63
+
64
+ ### 3. Load Unit Context (CRITICAL)
65
+
66
+ **After extracting the unit from the bolt file, load its brief for context.**
67
+
68
+ Load `{intent}/units/{unit}/unit-brief.md` which contains:
69
+
70
+ - **Purpose and scope**: What the unit is responsible for
71
+ - **Key entities**: Domain concepts to work with
72
+ - **Technical constraints**: Specific limitations
73
+ - **Dependencies**: Other units this depends on
74
+ - **Unit type and bolt type**: Frontend vs backend, DDD vs simple
75
+
76
+ This context is essential for understanding what you're building.
77
+
78
+ ### 4. Load Agent Context
79
+
80
+ Load context as defined in `.specsmd/aidlc/context-config.yaml` for the `construction` agent:
81
+
82
+ ```yaml
83
+ agents:
84
+ construction:
85
+ required_context:
86
+ - path: standards/tech-stack.md
87
+ - path: standards/coding-standards.md
88
+ optional_context:
89
+ - path: standards/system-architecture.md
90
+ - path: standards/api-conventions.md
91
+ ```
92
+
93
+ 1. Load all `required_context` files (warn if missing with `critical: true`)
94
+ 2. Load `optional_context` files if they exist
95
+
96
+ **Note**: This is agent-level context. Bolt-type-specific context loading may be added later.
97
+
98
+ ### 5. Determine Current Stage
99
+
100
+ Based on bolt state:
101
+
102
+ - **planned** → Start with first stage, update bolt file immediately (see Step 6)
103
+ - **in-progress** → Continue from `current_stage`
104
+ - **completed** → Inform user bolt is done
105
+ - **blocked** → Show blocker, ask how to resolve
106
+
107
+ ### 6. Update Bolt File on Start (CRITICAL - DO FIRST)
108
+
109
+ **⚠️ BEFORE any stage work begins, update the bolt file IMMEDIATELY.**
110
+
111
+ When transitioning from `planned` to `in-progress`:
112
+
113
+ ```yaml
114
+ ---
115
+ status: in-progress # was: planned
116
+ started: {ISO-8601-timestamp} # was: null
117
+ current_stage: {first-stage} # was: null (e.g., "domain-model")
118
+ ---
119
+ ```
120
+
121
+ **This is NON-NEGOTIABLE.** The bolt file must reflect that work has begun before any stage activities start. This ensures:
122
+
123
+ 1. Progress is tracked even if execution is interrupted
124
+ 2. Other tools/agents see accurate status
125
+ 3. Resumption works correctly
126
+
127
+ **Also update construction log** (see "Update Construction Log" section below).
128
+
129
+ ### 7. Execute Stage
130
+
131
+ For the current stage, follow the bolt type definition:
132
+
133
+ 1. **Present Stage Context**:
134
+
135
+ ```markdown
136
+ ## Stage: {stage-name}
137
+
138
+ ### Objective
139
+ {From bolt type definition}
140
+
141
+ ### Activities
142
+ {From bolt type definition}
143
+
144
+ ### Expected Output
145
+ {From bolt type definition}
146
+
147
+ ### Stories in Scope
148
+ {From bolt instance}
149
+ ```
150
+
151
+ 2. **Perform Activities**:
152
+ - Follow bolt type's activity instructions exactly
153
+ - Create artifacts as specified
154
+ - Respect constraints (e.g., "no code in this stage")
155
+
156
+ 3. **Generate Outputs**:
157
+ - Create specified output artifacts
158
+ - Use templates if specified by bolt type
159
+ - Place in correct paths per schema
160
+
161
+ ### 8. Handle Checkpoints (As Defined by Bolt Type)
162
+
163
+ The bolt type definition specifies:
164
+
165
+ - **Which stages have checkpoints**
166
+ - **What to present at each checkpoint**
167
+ - **What approval means**
168
+
169
+ If the current stage has a checkpoint:
170
+
171
+ ```text
172
+ ## Stage Complete: {stage-name}
173
+
174
+ {Present summary as specified by bolt type}
175
+
176
+ Ready to proceed?
177
+ 1 - Approve and continue
178
+ 2 - Need changes (specify)
179
+ ```
180
+
181
+ **Wait for user response before proceeding.**
182
+
183
+ If the bolt type specifies automatic validation criteria, follow those rules.
184
+
185
+ ### 9. Update Bolt File on Stage Completion
186
+
187
+ **Trigger**: After EACH stage completion (not just final stage).
188
+
189
+ After each stage completion:
190
+
191
+ - Add stage to `stages_completed` with timestamp
192
+ - Update `current_stage` to next stage
193
+
194
+ **⚠️ TIMESTAMP FORMAT**: See `memory-bank.yaml` → `conventions.timestamps`
195
+
196
+ ```yaml
197
+ ---
198
+ status: in-progress
199
+ current_stage: {next-stage-from-bolt-type}
200
+ stages_completed:
201
+ - name: {stage-name}
202
+ completed: {timestamp}
203
+ artifact: {artifact-filename}
204
+ ---
205
+ ```
206
+
207
+ **If this is the FINAL stage**, proceed to **Step 10** (bolt completion).
208
+
209
+ **If this is NOT the final stage**, update bolt file and proceed to next stage. Stop here.
210
+
211
+ ---
212
+
213
+ ### 10. Mark Bolt Complete (CRITICAL - MANDATORY ON FINAL STAGE)
214
+
215
+ **Trigger**: ONLY when this is the FINAL stage.
216
+
217
+ **⚠️ DO NOT SKIP THIS STEP. When the final stage completes, you MUST run the command below.**
218
+
219
+ ```bash
220
+ node .specsmd/scripts/bolt-complete.js {bolt-id}
221
+ ```
222
+
223
+ **What this command does (deterministically):**
224
+
225
+ 1. Updates bolt file to `status: complete`
226
+ 2. Updates ALL stories in bolt's `stories` array to `status: complete, implemented: true`
227
+ 3. Updates unit status if all bolts for unit are complete
228
+ 4. Updates intent status if all units for intent are complete
229
+
230
+ **Example output:**
231
+
232
+ ```text
233
+ ════════════════════════════════════════
234
+ Bolt Completion: 016-analytics-tracker
235
+ ════════════════════════════════════════
236
+
237
+ Bolt: 016-analytics-tracker
238
+ Intent: 007-installer-analytics
239
+ Unit: analytics-tracker
240
+ Stories: 12
241
+
242
+ ✓ Bolt status: in-progress → complete
243
+
244
+ Updating stories:
245
+ ✓ 001-initialize-mixpanel - draft → complete
246
+ ✓ 002-generate-machine-hash - draft → complete
247
+ ...
248
+
249
+ Stories: 12 updated, 0 skipped, 0 errors
250
+
251
+ ✓ Unit status: in-progress → complete
252
+ ✓ Intent status: construction → complete
253
+
254
+ ════════════════════════════════════════
255
+ ✓ Bolt Complete: 016-analytics-tracker
256
+ ════════════════════════════════════════
257
+ ```
258
+
259
+ **Do NOT manually edit story files.** The command handles everything deterministically.
260
+
261
+ **Verify the script completed successfully:**
262
+
263
+ After running the command, verify the changes were applied correctly:
264
+
265
+ - [ ] **Bolt file updated**:
266
+ - [ ] `status: complete`
267
+ - [ ] `current_stage: null`
268
+ - [ ] `completed: {timestamp}` set
269
+
270
+ - [ ] **Stories updated** (sample 2-3 from the bolt's stories array):
271
+ - [ ] `status: complete`
272
+ - [ ] `implemented: true`
273
+
274
+ - [ ] **Unit status updated** (if all bolts for this unit are complete):
275
+ - [ ] Check `{intent}/units/{unit}/unit-brief.md` → `status: complete`
276
+
277
+ - [ ] **Intent status updated** (if all units for this intent are complete):
278
+ - [ ] Check `{intent}/intent.md` → `status: complete`
279
+
280
+ **If any verification fails**, the script may have encountered an error. Check the console output for error messages.
281
+
282
+ ---
283
+
284
+ ## Update Construction Log
285
+
286
+ **IMPORTANT**: Update the construction log at key execution points.
287
+
288
+ ### Location
289
+
290
+ `{unit-path}/construction-log.md`
291
+
292
+ ### On First Bolt Start
293
+
294
+ If construction log doesn't exist, create it using template:
295
+ `.specsmd/aidlc/templates/construction/construction-log-template.md`
296
+
297
+ ### On Bolt Start
298
+
299
+ ```markdown
300
+ - **{ISO-8601-timestamp}**: {bolt-id} started - Stage 1: {stage-name}
301
+ ```
302
+
303
+ ### On Stage Completion
304
+
305
+ ```markdown
306
+ - **{ISO-8601-timestamp}**: {bolt-id} stage-complete - {stage-name} → {next-stage}
307
+ ```
308
+
309
+ ### On Bolt Completion
310
+
311
+ ```markdown
312
+ - **{ISO-8601-timestamp}**: {bolt-id} completed - All {n} stages done
313
+ ```
314
+
315
+ ---
316
+
317
+ ## Output (Stage Execution)
318
+
319
+ ```markdown
320
+ ## Executing Bolt: {bolt-id}
321
+
322
+ ### Current Stage: {stage-name}
323
+ **Type**: {bolt-type}
324
+ **Progress**: Stage {n} of {total}
325
+
326
+ ### Activities Performed
327
+ 1. ✅ {activity 1}
328
+ 2. ✅ {activity 2}
329
+ 3. ⏳ {activity 3 - in progress}
330
+
331
+ ### Artifacts Created
332
+ - `{path/to/artifact}` - {description}
333
+
334
+ ### Stories Addressed
335
+ - ✅ **{SSS}-{story-slug}**: {criteria} - Complete
336
+ - ⏳ **{SSS}-{story-slug}**: {criteria} - In Progress
337
+
338
+ ---
339
+
340
+ ### Checkpoint (if defined by bolt type)
341
+ > "{checkpoint prompt from bolt type definition}"
342
+ ```
343
+
344
+ ---
345
+
346
+ ## Output (Bolt Completed)
347
+
348
+ ```markdown
349
+ ## Bolt Complete: {bolt-id}
350
+
351
+ ### Summary
352
+ - **Type**: {bolt-type}
353
+ - **Duration**: {time elapsed}
354
+ - **Stages Completed**: {all stages from bolt type}
355
+
356
+ ### Artifacts Produced
357
+ {List artifacts as defined by bolt type}
358
+
359
+ ### Stories Delivered
360
+ - ✅ **{SSS}-{story-slug}**: Complete
361
+ - ✅ **{SSS}-{story-slug}**: Complete
362
+
363
+ ### Actions
364
+
365
+ 1 - **next**: Start next bolt
366
+ 2 - **list**: Review all bolts for this unit
367
+ 3 - **operations**: Proceed to Operations (if all complete)
368
+
369
+ **Type a number or press Enter for suggested action.**
370
+ ```
371
+
372
+ ---
373
+
374
+ ## Bolt Completion Checklist
375
+
376
+ **Use this checklist to verify all completion tasks are done:**
377
+
378
+ ```text
379
+ □ Bolt file updated:
380
+ □ status: complete
381
+ □ completed: {timestamp}
382
+ □ current_stage: null
383
+
384
+ □ Stories updated (Step 10):
385
+ □ Each story in bolt's stories array:
386
+ □ status: complete
387
+ □ implemented: true
388
+
389
+ □ Status cascade checked (Step 11):
390
+ □ Unit status updated if all bolts complete
391
+ □ Intent status updated if all units complete
392
+
393
+ □ Construction log updated:
394
+ □ "{bolt-id} completed" entry added
395
+ ```
396
+
397
+ ---
398
+
399
+ ## Transition
400
+
401
+ After bolt completion:
402
+
403
+ - → **Next Bolt** - if more bolts in unit
404
+ - → **Operations Agent** - if all unit bolts complete
405
+
406
+ ---
407
+
408
+ ## Test Contract
409
+
410
+ ```yaml
411
+ input: bolt-id, bolt type definition
412
+ output: Artifacts as defined by bolt type
413
+ checkpoints: As defined by bolt type (0 to N)
414
+ ```
@@ -0,0 +1,185 @@
1
+ # Skill: Bolt Status
2
+
3
+ ---
4
+
5
+ ## Role
6
+
7
+ Informational skill to display detailed status of a specific bolt.
8
+
9
+ **NO Checkpoint** - This is a read-only status skill, not a decision point.
10
+
11
+ ---
12
+
13
+ ## Goal
14
+
15
+ Display detailed status of a specific bolt instance including stage progress, artifacts created, and blockers.
16
+
17
+ ---
18
+
19
+ ## Input
20
+
21
+ - **Required**: `--bolt-id` - The bolt instance ID
22
+ - **Required**: `.specsmd/aidlc/memory-bank.yaml` - artifact schema
23
+
24
+ ---
25
+
26
+ ## Process
27
+
28
+ ### 1. Load Bolt File
29
+
30
+ Read bolt file from path defined by `schema.bolts`:
31
+
32
+ - Parse frontmatter for metadata
33
+ - Extract: status, type, current_stage, stages_completed, stories
34
+
35
+ ### 2. Load Bolt Type Definition
36
+
37
+ Read the bolt type from `.specsmd/aidlc/templates/construction/bolt-types/{bolt_type}.md`:
38
+
39
+ - Get total stages for this bolt type
40
+ - Get stage names and expected outputs
41
+
42
+ ### 3. Verify Artifacts
43
+
44
+ For each completed stage, verify artifacts exist based on bolt type definition:
45
+
46
+ - ✅ **{stage-1-name}**: `{artifact-from-bolt-type}` - Found
47
+ - ✅ **{stage-2-name}**: `{artifact-from-bolt-type}` - Found
48
+ - ⏳ **{current-stage}**: {expected-output} - In Progress
49
+
50
+ *Note: Artifact names come from the bolt type definition, not hardcoded here.*
51
+
52
+ ### 4. Calculate Metrics
53
+
54
+ ```markdown
55
+ ### Progress Metrics
56
+ - **Stages**: {completed}/{total} ({percentage}%)
57
+ - **Stories**: {stories covered}
58
+ - **Started**: {start date}
59
+ - **Elapsed**: {time since start}
60
+ ```
61
+
62
+ ### 5. Identify Blockers
63
+
64
+ Check for issues:
65
+
66
+ - Missing prerequisite bolts
67
+ - Failed tests
68
+ - Unresolved design decisions
69
+ - External dependencies
70
+
71
+ ---
72
+
73
+ ## Output
74
+
75
+ ```markdown
76
+ ## Bolt Status: {bolt-id}
77
+
78
+ ### Overview
79
+
80
+ - **ID**: `{bolt-id}`
81
+ - **Unit**: `{unit-name}`
82
+ - **Intent**: `{intent-name}`
83
+ - **Type**: {bolt-type}
84
+ - **Status**: {planned|in-progress|completed|blocked}
85
+
86
+ ### Progress
87
+ [██████████░░░░░░░░░░] 50% (2/4 stages)
88
+
89
+ ### Stage Breakdown
90
+
91
+ - ✅ **1. {stage-1}**: Complete → `{artifact-1}`
92
+ - ✅ **2. {stage-2}**: Complete → `{artifact-2}`
93
+ - ⏳ **3. {stage-3}**: Current ← working
94
+ - [ ] **4. {stage-4}**: Pending
95
+
96
+ *Stage names and artifacts are read from the bolt type definition.*
97
+
98
+ ### Stories Covered
99
+
100
+ - ✅ **{SSS}-{story-slug}**: {story-title} - Implemented
101
+ - ⏳ **{SSS}-{story-slug}**: {story-title} - In Progress
102
+
103
+ ### Artifacts Created
104
+
105
+ - `memory-bank/bolts/{bolt-id}/{artifact-1}` (from bolt type)
106
+ - `memory-bank/bolts/{bolt-id}/{artifact-2}` (from bolt type)
107
+ - `src/{unit}/...` (implementation files)
108
+
109
+ ### Current Stage Details
110
+ **Stage**: {current_stage}
111
+ **Activities**:
112
+ - {activity 1}
113
+ - {activity 2}
114
+
115
+ **Expected Output**:
116
+ - {output 1}
117
+
118
+ ### Blockers
119
+ {None | List of blockers with details}
120
+
121
+ ### Next Action
122
+ → Continue with {current_stage} stage
123
+ → Command: `bolt-start --bolt-id="{bolt-id}"`
124
+ ```
125
+
126
+ ---
127
+
128
+ ## Output (Completed Bolt)
129
+
130
+ ```markdown
131
+ ## Bolt Status: {bolt-id}
132
+
133
+ ### Overview
134
+
135
+ - **Status**: ✅ **COMPLETED**
136
+ - **Completed**: {date}
137
+ - **Duration**: {time}
138
+
139
+ ### All Stages Complete
140
+
141
+ - ✅ **1. {stage-1}**: {date} → `{artifact-1}`
142
+ - ✅ **2. {stage-2}**: {date} → `{artifact-2}`
143
+ - ✅ **3. {stage-3}**: {date} → {output-3}
144
+ - ✅ **4. {stage-4}**: {date} → {output-4}
145
+
146
+ *Stage names and artifacts are read from the bolt type definition.*
147
+
148
+ ### Stories Delivered
149
+
150
+ - ✅ **{SSS}-{story-slug}**: {story-title} - All criteria passed
151
+ - ✅ **{SSS}-{story-slug}**: {story-title} - All criteria passed
152
+
153
+ ### Summary
154
+ All {n} stories implemented and tested.
155
+
156
+ ### Next Action
157
+ → Start next bolt: `bolt-start --bolt-id="{next-bolt}"`
158
+ → Or proceed to Operations if all bolts complete
159
+ ```
160
+
161
+ ---
162
+
163
+ ## Human Validation Point
164
+
165
+ > "Bolt `{bolt-id}` is {status}. {summary}. Would you like to continue working on it or view another bolt?"
166
+
167
+ ---
168
+
169
+ ## Transition
170
+
171
+ After viewing status:
172
+
173
+ - → **Bolt Start** (`.specsmd/skills/construction/bolt-start.md`) - continue the bolt
174
+ - → **Bolt List** (`.specsmd/skills/construction/bolt-list.md`) - view other bolts
175
+ - → **Operations Agent** - if all bolts for unit are complete
176
+
177
+ ---
178
+
179
+ ## Test Contract
180
+
181
+ ```yaml
182
+ input: Bolt ID
183
+ output: Detailed status with stage progress, artifacts, blockers
184
+ checkpoints: 0 (informational only)
185
+ ```