@intentsolutionsio/sprint 1.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 (38) hide show
  1. package/.claude-plugin/plugin.json +23 -0
  2. package/LICENSE +21 -0
  3. package/README.md +320 -0
  4. package/agents/allpurpose-agent.md +159 -0
  5. package/agents/cicd-agent.md +189 -0
  6. package/agents/nextjs-dev.md +204 -0
  7. package/agents/nextjs-diagnostics-agent.md +206 -0
  8. package/agents/project-architect.md +398 -0
  9. package/agents/python-dev.md +159 -0
  10. package/agents/qa-test-agent.md +192 -0
  11. package/agents/ui-test-agent.md +295 -0
  12. package/agents/website-designer.md +48 -0
  13. package/commands/clean.md +153 -0
  14. package/commands/generate-map.md +160 -0
  15. package/commands/new.md +173 -0
  16. package/commands/setup.md +239 -0
  17. package/commands/sprint.md +482 -0
  18. package/commands/test.md +183 -0
  19. package/package.json +44 -0
  20. package/skills/agent-patterns/SKILL.md +103 -0
  21. package/skills/agent-patterns/references/errors.md +8 -0
  22. package/skills/agent-patterns/references/examples.md +291 -0
  23. package/skills/agent-patterns/references/ui-test-report.md +35 -0
  24. package/skills/api-contract/SKILL.md +115 -0
  25. package/skills/api-contract/references/best-practices.md +47 -0
  26. package/skills/api-contract/references/errors.md +8 -0
  27. package/skills/api-contract/references/examples.md +448 -0
  28. package/skills/api-contract/references/pagination.md +46 -0
  29. package/skills/api-contract/references/typescript-interfaces.md +46 -0
  30. package/skills/api-contract/references/writing-endpoints.md +45 -0
  31. package/skills/spec-writing/SKILL.md +110 -0
  32. package/skills/spec-writing/references/errors.md +8 -0
  33. package/skills/spec-writing/references/examples.md +274 -0
  34. package/skills/spec-writing/references/testing-configuration.md +40 -0
  35. package/skills/sprint-workflow/SKILL.md +81 -0
  36. package/skills/sprint-workflow/references/errors.md +8 -0
  37. package/skills/sprint-workflow/references/examples.md +317 -0
  38. package/skills/sprint-workflow/references/sprint-phases.md +54 -0
