@sniper.ai/core 2.0.0 → 3.0.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.
Files changed (208) hide show
  1. package/README.md +88 -98
  2. package/agents/analyst.md +30 -0
  3. package/agents/architect.md +36 -0
  4. package/agents/backend-dev.md +43 -0
  5. package/agents/code-reviewer.md +72 -0
  6. package/agents/frontend-dev.md +43 -0
  7. package/agents/fullstack-dev.md +44 -0
  8. package/agents/gate-reviewer.md +62 -0
  9. package/agents/lead-orchestrator.md +51 -0
  10. package/agents/product-manager.md +38 -0
  11. package/agents/qa-engineer.md +37 -0
  12. package/agents/retro-analyst.md +98 -0
  13. package/checklists/discover.yaml +23 -0
  14. package/checklists/implement.yaml +28 -0
  15. package/checklists/ingest-document.yaml +18 -0
  16. package/checklists/ingest-extract.yaml +13 -0
  17. package/checklists/ingest-scan.yaml +18 -0
  18. package/checklists/multi-faceted-review.yaml +56 -0
  19. package/checklists/plan.yaml +36 -0
  20. package/checklists/refactor-analyze.yaml +18 -0
  21. package/checklists/review.yaml +28 -0
  22. package/claude-md.template +42 -0
  23. package/config.template.yaml +156 -0
  24. package/hooks/settings-hooks.json +31 -0
  25. package/hooks/signal-hooks.json +11 -0
  26. package/package.json +23 -5
  27. package/personas/cognitive/devils-advocate.md +24 -0
  28. package/personas/cognitive/performance-focused.md +23 -0
  29. package/personas/cognitive/security-first.md +24 -0
  30. package/protocols/explore.yaml +18 -0
  31. package/protocols/feature.yaml +45 -0
  32. package/protocols/full.yaml +63 -0
  33. package/protocols/hotfix.yaml +19 -0
  34. package/protocols/ingest.yaml +39 -0
  35. package/protocols/patch.yaml +30 -0
  36. package/protocols/refactor.yaml +41 -0
  37. package/schemas/checkpoint.schema.yaml +133 -0
  38. package/schemas/cost.schema.yaml +97 -0
  39. package/schemas/dependency-graph.schema.yaml +37 -0
  40. package/schemas/gate-result.schema.yaml +101 -0
  41. package/schemas/knowledge-manifest.schema.yaml +39 -0
  42. package/schemas/live-status.schema.yaml +122 -0
  43. package/schemas/protocol.schema.yaml +100 -0
  44. package/schemas/retro.schema.yaml +95 -0
  45. package/schemas/revert-plan.schema.yaml +40 -0
  46. package/schemas/signal.schema.yaml +39 -0
  47. package/schemas/velocity.schema.yaml +52 -0
  48. package/schemas/workspace-lock.schema.yaml +34 -0
  49. package/schemas/workspace.schema.yaml +82 -0
  50. package/skills/sniper-flow/SKILL.md +243 -0
  51. package/skills/sniper-flow-headless/SKILL.md +105 -0
  52. package/skills/sniper-init/SKILL.md +103 -0
  53. package/skills/sniper-review/SKILL.md +49 -0
  54. package/skills/sniper-status/SKILL.md +79 -0
  55. package/templates/architecture.md +23 -0
  56. package/templates/checkpoint.yaml +27 -0
  57. package/templates/codebase-overview.md +19 -0
  58. package/templates/cost.yaml +23 -0
  59. package/templates/custom-protocol.yaml +98 -0
  60. package/templates/knowledge-manifest.yaml +32 -0
  61. package/templates/live-status.yaml +26 -0
  62. package/templates/multi-faceted-review-report.md +28 -0
  63. package/templates/review-report.md +25 -0
  64. package/templates/signal-record.yaml +37 -0
  65. package/templates/spec.md +28 -0
  66. package/templates/story.md +19 -0
  67. package/templates/velocity.yaml +9 -0
  68. package/templates/workspace-config.yaml +44 -0
  69. package/framework/checklists/code-review.md +0 -33
  70. package/framework/checklists/debug-review.md +0 -34
  71. package/framework/checklists/discover-review.md +0 -33
  72. package/framework/checklists/doc-review.md +0 -39
  73. package/framework/checklists/feature-review.md +0 -42
  74. package/framework/checklists/ingest-review.md +0 -42
  75. package/framework/checklists/memory-review.md +0 -30
  76. package/framework/checklists/perf-review.md +0 -33
  77. package/framework/checklists/plan-review.md +0 -52
  78. package/framework/checklists/refactor-review.md +0 -33
  79. package/framework/checklists/security-review.md +0 -34
  80. package/framework/checklists/sprint-review.md +0 -41
  81. package/framework/checklists/story-review.md +0 -30
  82. package/framework/checklists/test-review.md +0 -32
  83. package/framework/checklists/workspace-review.md +0 -34
  84. package/framework/claude-md.template +0 -37
  85. package/framework/commands/sniper-audit.md +0 -1549
  86. package/framework/commands/sniper-compose.md +0 -323
  87. package/framework/commands/sniper-debug.md +0 -337
  88. package/framework/commands/sniper-discover.md +0 -423
  89. package/framework/commands/sniper-doc.md +0 -441
  90. package/framework/commands/sniper-feature.md +0 -515
  91. package/framework/commands/sniper-ingest.md +0 -506
  92. package/framework/commands/sniper-init.md +0 -388
  93. package/framework/commands/sniper-memory.md +0 -219
  94. package/framework/commands/sniper-plan.md +0 -630
  95. package/framework/commands/sniper-review.md +0 -369
  96. package/framework/commands/sniper-solve.md +0 -408
  97. package/framework/commands/sniper-sprint.md +0 -716
  98. package/framework/commands/sniper-status.md +0 -481
  99. package/framework/commands/sniper-workspace-feature.md +0 -267
  100. package/framework/commands/sniper-workspace-init.md +0 -252
  101. package/framework/commands/sniper-workspace-status.md +0 -112
  102. package/framework/commands/sniper-workspace-validate.md +0 -138
  103. package/framework/config.template.yaml +0 -196
  104. package/framework/personas/cognitive/devils-advocate.md +0 -30
  105. package/framework/personas/cognitive/mentor-explainer.md +0 -29
  106. package/framework/personas/cognitive/performance-focused.md +0 -30
  107. package/framework/personas/cognitive/security-first.md +0 -29
  108. package/framework/personas/cognitive/systems-thinker.md +0 -29
  109. package/framework/personas/cognitive/user-empathetic.md +0 -29
  110. package/framework/personas/domain/.gitkeep +0 -0
  111. package/framework/personas/process/analyst.md +0 -29
  112. package/framework/personas/process/architect.md +0 -30
  113. package/framework/personas/process/architecture-cartographer.md +0 -25
  114. package/framework/personas/process/code-archaeologist.md +0 -22
  115. package/framework/personas/process/code-investigator.md +0 -29
  116. package/framework/personas/process/code-reviewer.md +0 -26
  117. package/framework/personas/process/contract-designer.md +0 -31
  118. package/framework/personas/process/convention-miner.md +0 -27
  119. package/framework/personas/process/coverage-analyst.md +0 -24
  120. package/framework/personas/process/developer.md +0 -32
  121. package/framework/personas/process/doc-analyst.md +0 -63
  122. package/framework/personas/process/doc-reviewer.md +0 -62
  123. package/framework/personas/process/doc-writer.md +0 -42
  124. package/framework/personas/process/flake-hunter.md +0 -30
  125. package/framework/personas/process/impact-analyst.md +0 -23
  126. package/framework/personas/process/integration-validator.md +0 -29
  127. package/framework/personas/process/log-analyst.md +0 -22
  128. package/framework/personas/process/migration-architect.md +0 -24
  129. package/framework/personas/process/perf-profiler.md +0 -27
  130. package/framework/personas/process/product-manager.md +0 -32
  131. package/framework/personas/process/qa-engineer.md +0 -31
  132. package/framework/personas/process/release-manager.md +0 -23
  133. package/framework/personas/process/retro-analyst.md +0 -30
  134. package/framework/personas/process/scrum-master.md +0 -31
  135. package/framework/personas/process/threat-modeler.md +0 -30
  136. package/framework/personas/process/triage-lead.md +0 -23
  137. package/framework/personas/process/ux-designer.md +0 -31
  138. package/framework/personas/process/vuln-scanner.md +0 -27
  139. package/framework/personas/process/workspace-orchestrator.md +0 -30
  140. package/framework/personas/technical/ai-ml.md +0 -33
  141. package/framework/personas/technical/api-design.md +0 -32
  142. package/framework/personas/technical/backend.md +0 -32
  143. package/framework/personas/technical/database.md +0 -32
  144. package/framework/personas/technical/frontend.md +0 -33
  145. package/framework/personas/technical/infrastructure.md +0 -32
  146. package/framework/personas/technical/security.md +0 -34
  147. package/framework/settings.template.json +0 -6
  148. package/framework/spawn-prompts/_template.md +0 -25
  149. package/framework/teams/debug.yaml +0 -56
  150. package/framework/teams/discover.yaml +0 -57
  151. package/framework/teams/doc.yaml +0 -76
  152. package/framework/teams/feature-plan.yaml +0 -61
  153. package/framework/teams/ingest.yaml +0 -85
  154. package/framework/teams/perf.yaml +0 -33
  155. package/framework/teams/plan.yaml +0 -86
  156. package/framework/teams/refactor.yaml +0 -34
  157. package/framework/teams/retro.yaml +0 -30
  158. package/framework/teams/review-pr.yaml +0 -73
  159. package/framework/teams/review-release.yaml +0 -70
  160. package/framework/teams/security.yaml +0 -59
  161. package/framework/teams/solve.yaml +0 -48
  162. package/framework/teams/sprint.yaml +0 -68
  163. package/framework/teams/test.yaml +0 -59
  164. package/framework/teams/workspace-feature.yaml +0 -69
  165. package/framework/teams/workspace-validation.yaml +0 -27
  166. package/framework/templates/arch-delta.md +0 -74
  167. package/framework/templates/architecture.md +0 -95
  168. package/framework/templates/brief.md +0 -73
  169. package/framework/templates/bug-report.md +0 -55
  170. package/framework/templates/contract-validation-report.md +0 -68
  171. package/framework/templates/contract.yaml +0 -60
  172. package/framework/templates/conventions.md +0 -59
  173. package/framework/templates/coverage-report.md +0 -67
  174. package/framework/templates/doc-api.md +0 -53
  175. package/framework/templates/doc-guide.md +0 -35
  176. package/framework/templates/doc-readme.md +0 -49
  177. package/framework/templates/epic.md +0 -47
  178. package/framework/templates/feature-brief.md +0 -54
  179. package/framework/templates/feature-spec.md +0 -53
  180. package/framework/templates/flaky-report.md +0 -64
  181. package/framework/templates/investigation.md +0 -49
  182. package/framework/templates/memory-anti-pattern.yaml +0 -16
  183. package/framework/templates/memory-convention.yaml +0 -17
  184. package/framework/templates/memory-decision.yaml +0 -16
  185. package/framework/templates/migration-plan.md +0 -47
  186. package/framework/templates/optimization-plan.md +0 -59
  187. package/framework/templates/performance-profile.md +0 -64
  188. package/framework/templates/personas.md +0 -118
  189. package/framework/templates/postmortem.md +0 -69
  190. package/framework/templates/pr-review.md +0 -50
  191. package/framework/templates/prd.md +0 -92
  192. package/framework/templates/refactor-scope.md +0 -52
  193. package/framework/templates/release-readiness.md +0 -66
  194. package/framework/templates/retro.yaml +0 -44
  195. package/framework/templates/risks.md +0 -64
  196. package/framework/templates/security.md +0 -111
  197. package/framework/templates/sprint-review.md +0 -32
  198. package/framework/templates/story.md +0 -53
  199. package/framework/templates/threat-model.md +0 -71
  200. package/framework/templates/ux-spec.md +0 -71
  201. package/framework/templates/vulnerability-report.md +0 -56
  202. package/framework/templates/workspace-brief.md +0 -52
  203. package/framework/templates/workspace-plan.md +0 -50
  204. package/framework/workflows/discover-only.md +0 -39
  205. package/framework/workflows/full-lifecycle.md +0 -56
  206. package/framework/workflows/quick-feature.md +0 -44
  207. package/framework/workflows/sprint-cycle.md +0 -47
  208. package/framework/workflows/workspace-feature.md +0 -71