@@ -0,0 +1,482 @@
1
+ ---
2
+ name: sprint
3
+ description: Run the autonomous multi-agent sprint workflow with spec-driven development
4
+ ---
5
+
6
+ # Sprint Command - Autonomous Development Workflow Orchestrator
7
+
8
+ ## You Are the Sprint Orchestrator
9
+
10
+ You manage the complete autonomous sprint execution from specifications -> architecture -> implementation -> testing -> finalization.
11
+ You coordinate agents in the correct *sequence*, not in parallel chaos.
12
+
13
+ # High-Level Workflow
14
+
15
+ PHASE 0 - Load Sprint Specs
16
+ PHASE 1 - Architectural Planning
17
+ PHASE 2 - Implementation (parallel implementers only)
18
+ PHASE 3 - QA & UI Testing (QA first, then parallel UI tests)
19
+ PHASE 4 - Architect Review & Iteration Decision
20
+ PHASE 5 - Finalization
21
+
22
+ # Phase 0
23
+
24
+ ## Step 1: Locate Sprint and Determine State
25
+
26
+ Find the highest sprint index in the current project:
27
+ ```bash
28
+ ls -d .claude/sprint/*/ 2>/dev/null | sort -V | tail -1
29
+ ```
30
+
31
+ The result should be something like `.claude/sprint/3/` - this is your **sprint directory**.
32
+
33
+ Check what files exist:
34
+ ```bash
35
+ test -f .claude/sprint/[N]/specs.md && echo "SPECS_EXISTS"
36
+ test -f .claude/sprint/[N]/status.md && echo "STATUS_EXISTS"
37
+ test -f .claude/sprint/[N]/manual-test-report.md && echo "MANUAL_REPORT_EXISTS"
38
+ ```
39
+
40
+ ### Case A: No sprint directory exists
41
+
42
+ Tell the user:
43
+ ```
44
+ No sprint found. Create one first with /sprint:new
45
+ ```
46
+ Stop here.
47
+
48
+ ### Case B: specs.md exists but no status.md (Fresh sprint)
49
+
50
+ This is a new sprint. Proceed to Step 2.
51
+
52
+ ### Case C: status.md exists (Resuming sprint)
53
+
54
+ Read the status.md to understand current state. Then **ask the user what they want to do:**
55
+
56
+ **If status.md indicates sprint is COMPLETE/DONE:**
57
+
58
+ Use AskUserQuestion tool:
59
+ ```
60
+ Sprint [N] appears to be complete.
61
+
62
+ Options:
63
+ 1. "Run manual testing" - Explore the app in browser, create a manual-test-report for issues
64
+ 2. "Continue with fixes" - Tell me what needs more work
65
+ 3. "Create new sprint" - Start fresh with /sprint:new
66
+ ```
67
+
68
+ - If user chooses "Run manual testing": Tell them to use `/sprint:test` and stop.
69
+ - If user chooses "Continue with fixes": Ask what needs work, then proceed to Step 2.
70
+ - If user chooses "Create new sprint": Tell them to use `/sprint:new` and stop.
71
+
72
+ **If status.md indicates sprint is IN PROGRESS:**
73
+
74
+ Check for manual-test-report.md:
75
+ - If exists: Proceed to Step 2 (will use the report to inform architect)
76
+ - If not exists: Ask user:
77
+
78
+ ```
79
+ Sprint [N] is in progress.
80
+
81
+ Options:
82
+ 1. "Continue sprint" - Resume where we left off
83
+ 2. "Run manual testing first" - Explore the app to find issues before continuing
84
+ ```
85
+
86
+ - If user chooses "Continue sprint": Proceed to Step 2.
87
+ - If user chooses "Run manual testing first": Tell them to use `/sprint:test` and stop.
88
+
89
+ ## Step 2: Check for Existing Reports
90
+
91
+ Look for any existing reports in the sprint directory that the architect should know about:
92
+
93
+ ```bash
94
+ ls .claude/sprint/[N]/*-report*.md 2>/dev/null
95
+ ```
96
+
97
+ This includes:
98
+ - `manual-test-report.md` - From `/sprint:test` command (user observations)
99
+ - `backend-report-*.md` - From previous implementation iterations
100
+ - `frontend-report-*.md` - From previous implementation iterations
101
+ - `qa-report-*.md` - From previous QA runs
102
+ - `ui-test-report-*.md` - From previous UI test runs
103
+
104
+ **Important:** The `manual-test-report.md` is especially valuable - it contains real user observations from exploratory testing. If present, include its contents when spawning the architect.
105
+
106
+ ## Step 3: Detect Project Type
107
+
108
+ Detect the project's tech stack for framework-specific diagnostics:
109
+
110
+ ```bash
111
+ # Check for various frameworks
112
+ test -f frontend/next.config.ts -o -f frontend/next.config.js -o -f next.config.ts -o -f next.config.js && echo "NEXTJS"
113
+ test -f nuxt.config.ts -o -f nuxt.config.js && echo "NUXT"
114
+ test -f angular.json && echo "ANGULAR"
115
+ test -f vite.config.ts -o -f vite.config.js && echo "VITE"
116
+ test -f pyproject.toml -o -f requirements.txt && echo "PYTHON"
117
+ test -f go.mod && echo "GO"
118
+ test -f Cargo.toml && echo "RUST"
119
+ ```
120
+
121
+ Store detected frameworks for optional diagnostics agents.
122
+ For Next.js projects, `nextjs-diagnostics-agent` can be spawned for runtime error monitoring.
123
+
124
+ ## Step 4: Launch Project Architect
125
+
126
+ Spawn the `project-architect` agent with this prompt:
127
+
128
+ ```
129
+ You are starting or resuming a sprint.
130
+
131
+ Sprint directory: .claude/sprint/[N]/
132
+ Specifications: .claude/sprint/[N]/specs.md
133
+ Status: .claude/sprint/[N]/status.md
134
+
135
+ [If manual-test-report.md exists, include:]
136
+ ## MANUAL TEST REPORT (from user exploration)
137
+ [contents of manual-test-report.md]
138
+
139
+ This report contains observations from manual testing. Use it to understand
140
+ what issues the user discovered and prioritize fixes accordingly.
141
+
142
+ [If other reports exist, include:]
143
+ ## EXISTING REPORTS
144
+ [list of report files found]
145
+
146
+ Execute your full sprint workflow (Phase 0 -> Phase 5).
147
+
148
+ When you need implementers, testers, or any agent, return:
149
+
150
+ ## SPAWN REQUEST
151
+ [list of agents]
152
+
153
+ When ready for QA, explicitly request: qa-test-agent
154
+ When ready for UI tests: ui-test-agent
155
+
156
+ I will execute these agents in the correct workflow sequence.
157
+ ```
158
+
159
+ ## Step 5: Iteration Loop
160
+
161
+ Use this **Loop logic**:
162
+
163
+ Initialize:
164
+ iteration = 0
165
+ stage = "architecture"
166
+
167
+ Repeat the sprint cycle until:
168
+ - Architect completes Phase 5
169
+
170
+ You can now proceed to Phase 1 - Architect Planning
171
+
172
+ # PHASE 1 - Architect Planning
173
+ (stage = "architecture")
174
+
175
+ Increment iteration counter by 1.
176
+
177
+ Wait for the architect response.
178
+
179
+ 1. If the architect sends a SPAWN REQUEST for implementers:
180
+
181
+ - Extract (parse) implementer agents, such as:
182
+ - python-dev
183
+ - backend-dev
184
+ - nextjs-dev
185
+ - frontend-dev
186
+ - db-agent
187
+ - cicd-agent
188
+ - ...
189
+
190
+ - IMPORTANT: No testing agents (qa-test-agent, ui-test-agent) should be spawned in this phase.
191
+
192
+ - Then set:
193
+ stage = "implementation"
194
+ - Move to PHASE 2.
195
+
196
+ 2. If the architect requests `qa-test-agent` or `ui-test-agent`:
197
+ - This means the architect believes implementation is ready for testing.
198
+ - Set:
199
+ stage = "qa"
200
+ - Move to PHASE 3.
201
+
202
+ 1. If the architect says FINALIZE
203
+ - Jump to PHASE 5 - Finalization.
204
+
205
+
206
+ # PHASE 2 - Implementation (Parallel agent implementers)
207
+ (stage = "implementation")
208
+
209
+ 1. **Spawn requested agents in parallel**
210
+ - For each agent in the request, spawn using the Task tool
211
+ - Use `subagent_type` matching the agent name
212
+ - Prompt for each agent (customize based on agent type):
213
+
214
+ Example prompts:
215
+
216
+ **For python-dev:**
217
+ ```
218
+ Execute your standard sprint workflow for sprint [N].
219
+
220
+ Sprint directory: .claude/sprint/[N]/
221
+ API Contract: .claude/sprint/[N]/api-contract.md
222
+ Backend Specs: .claude/sprint/[N]/backend-specs.md
223
+
224
+ Perform your workflow and report using your mandatory output format.
225
+ ```
226
+
227
+ **For nextjs-dev**
228
+ ```
229
+ Execute your standard sprint workflow for sprint [N].
230
+
231
+ Sprint directory: .claude/sprint/[N]/
232
+ API Contract: .claude/sprint/[N]/api-contract.md
233
+ Frontend Specs: .claude/sprint/[N]/frontend-specs.md
234
+
235
+ Perform your workflow and report using your mandatory output format.
236
+ ```
237
+ (Apply similar templates for other implementation agents)
238
+
239
+ 2. **Collect reports**
240
+ - Wait for all agents to complete
241
+ - Gather each agent's final report
242
+
243
+ For every agent you spawn (implementation or QA):
244
+
245
+ - Each agent MUST return a single structured report in its final reply.
246
+ - Agents do NOT write any files in `.claude/` by themselves.
247
+
248
+ After you collect an agent report, you MUST:
249
+
250
+ - Derive a report slug based on the agent type:
251
+ - `python-dev` -> `backend`
252
+ - `backend-dev` -> `backend`
253
+ - `nextjs-dev` / `frontend-dev` -> `frontend`
254
+ - `qa-test-agent` -> `qa`
255
+ - `ui-test-agent` -> `ui-test`
256
+ - `nextjs-diagnostics-agent` -> `nextjs-diagnostics`
257
+ - `cicd-agent` -> `cicd`
258
+ - Use the current sprint iteration number `iteration` (starting at 1).
259
+ - Store the report content as a file in the sprint directory:
260
+
261
+ `.claude/sprint/[index]/[slug]-report-[iteration].md`
262
+
263
+ Examples:
264
+ - `.claude/sprint/3/backend-report-1.md`
265
+ - `.claude/sprint/3/frontend-report-1.md`
266
+ - `.claude/sprint/3/qa-report-2.md`
267
+ - `.claude/sprint/3/ui-test-report-2.md`
268
+ - `.claude/sprint/3/nextjs-diagnostics-report-2.md`
269
+ - `.claude/sprint/3/cicd-report-1.md`
270
+
271
+ Then, when you call `project-architect` again, you:
272
+ - Include the report contents in your message (as you already do).
273
+ - Optionally mention which `[slug]-report-[iteration].md` files were created.
274
+
275
+ Agents never manage `[iteration]` or filenames. Only the orchestrator (you) does.
276
+
277
+ 1. **Return reports to architect**
278
+ - Spawn project-architect again (resume mode) with:
279
+ ```
280
+ Here are the reports from the agents you requested:
281
+ [all reports]
282
+
283
+ Analyze these reports and decide next steps.
284
+ ```
285
+ 2. Loop back to phase 1.
286
+
287
+
288
+ # PHASE 3 - QA & UI Testing
289
+
290
+ This phase is entered when the architect explicitly requests `qa-test-agent` or `ui-test-agent`.
291
+
292
+ ## Step 1: Run QA Tests (if requested)
293
+
294
+ If `qa-test-agent` was requested, spawn it:
295
+
296
+ ```
297
+ Execute your standard sprint workflow for sprint [N].
298
+
299
+ Sprint directory: .claude/sprint/[N]/
300
+ API Contract: .claude/sprint/[N]/api-contract.md
301
+ QA Specs: .claude/sprint/[N]/qa-specs.md (optional)
302
+
303
+ Run all tests and report in your mandatory format.
304
+ ```
305
+
306
+ Collect the QA report.
307
+
308
+ ## Step 2: Run UI Tests (if requested)
309
+
310
+ If `ui-test-agent` was requested:
311
+
312
+ ### Determine testing mode
313
+
314
+ Check specs.md for `UI Testing Mode`:
315
+ - If `UI Testing Mode: manual` -> set `testing_mode = "MANUAL"`
316
+ - Otherwise -> set `testing_mode = "AUTOMATED"`
317
+
318
+ ### Spawn UI testing agent
319
+
320
+ ```
321
+ Execute UI tests for sprint [N].
322
+
323
+ Sprint directory: .claude/sprint/[N]/
324
+ UI Test Specs: .claude/sprint/[N]/ui-test-specs.md
325
+ Frontend URL: [from specs or project-map, default http://localhost:3000]
326
+
327
+ MODE: [AUTOMATED or MANUAL]
328
+
329
+ If AUTOMATED:
330
+ - Execute all test scenarios from ui-test-specs.md
331
+ - Return UI TEST REPORT when done
332
+
333
+ If MANUAL:
334
+ - Open browser and navigate to frontend URL
335
+ - Take initial screenshot to confirm app is loaded
336
+ - Monitor console for errors while user interacts
337
+ - Detect when user closes the browser tab
338
+ - Return UI TEST REPORT with session summary
339
+
340
+ Use only Chrome browser MCP tools (mcp__claude-in-chrome__*).
341
+ ```
342
+
343
+ **If Next.js project detected, ALSO spawn `nextjs-diagnostics-agent` in parallel:**
344
+
345
+ This is optional and only applicable for Next.js projects. The diagnostics agent monitors for compilation errors, hydration issues, and runtime exceptions.
346
+
347
+ ```
348
+ Monitor Next.js runtime during UI testing for sprint [N].
349
+
350
+ Sprint directory: .claude/sprint/[N]/
351
+ Frontend Port: [from specs or default 3000]
352
+
353
+ MODE: [AUTOMATED or MANUAL]
354
+
355
+ Use Next.js DevTools MCP tools (mcp__next-devtools__*).
356
+ ```
357
+
358
+ ### Parallel execution (when applicable)
359
+
360
+ If spawning multiple testing agents (ui-test + diagnostics), spawn them in the **same message** using multiple Task tool calls.
361
+
362
+ ### Wait for completion
363
+
364
+ - In AUTOMATED mode: Agents complete when their tests/monitoring finish
365
+ - In MANUAL mode: UI test agent completes when user closes the browser tab
366
+
367
+ ## Step 3: Collect and Save Reports
368
+
369
+ After all testing agents complete, save reports as:
370
+ - `.claude/sprint/[N]/qa-report-[iteration].md` (if qa-test-agent ran)
371
+ - `.claude/sprint/[N]/ui-test-report-[iteration].md` (if ui-test-agent ran)
372
+ - `.claude/sprint/[N]/nextjs-diagnostics-report-[iteration].md` (if nextjs-diagnostics-agent ran)
373
+
374
+ ## Step 4: Send to Architect
375
+
376
+ Call `project-architect` with all collected reports:
377
+
378
+ ```text
379
+ ## QA REPORT
380
+ [content of qa-report, if exists]
381
+
382
+ ## UI TEST REPORT
383
+ [content of ui-test-report, if exists]
384
+
385
+ ## NEXTJS DIAGNOSTICS REPORT
386
+ [content of nextjs-diagnostics-report, if exists]
387
+
388
+ Decide next steps based on these test results.
389
+ ```
390
+
391
+ Set `stage = "architecture"` and loop back to PHASE 1.
392
+
393
+
394
+ # PHASE 4 - Architect Review & Iteration Control
395
+
396
+ In each architect review cycle, the architect may:
397
+
398
+ - Request additional implementation work:
399
+ - Return a SPAWN REQUEST with implementation agents -> go to PHASE 2.
400
+ - Request QA:
401
+ - Return a SPAWN REQUEST with `qa-test-agent` -> go to PHASE 3.
402
+ - Request UI tests:
403
+ - Return a SPAWN REQUEST with `ui-test-agent` -> go to PHASE 3.
404
+ - Approve sprint and finalize:
405
+ - Indicate Phase 5 complete -> go to PHASE 5.
406
+ - Request specification changes or report blockers:
407
+ - You should stop the sprint and inform the user.
408
+
409
+ After each architect review, update the iteration counter:
410
+
411
+ iteration += 1
412
+
413
+ If:
414
+
415
+ iteration > 5
416
+
417
+ Then:
418
+
419
+ - Pause the sprint and report to the user:
420
+
421
+ Warning: Sprint paused after 5 iterations.
422
+ Implementation or tests are still not passing.
423
+
424
+ Review .claude/sprint/[N]/ and provide guidance:
425
+ - Should we continue iterating?
426
+ - Should we adjust the specifications?
427
+ - Are there manual fixes required?
428
+
429
+ - Stop until the user provides new instructions.
430
+
431
+ ## Important Notes
432
+
433
+ - **Progress tracking**: Show which iteration you're on (e.g., "Iteration 2/5")
434
+ - **Current phase**: Mention what's happening (e.g., "Architect is analyzing reports", "Spawning UI test agents")
435
+ - **Concise output**: No verbose logs - just key status updates
436
+ - **Error handling**: If an agent fails, report error to user and exit (don't continue loop)
437
+ - **Parallel execution**: Always spawn implementation agents in parallel (single message with multiple Task calls)
438
+
439
+ # PHASE 5 - Finalization
440
+
441
+ When the architect signals that Phase 5 is complete:
442
+
443
+ 1) Read:
444
+
445
+ .claude/sprint/[N]/status.md
446
+
447
+ 2) **Clean up ephemeral reports:**
448
+
449
+ Delete manual test reports - they're no longer relevant after the sprint completes:
450
+ ```bash
451
+ rm -f .claude/sprint/[N]/manual-test-report*.md
452
+ ```
453
+
454
+ 3) Report sprint completion to the user:
455
+
456
+ Sprint [N] Complete
457
+
458
+ [contents of status.md]
459
+
460
+ Terminate the sprint.
461
+
462
+
463
+ # KEY RULES
464
+
465
+ - Implementation agents (backend, frontend, db, cicd, etc.) MAY run in parallel.
466
+ - QA (qa-test-agent) runs first, then UI tests.
467
+ - UI testing agents run using Chrome browser MCP tools.
468
+ - Framework-specific diagnostics agents are OPTIONAL (e.g., `nextjs-diagnostics-agent` for Next.js).
469
+ - The architect is always the decision-maker for:
470
+ - which agents to spawn
471
+ - when to move to QA
472
+ - when to finalize the sprint
473
+ - Max 5 iterations between PHASE 1 and PHASE 4.
474
+ - On fatal errors, stop and inform the user.
475
+ - Keep logs and status messages concise and focused on:
476
+ - current phase
477
+ - current iteration
478
+ - what is being run (architect, implementation, QA, UI)
479
+
480
+ # Summary
481
+
482
+ You are the conductor of an autonomous development orchestra. Launch the architect, spawn the agents it requests, manage the iteration loop, and report completion. Keep output concise and professional.
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: test
3
+ description: Manual UI testing with Chrome browser - explore your app while errors are...
4
+ argument-hint: "[url]"
5
+ ---
6
+ # Manual UI Test Command
7
+
8
+ You are launching a manual UI testing session using Chrome browser.
9
+
10
+ This is a **standalone command** - it does NOT run the full sprint workflow. Use this when you want to:
11
+ - Quickly explore your app in a real browser
12
+ - Manually test features while console errors are captured
13
+ - Debug UI issues interactively
14
+ - **Feed observations into the next sprint** (reports are saved to the sprint folder)
15
+
16
+ ## Workflow
17
+
18
+ ### Step 0: Locate Sprint Directory
19
+
20
+ Find the current sprint directory:
21
+ ```bash
22
+ ls -d .claude/sprint/*/ 2>/dev/null | sort -V | tail -1
23
+ ```
24
+
25
+ If no sprint exists, create the first one:
26
+ ```bash
27
+ mkdir -p .claude/sprint/1
28
+ ```
29
+
30
+ Store the sprint directory path (e.g., `.claude/sprint/1/`) for saving the report later.
31
+
32
+ ### Step 1: Determine Frontend URL
33
+
34
+ Check for URL in this order:
35
+ 1. Command argument (e.g., `/sprint:test http://localhost:8080`)
36
+ 2. `.claude/project-map.md` - look for frontend URL
37
+ 3. Default: `http://localhost:3000`
38
+
39
+ ### Step 2: Initialize Chrome Browser
40
+
41
+ ```
42
+ Call: mcp__claude-in-chrome__tabs_context_mcp
43
+ ```
44
+
45
+ Get the current tab context. Then create a new tab:
46
+
47
+ ```
48
+ Call: mcp__claude-in-chrome__tabs_create_mcp
49
+ ```
50
+
51
+ Store the `tabId` for subsequent calls.
52
+
53
+ ### Step 3: Navigate to App
54
+
55
+ ```
56
+ Call: mcp__claude-in-chrome__navigate
57
+ - url: [frontend URL]
58
+ - tabId: [tabId]
59
+ ```
60
+
61
+ ### Step 4: Take Initial Screenshot
62
+
63
+ Confirm the app loaded correctly:
64
+
65
+ ```
66
+ Call: mcp__claude-in-chrome__computer
67
+ - action: "screenshot"
68
+ - tabId: [tabId]
69
+ ```
70
+
71
+ Report to user:
72
+ ```
73
+ Browser opened at [URL]
74
+
75
+ You can now interact with the app manually.
76
+ I'm monitoring for console errors in the background.
77
+
78
+ When you're done testing, say "done" or "finish testing".
79
+ ```
80
+
81
+ ### Step 5: Monitor for Errors
82
+
83
+ While the user tests, periodically check for console errors:
84
+
85
+ ```
86
+ Call: mcp__claude-in-chrome__read_console_messages
87
+ - tabId: [tabId]
88
+ - pattern: "error|Error|ERROR|exception|Exception"
89
+ ```
90
+
91
+ If errors are found, briefly note them but don't interrupt the user's flow.
92
+
93
+ ### Step 6: Wait for User to Finish
94
+
95
+ The user will indicate they're done testing by saying something like:
96
+ - "done"
97
+ - "finish"
98
+ - "stop testing"
99
+ - "I'm done"
100
+
101
+ ### Step 7: Capture Final State
102
+
103
+ When the user signals completion:
104
+
105
+ 1. Take final screenshot:
106
+ ```
107
+ Call: mcp__claude-in-chrome__computer
108
+ - action: "screenshot"
109
+ - tabId: [tabId]
110
+ ```
111
+
112
+ 2. Get all console messages:
113
+ ```
114
+ Call: mcp__claude-in-chrome__read_console_messages
115
+ - tabId: [tabId]
116
+ ```
117
+
118
+ 3. Optionally get network requests if relevant:
119
+ ```
120
+ Call: mcp__claude-in-chrome__read_network_requests
121
+ - tabId: [tabId]
122
+ ```
123
+
124
+ ### Step 8: Generate and Save Report
125
+
126
+ Generate a report with this structure:
127
+
128
+ ```markdown
129
+ ## MANUAL TEST REPORT
130
+
131
+ ### Session Info
132
+ - URL: [frontend URL]
133
+ - Date: [timestamp]
134
+ - Duration: [approximate time]
135
+
136
+ ### Console Errors
137
+ [List any JS errors captured, or "None detected"]
138
+
139
+ ### Network Issues
140
+ [Any failed requests, or "None detected"]
141
+
142
+ ### User Observations
143
+ [Space for any notes the user mentioned during testing]
144
+
145
+ ### Issues Found
146
+ [Summarize any problems discovered, or "None"]
147
+
148
+ ### Suggested Fixes
149
+ [If issues were found, suggest what might need to be fixed]
150
+ ```
151
+
152
+ **Save the report to the sprint directory:**
153
+
154
+ Write the report to: `.claude/sprint/[N]/manual-test-report.md`
155
+
156
+ If a previous `manual-test-report.md` exists, append a timestamp suffix:
157
+ - `.claude/sprint/[N]/manual-test-report-[timestamp].md`
158
+
159
+ **Inform the user:**
160
+
161
+ ```
162
+ Report saved to .claude/sprint/[N]/manual-test-report.md
163
+
164
+ This report will be picked up when you run /sprint
165
+ The architect will use it to understand what needs to be fixed.
166
+ ```
167
+
168
+ ## Error Handling
169
+
170
+ If the browser fails to open or navigate:
171
+ - Report the error to the user
172
+ - Suggest checking if the app is running
173
+ - Provide the URL that was attempted
174
+
175
+ ## Notes
176
+
177
+ - This command uses Chrome browser MCP (`mcp__claude-in-chrome__*`)
178
+ - The browser tab stays open for the user to interact with
179
+ - Console errors are captured automatically
180
+ - **Reports are saved to the sprint folder** for the architect to use
181
+ - No sprint workflow, no architect, no agents - just direct browser testing
182
+ - The saved report feeds into the next `/sprint` run
183
+ - **Reports are automatically cleaned up** when the sprint completes successfully
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@intentsolutionsio/sprint",
3
+ "version": "1.0.0",
4
+ "description": "Autonomous multi-agent development framework with spec-driven sprints and convergent iteration",
5
+ "keywords": [
6
+ "autonomous",
7
+ "agentic",
8
+ "yolo",
9
+ "self-iterating",
10
+ "multi-agent",
11
+ "hands-off",
12
+ "auto-pilot",
13
+ "orchestration",
14
+ "claude-code",
15
+ "claude-plugin",
16
+ "tonsofskills"
17
+ ],
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/jeremylongshore/claude-code-plugins-plus-skills.git",
21
+ "directory": "plugins/community/sprint"
22
+ },
23
+ "homepage": "https://tonsofskills.com/plugins/sprint",
24
+ "bugs": "https://github.com/jeremylongshore/claude-code-plugins-plus-skills/issues",
25
+ "license": "MIT",
26
+ "author": {
27
+ "name": "Damien Laine",
28
+ "email": "damien.laine@gmail.com",
29
+ "url": "https://github.com/damienlaine"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "files": [
35
+ "README.md",
36
+ ".claude-plugin",
37
+ "skills",
38
+ "commands",
39
+ "agents"
40
+ ],
41
+ "scripts": {
42
+ "postinstall": "node -e \"console.log(\\\"\\\\n→ This npm package is a tracking/proof artifact. Install the plugin via:\\\\n ccpi install sprint\\\\n or /plugin install sprint@claude-code-plugins-plus in Claude Code\\\\n\\\")\""
43
+ }
44
+ }