@@ -1,481 +0,0 @@
1
- # /sniper-status -- Show Lifecycle Status and Artifact State
2
-
3
- You are executing the `/sniper-status` command. Your job is to read the current project state and display a comprehensive, formatted status report. This is a READ-ONLY command -- do NOT modify any files.
4
-
5
- ---
6
-
7
- ## Step 0: Pre-Flight -- Read Configuration
8
-
9
- 1. Read `.sniper/config.yaml`
10
- 2. If the file does not exist:
11
- ```
12
- ERROR: .sniper/config.yaml not found.
13
- SNIPER has not been initialized in this project.
14
- Run /sniper-init to set up the framework.
15
- ```
16
- Then STOP.
17
- 3. If the file exists but `project.name` is empty:
18
- ```
19
- WARNING: SNIPER config exists but project name is not set.
20
- The framework may be partially initialized. Run /sniper-init to complete setup.
21
- ```
22
- Continue anyway and show what is available.
23
-
24
- ---
25
-
26
- ## Step 1: Read Project Identity
27
-
28
- Extract from config.yaml:
29
- - `project.name`
30
- - `project.type`
31
- - `project.description`
32
- - `stack` (all fields)
33
- - `domain_pack`
34
-
35
- ---
36
-
37
- ## Step 2: Read Lifecycle State
38
-
39
- Extract from config.yaml:
40
- - `state.phase_log` (array of phase entries with context, started_at, completed_at)
41
- - `state.current_sprint`
42
- - `state.artifacts` (status and version of each artifact)
43
- - `state.features` (array of feature lifecycle entries, if any)
44
- - `state.bugs` (array of bug tracking entries, if any)
45
- - `state.refactors` (array of refactor tracking entries, if any)
46
- - `state.reviews` (array of review entries, if any)
47
- - `state.test_audits` (array of test audit entries, if any)
48
- - `state.security_audits` (array of security audit entries, if any)
49
- - `state.perf_audits` (array of performance audit entries, if any)
50
-
51
- ---
52
-
53
- ## Step 3: Check Artifact Files on Disk
54
-
55
- For each artifact, check whether the actual file exists on disk and has content. Compare the file-on-disk status with the state recorded in config.yaml:
56
-
57
- | Artifact | Config Key | Expected Path(s) |
58
- |--------------|-----------------|-------------------------------------|
59
- | Brief | `brief` | `docs/brief.md` |
60
- | PRD | `prd` | `docs/prd.md` |
61
- | Architecture | `architecture` | `docs/architecture.md` |
62
- | UX Spec | `ux_spec` | `docs/ux-spec.md` |
63
- | Security | `security` | `docs/security.md` |
64
- | Epics | `epics` | `docs/epics/*.md` |
65
- | Stories | `stories` | `docs/stories/*.md` |
66
- | Risks | `risks` | `docs/risks.md` |
67
- | Personas | `personas` | `docs/personas.md` |
68
- | Conventions | `conventions` | `docs/conventions.md` |
69
-
70
- For epics and stories, count the number of `.md` files in the directory.
71
-
72
- Determine each artifact's effective status:
73
- - `missing` -- file does not exist on disk
74
- - `empty` -- file exists but has no substantive content (only template markers)
75
- - `draft` -- file exists with content, config says draft or null
76
- - `approved` -- config says approved
77
- - `out of sync` -- config says one status but disk state contradicts it (e.g., config says approved but file is missing)
78
-
79
- ---
80
-
81
- ## Step 4: Read Sprint Details (if applicable)
82
-
83
- If `state.current_phase` is `sprint` or if `state.current_sprint` > 0:
84
-
85
- 1. Check for story files in `docs/stories/`
86
- 2. For each story file, read its header to determine status:
87
- - Look for status markers in the story content (e.g., `Status: complete`, `Status: in-progress`, `Status: pending`)
88
- - If no status marker, assume `pending`
89
- 3. Count stories by status
90
- 4. Check for any stories assigned to the current sprint
91
-
92
- ---
93
-
94
- ## Step 5: Read Review Gate Configuration
95
-
96
- Extract `review_gates` from config.yaml:
97
- - `after_discover`
98
- - `after_plan`
99
- - `after_solve`
100
- - `after_sprint`
101
-
102
- ---
103
-
104
- ## Step 6: Compute Progress Estimate
105
-
106
- Based on the current state, estimate overall progress:
107
-
108
- | State | Progress |
109
- |-------------------------------------|-------------------|
110
- | No phase started | 0% -- Not started |
111
- | discover phase active | 5-15% |
112
- | discover complete, plan active | 15-35% |
113
- | plan complete, solve active | 35-45% |
114
- | solve complete, sprint active | 45-90% |
115
- | All stories complete | 90-100% |
116
-
117
- For sprint phase, calculate more precisely:
118
- - Count total stories
119
- - Count completed stories
120
- - Sprint progress = (completed / total) as a percentage of the 45-90% range
121
-
122
- ---
123
-
124
- ## Step 7: Display Status Report
125
-
126
- Print the following formatted report. Use the actual values from the steps above.
127
-
128
- ```
129
- ============================================
130
- SNIPER Status Report
131
- ============================================
132
-
133
- Project: {name}
134
- Type: {type}
135
- Description: {description}
136
- Domain Pack: {domain_pack or "none"}
137
-
138
- --------------------------------------------
139
- Lifecycle Phase
140
- --------------------------------------------
141
-
142
- Current Phase: {active phase from phase_log or "NOT STARTED"}
143
- Sprint: {current_sprint or "N/A"}
144
- Progress: {estimated_progress}
145
-
146
- Phase Log (most recent first):
147
- {For each entry in phase_log, most recent first:}
148
- {[x] if completed, [>] if active} {phase} ({context}) {started_at} - {completed_at or "in progress"}
149
-
150
- {If phase_log is empty:}
151
- No phases started yet.
152
-
153
- Standard Phase Progression:
154
- [ ] ingest -- Ingest existing codebase (optional, for existing projects)
155
- [ ] discover -- Discovery & Analysis
156
- [ ] plan -- Planning & Architecture
157
- [ ] solve -- Epic Sharding & Story Creation
158
- [ ] sprint -- Implementation Sprint
159
-
160
- Use [x] for completed phases, [>] for the active phase, [ ] for not yet run.
161
- Note: Phases can be run multiple times. The phase log shows all executions.
162
-
163
- --------------------------------------------
164
- Phase History (from phase_log)
165
- --------------------------------------------
166
-
167
- {For each entry in phase_log:}
168
- Phase: {phase} Context: {context}
169
- Started: {started_at}
170
- Completed: {completed_at or "in progress"}
171
- Approved by: {approved_by or "pending"}
172
-
173
- {If phase_log is empty:}
174
- No phases started yet.
175
-
176
- --------------------------------------------
177
- Artifacts
178
- --------------------------------------------
179
-
180
- | Artifact | Status | Version | On Disk | Path |
181
- |---------------|--------|---------|----------------|--------------------------|
182
- | Brief | {s} | v{n} | {disk_status} | docs/brief.md |
183
- | Risks | {s} | v{n} | {disk_status} | docs/risks.md |
184
- | Personas | {s} | v{n} | {disk_status} | docs/personas.md |
185
- | PRD | {s} | v{n} | {disk_status} | docs/prd.md |
186
- | Architecture | {s} | v{n} | {disk_status} | docs/architecture.md |
187
- | UX Spec | {s} | v{n} | {disk_status} | docs/ux-spec.md |
188
- | Security | {s} | v{n} | {disk_status} | docs/security.md |
189
- | Conventions | {s} | v{n} | {disk_status} | docs/conventions.md |
190
- | Epics | {s} | v{n} | {count} files | docs/epics/ |
191
- | Stories | {s} | v{n} | {count} files | docs/stories/ |
192
-
193
- For "Status" show: null, draft, approved (from state.artifacts.{key}.status)
194
- For "Version" show: v0 if never produced, v1+, from state.artifacts.{key}.version
195
- For "On Disk" show: missing, empty, has content, {N} files
196
-
197
- --------------------------------------------
198
- Sprint Details
199
- --------------------------------------------
200
-
201
- {If in sprint phase or current_sprint > 0:}
202
-
203
- Sprint #{current_sprint}
204
-
205
- | Story | Status | Complexity | Owner |
206
- |-------------------------|-------------|------------|----------|
207
- | {story_name} | {status} | {S/M/L/XL} | {owner} |
208
- | ... | ... | ... | ... |
209
-
210
- Progress: {completed}/{total} stories ({percentage}%)
211
-
212
- {If not in sprint phase:}
213
- No active sprint.
214
-
215
- --------------------------------------------
216
- Features
217
- --------------------------------------------
218
-
219
- {If state.features has entries:}
220
-
221
- Active Features:
222
- | ID | Feature | Phase | Progress |
223
- |----|---------|-------|----------|
224
- | SNPR-{XXXX} | {title} | {phase} | {stories_complete}/{stories_total} stories |
225
- | ... | ... | ... | ... |
226
-
227
- Completed Features:
228
- | ID | Feature | Completed | Stories |
229
- |----|---------|-----------|---------|
230
- | SNPR-{XXXX} | {title} | {completed_at} | {stories_total} |
231
- | ... | ... | ... | ... |
232
-
233
- Total: {active count} active, {completed count} completed
234
-
235
- {If state.features is empty:}
236
- No features started. Run /sniper-feature to add an incremental feature.
237
-
238
- --------------------------------------------
239
- Bugs
240
- --------------------------------------------
241
-
242
- {If state.bugs has entries:}
243
-
244
- Active Bugs:
245
- | ID | Bug | Severity | Status |
246
- |----|-----|----------|--------|
247
- | BUG-{NNN} | {title} | {severity} | {status} |
248
-
249
- Resolved Bugs:
250
- | ID | Bug | Severity | Resolved | Root Cause |
251
- |----|-----|----------|----------|------------|
252
- | BUG-{NNN} | {title} | {severity} | {resolved_at} | {root_cause} |
253
-
254
- {If state.bugs is empty:}
255
- No bugs tracked. Run /sniper-debug to investigate a bug.
256
-
257
- --------------------------------------------
258
- Refactors
259
- --------------------------------------------
260
-
261
- {If state.refactors has entries:}
262
-
263
- Active Refactors:
264
- | ID | Refactor | Status | Progress |
265
- |----|----------|--------|----------|
266
- | REF-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
267
-
268
- Completed Refactors:
269
- | ID | Refactor | Completed |
270
- |----|----------|-----------|
271
- | REF-{NNN} | {title} | {completed_at} |
272
-
273
- {If state.refactors is empty:}
274
- No refactors tracked. Run /sniper-audit --target refactor to start one.
275
-
276
- --------------------------------------------
277
- Reviews
278
- --------------------------------------------
279
-
280
- {If state.reviews has entries:}
281
-
282
- Recent Reviews:
283
- | ID | Type | Target | Recommendation | Date |
284
- |----|------|--------|---------------|------|
285
- | {id} | {pr/release} | {target} | {recommendation} | {created_at} |
286
-
287
- {If state.reviews is empty:}
288
- No reviews tracked. Run /sniper-audit --target review to review a PR or release.
289
-
290
- --------------------------------------------
291
- Test Audits
292
- --------------------------------------------
293
-
294
- {If state.test_audits has entries:}
295
-
296
- Active Test Audits:
297
- | ID | Audit | Status | Progress |
298
- |----|-------|--------|----------|
299
- | TST-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
300
-
301
- Completed Test Audits:
302
- | ID | Audit | Completed | Stories |
303
- |----|-------|-----------|---------|
304
- | TST-{NNN} | {title} | {completed_at} | {stories_total} |
305
-
306
- {If state.test_audits is empty:}
307
- No test audits tracked. Run /sniper-audit --target tests to analyze test quality.
308
-
309
- --------------------------------------------
310
- Security Audits
311
- --------------------------------------------
312
-
313
- {If state.security_audits has entries:}
314
-
315
- Active Security Audits:
316
- | ID | Audit | Status | Findings | Progress |
317
- |----|-------|--------|----------|----------|
318
- | SEC-{NNN} | {title} | {status} | {critical}C {high}H {medium}M {low}L | {stories_complete}/{stories_total} stories |
319
-
320
- Completed Security Audits:
321
- | ID | Audit | Completed | Findings | Stories |
322
- |----|-------|-----------|----------|---------|
323
- | SEC-{NNN} | {title} | {completed_at} | {critical}C {high}H | {stories_total} |
324
-
325
- {If state.security_audits is empty:}
326
- No security audits tracked. Run /sniper-audit --target security to audit security.
327
-
328
- --------------------------------------------
329
- Performance Audits
330
- --------------------------------------------
331
-
332
- {If state.perf_audits has entries:}
333
-
334
- Active Performance Audits:
335
- | ID | Audit | Status | Progress |
336
- |----|-------|--------|----------|
337
- | PERF-{NNN} | {title} | {status} | {stories_complete}/{stories_total} stories |
338
-
339
- Completed Performance Audits:
340
- | ID | Audit | Completed | Stories |
341
- |----|-------|-----------|---------|
342
- | PERF-{NNN} | {title} | {completed_at} | {stories_total} |
343
-
344
- {If state.perf_audits is empty:}
345
- No performance audits tracked. Run /sniper-audit --target performance to profile performance.
346
-
347
- --------------------------------------------
348
- Memory
349
- --------------------------------------------
350
-
351
- {If .sniper/memory/ directory exists:}
352
-
353
- Memory:
354
- Conventions: {N} confirmed, {M} candidates
355
- Anti-Patterns: {N} confirmed, {M} candidates
356
- Decisions: {N} active, {M} superseded
357
- Retrospectives: {N} (latest: Sprint {X}, {date})
358
-
359
- {If .sniper/memory/ does not exist:}
360
- Memory: not initialized (run /sniper-memory to set up)
361
-
362
- {If workspace memory is configured:}
363
- Workspace Memory:
364
- Conventions: {N}
365
- Anti-Patterns: {N}
366
- Decisions: {N}
367
-
368
- --------------------------------------------
369
- Review Gates
370
- --------------------------------------------
371
-
372
- | Gate | Mode | Status |
373
- |-----------------|------------|---------------------------|
374
- | after_ingest | {mode} | {passed/pending/N/A} |
375
- | after_discover | {mode} | {passed/pending/N/A} |
376
- | after_plan | {mode} | {passed/pending/N/A} |
377
- | after_solve | {mode} | {passed/pending/N/A} |
378
- | after_sprint | {mode} | {passed/pending/N/A} |
379
-
380
- Legend:
381
- strict = Human must explicitly approve before advancing
382
- flexible = Auto-advance, human reviews async
383
- auto = No review required
384
-
385
- --------------------------------------------
386
- Tech Stack
387
- --------------------------------------------
388
-
389
- Language: {language}
390
- Frontend: {frontend}
391
- Backend: {backend}
392
- Database: {database}
393
- Cache: {cache}
394
- Infrastructure: {infrastructure}
395
- Test Runner: {test_runner}
396
- Package Manager: {package_manager}
397
-
398
- ============================================
399
- What's Next
400
- ============================================
401
-
402
- {Generate contextual next-step suggestions based on current state:}
403
-
404
- {If not started:}
405
- -> Run /sniper-ingest to bootstrap artifacts from an existing codebase
406
- -> Run /sniper-discover to begin Phase 1: Discovery & Analysis (for new projects)
407
-
408
- {If in ingest phase:}
409
- -> Ingestion is in progress. When complete, run /sniper-review to evaluate artifacts.
410
-
411
- {If ingest complete:}
412
- -> Run /sniper-feature to add incremental features using ingested artifacts
413
- -> Run /sniper-discover to begin Phase 1: Discovery & Analysis
414
- -> Run /sniper-audit to audit the codebase
415
-
416
- {If in discover phase:}
417
- -> Discovery is in progress. When complete, run /sniper-review to evaluate artifacts.
418
-
419
- {If discover complete, plan not started:}
420
- -> Run /sniper-plan to begin Phase 2: Planning & Architecture
421
-
422
- {If in plan phase:}
423
- -> Planning is in progress. When complete, run /sniper-review to evaluate artifacts.
424
- -> Note: This gate is STRICT -- human approval required.
425
-
426
- {If plan complete, solve not started:}
427
- -> Run /sniper-solve to begin Phase 3: Epic Sharding & Story Creation
428
-
429
- {If in solve phase:}
430
- -> Story creation is in progress. When complete, run /sniper-review to evaluate stories.
431
-
432
- {If solve complete, sprint not started:}
433
- -> Run /sniper-sprint to begin Phase 4: Implementation Sprint
434
-
435
- {If in sprint phase:}
436
- -> Sprint #{N} is in progress. {completed}/{total} stories complete.
437
- -> When all sprint stories are done, run /sniper-review to evaluate the sprint.
438
-
439
- {If there are active bugs:}
440
- -> {count} active bug(s). Run /sniper-debug --list to see details.
441
-
442
- {If there are active refactors:}
443
- -> {count} active refactor(s). Run /sniper-audit --target refactor --list to see details.
444
-
445
- {If there are active features:}
446
- -> {count} active feature(s). Run /sniper-feature --list to see details.
447
-
448
- {If there are active test audits:}
449
- -> {count} active test audit(s). Run /sniper-audit --target tests --list to see details.
450
-
451
- {If there are active security audits:}
452
- -> {count} active security audit(s). Run /sniper-audit --target security --list to see details.
453
-
454
- {If there are active performance audits:}
455
- -> {count} active performance audit(s). Run /sniper-audit --target performance --list to see details.
456
-
457
- {Always show these as available commands:}
458
- -> Run /sniper-debug to investigate a production bug
459
- -> Run /sniper-audit --target review --pr {N} to review a pull request
460
- -> Run /sniper-audit --target refactor to plan a large refactoring
461
- -> Run /sniper-audit --target tests to analyze test quality
462
- -> Run /sniper-audit --target security to audit security
463
- -> Run /sniper-audit --target performance to profile performance
464
-
465
- {If there are out-of-sync artifacts:}
466
- -> WARNING: Some artifacts are out of sync between config and disk. Review the artifacts table above.
467
- ```
468
-
469
- ---
470
-
471
- ## IMPORTANT RULES
472
-
473
- - This is a READ-ONLY command. Do NOT modify any files whatsoever.
474
- - Do NOT modify `.sniper/config.yaml` -- only read it.
475
- - Do NOT modify any artifact files -- only check their existence and read their headers.
476
- - If config.yaml is malformed, report what you can read and note the parsing errors.
477
- - Show ALL sections of the report even if some are empty -- use the "not started" / "N/A" defaults.
478
- - Be precise about dates -- use the actual dates from phase_history, do not fabricate dates.
479
- - For the progress estimate, be conservative -- do not overstate progress.
480
- - If story files exist but have no status markers, default to "pending" and note the assumption.
481
- - Always end with the contextual "What's Next" section to guide the user.