@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.
- package/.claude-plugin/plugin.json +23 -0
- package/LICENSE +21 -0
- package/README.md +320 -0
- package/agents/allpurpose-agent.md +159 -0
- package/agents/cicd-agent.md +189 -0
- package/agents/nextjs-dev.md +204 -0
- package/agents/nextjs-diagnostics-agent.md +206 -0
- package/agents/project-architect.md +398 -0
- package/agents/python-dev.md +159 -0
- package/agents/qa-test-agent.md +192 -0
- package/agents/ui-test-agent.md +295 -0
- package/agents/website-designer.md +48 -0
- package/commands/clean.md +153 -0
- package/commands/generate-map.md +160 -0
- package/commands/new.md +173 -0
- package/commands/setup.md +239 -0
- package/commands/sprint.md +482 -0
- package/commands/test.md +183 -0
- package/package.json +44 -0
- package/skills/agent-patterns/SKILL.md +103 -0
- package/skills/agent-patterns/references/errors.md +8 -0
- package/skills/agent-patterns/references/examples.md +291 -0
- package/skills/agent-patterns/references/ui-test-report.md +35 -0
- package/skills/api-contract/SKILL.md +115 -0
- package/skills/api-contract/references/best-practices.md +47 -0
- package/skills/api-contract/references/errors.md +8 -0
- package/skills/api-contract/references/examples.md +448 -0
- package/skills/api-contract/references/pagination.md +46 -0
- package/skills/api-contract/references/typescript-interfaces.md +46 -0
- package/skills/api-contract/references/writing-endpoints.md +45 -0
- package/skills/spec-writing/SKILL.md +110 -0
- package/skills/spec-writing/references/errors.md +8 -0
- package/skills/spec-writing/references/examples.md +274 -0
- package/skills/spec-writing/references/testing-configuration.md +40 -0
- package/skills/sprint-workflow/SKILL.md +81 -0
- package/skills/sprint-workflow/references/errors.md +8 -0
- package/skills/sprint-workflow/references/examples.md +317 -0
- package/skills/sprint-workflow/references/sprint-phases.md +54 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
# Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Full Sprint Lifecycle for a CRUD API
|
|
4
|
+
|
|
5
|
+
A complete sprint building a user management API with CRUD endpoints, database
|
|
6
|
+
integration, and automated testing.
|
|
7
|
+
|
|
8
|
+
**Step 1 — Create the sprint and write specs:**
|
|
9
|
+
```bash
|
|
10
|
+
/sprint:new
|
|
11
|
+
# Creates .claude/sprint/1/specs.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Step 2 — Edit specs.md:**
|
|
15
|
+
```markdown
|
|
16
|
+
# Sprint 1: User Management API
|
|
17
|
+
|
|
18
|
+
## Goal
|
|
19
|
+
Build a REST API for user management with CRUD operations and role-based access.
|
|
20
|
+
|
|
21
|
+
## Scope
|
|
22
|
+
### In Scope
|
|
23
|
+
- POST /api/users (create user with email validation)
|
|
24
|
+
- GET /api/users/:id (retrieve user profile)
|
|
25
|
+
- PATCH /api/users/:id (update user fields)
|
|
26
|
+
- DELETE /api/users/:id (soft delete with archived flag)
|
|
27
|
+
- GET /api/users (list users with pagination and role filter)
|
|
28
|
+
- PostgreSQL schema with users table
|
|
29
|
+
- JWT authentication middleware
|
|
30
|
+
|
|
31
|
+
### Out of Scope
|
|
32
|
+
- Password reset flow
|
|
33
|
+
- OAuth providers
|
|
34
|
+
- Email notifications
|
|
35
|
+
- Admin dashboard UI
|
|
36
|
+
|
|
37
|
+
## Testing
|
|
38
|
+
- QA: required
|
|
39
|
+
- UI Testing: skip
|
|
40
|
+
- UI Testing Mode: automated
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Step 3 — Execute the sprint:**
|
|
44
|
+
```bash
|
|
45
|
+
/sprint
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Phase 0 — Load Specifications:**
|
|
49
|
+
```
|
|
50
|
+
Orchestrator reads .claude/sprint/1/specs.md
|
|
51
|
+
→ Goal: User Management API (5 endpoints)
|
|
52
|
+
→ Testing: QA required, UI testing skipped
|
|
53
|
+
→ No status.md found (fresh sprint)
|
|
54
|
+
→ Project type detected: Python + FastAPI
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Phase 1 — Architectural Planning:**
|
|
58
|
+
```
|
|
59
|
+
project-architect reads:
|
|
60
|
+
→ .claude/project-map.md (existing codebase structure)
|
|
61
|
+
→ .claude/project-goals.md (business objectives)
|
|
62
|
+
|
|
63
|
+
Architect produces:
|
|
64
|
+
→ .claude/sprint/1/api-contract.md (endpoint schemas, TypeScript interfaces)
|
|
65
|
+
→ .claude/sprint/1/backend-specs.md (implementation tasks per endpoint)
|
|
66
|
+
|
|
67
|
+
Architect returns SPAWN REQUEST blocks:
|
|
68
|
+
SPAWN REQUEST
|
|
69
|
+
Agent: python-dev
|
|
70
|
+
Specs: .claude/sprint/1/backend-specs.md
|
|
71
|
+
Contract: .claude/sprint/1/api-contract.md
|
|
72
|
+
Scope: All user management endpoints
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Phase 2 — Implementation (Iteration 1):**
|
|
76
|
+
```
|
|
77
|
+
python-dev agent:
|
|
78
|
+
→ Reads backend-specs.md and api-contract.md
|
|
79
|
+
→ Creates src/models/user.py (SQLAlchemy model)
|
|
80
|
+
→ Creates src/routes/users.py (5 endpoints)
|
|
81
|
+
→ Creates src/middleware/auth.py (JWT validation)
|
|
82
|
+
→ Creates tests/test_users.py (15 test cases)
|
|
83
|
+
|
|
84
|
+
AGENT REPORT
|
|
85
|
+
Agent: python-dev
|
|
86
|
+
Status: COMPLETE
|
|
87
|
+
Files Modified: src/models/user.py, src/routes/users.py, src/middleware/auth.py, tests/test_users.py
|
|
88
|
+
Tests: 15 added
|
|
89
|
+
Conformity: All 5 endpoints implemented per contract
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Phase 3 — Testing (Iteration 1):**
|
|
93
|
+
```
|
|
94
|
+
qa-test-agent runs:
|
|
95
|
+
→ pytest tests/test_users.py
|
|
96
|
+
→ 13 passed, 2 failed
|
|
97
|
+
→ Failures:
|
|
98
|
+
1. PATCH /api/users/:id returns 500 when email already exists (expected 409)
|
|
99
|
+
2. GET /api/users pagination returns wrong total count with filters
|
|
100
|
+
|
|
101
|
+
QA REPORT
|
|
102
|
+
Tests: 13 passed, 2 failed
|
|
103
|
+
Coverage: 87%
|
|
104
|
+
Failures:
|
|
105
|
+
- test_update_duplicate_email: Expected 409, got 500
|
|
106
|
+
- test_list_users_filtered_pagination: total=50, expected=12
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Phase 4 — Review (Iteration 1):**
|
|
110
|
+
```
|
|
111
|
+
Architect reviews QA report:
|
|
112
|
+
→ 2 failures identified
|
|
113
|
+
→ Updates backend-specs.md:
|
|
114
|
+
- Remove completed endpoints (POST, GET/:id, DELETE)
|
|
115
|
+
- Add fix: PATCH must return 409 on duplicate email
|
|
116
|
+
- Add fix: GET list pagination must count after filter
|
|
117
|
+
→ Updates status.md: "Iteration 1: 3/5 endpoints passing. 2 fixes needed."
|
|
118
|
+
→ Decision: ITERATE (spawn python-dev with narrowed specs)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Iteration 2 — Fix and Re-test:**
|
|
122
|
+
```
|
|
123
|
+
python-dev agent:
|
|
124
|
+
→ Reads narrowed backend-specs.md (only 2 fixes)
|
|
125
|
+
→ Fixes duplicate email check in PATCH handler
|
|
126
|
+
→ Fixes filtered count query in list endpoint
|
|
127
|
+
→ Updates tests
|
|
128
|
+
|
|
129
|
+
qa-test-agent runs:
|
|
130
|
+
→ 15 passed, 0 failed
|
|
131
|
+
→ Coverage: 91%
|
|
132
|
+
|
|
133
|
+
Architect reviews:
|
|
134
|
+
→ All specs satisfied
|
|
135
|
+
→ Decision: FINALIZE
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
**Phase 5 — Finalization:**
|
|
139
|
+
```
|
|
140
|
+
Orchestrator writes final status.md:
|
|
141
|
+
Sprint 1: COMPLETE
|
|
142
|
+
Iterations: 2
|
|
143
|
+
Endpoints: 5/5 passing
|
|
144
|
+
Tests: 15 passing, 91% coverage
|
|
145
|
+
Files: 4 created, 0 removed
|
|
146
|
+
|
|
147
|
+
FINALIZE
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## Example 2: Resuming a Paused Sprint
|
|
151
|
+
|
|
152
|
+
A sprint that hit the 5-iteration limit and requires manual intervention.
|
|
153
|
+
|
|
154
|
+
**status.md after 5 iterations:**
|
|
155
|
+
```markdown
|
|
156
|
+
# Sprint 2 Status
|
|
157
|
+
|
|
158
|
+
## Iteration 5 (PAUSED — max iterations reached)
|
|
159
|
+
|
|
160
|
+
### Completed
|
|
161
|
+
- WebSocket connection handler
|
|
162
|
+
- Message broadcasting to channels
|
|
163
|
+
- User presence tracking
|
|
164
|
+
|
|
165
|
+
### Blocking Issues
|
|
166
|
+
- Race condition in channel join/leave when multiple users join simultaneously
|
|
167
|
+
- Message ordering inconsistent under high concurrency (>100 msgs/sec)
|
|
168
|
+
|
|
169
|
+
### Recommendation
|
|
170
|
+
The concurrent access patterns require a Redis-backed message queue instead
|
|
171
|
+
of in-memory state. This is an architectural change beyond the current specs.
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Manual intervention:**
|
|
175
|
+
```bash
|
|
176
|
+
# Review the status
|
|
177
|
+
cat .claude/sprint/2/status.md
|
|
178
|
+
|
|
179
|
+
# Update specs to narrow scope and address the architecture gap
|
|
180
|
+
# Edit .claude/sprint/2/specs.md:
|
|
181
|
+
# - Add: "Use Redis pub/sub for message distribution"
|
|
182
|
+
# - Add: "Use Redis sorted sets for message ordering"
|
|
183
|
+
# - Remove: Completed items (WebSocket handler, broadcasting, presence)
|
|
184
|
+
# - Focus: Only the two blocking issues
|
|
185
|
+
|
|
186
|
+
# Resume the sprint
|
|
187
|
+
/sprint
|
|
188
|
+
# → Phase 0 reads updated specs + status.md
|
|
189
|
+
# → Phase 1 architect plans Redis integration
|
|
190
|
+
# → Iteration 6 targets only the 2 blocking fixes
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## Example 3: Frontend-Only Sprint with Manual UI Testing
|
|
194
|
+
|
|
195
|
+
A sprint focused on UI changes where automated E2E tests are impractical
|
|
196
|
+
and manual visual verification is needed.
|
|
197
|
+
|
|
198
|
+
**specs.md:**
|
|
199
|
+
```markdown
|
|
200
|
+
# Sprint 3: Dashboard Redesign
|
|
201
|
+
|
|
202
|
+
## Goal
|
|
203
|
+
Redesign the admin dashboard with responsive layout and dark mode support.
|
|
204
|
+
|
|
205
|
+
## Scope
|
|
206
|
+
### In Scope
|
|
207
|
+
- Responsive grid layout (mobile, tablet, desktop breakpoints)
|
|
208
|
+
- Dark mode toggle with system preference detection
|
|
209
|
+
- Dashboard widget reordering via drag-and-drop
|
|
210
|
+
- Loading skeleton states for all widgets
|
|
211
|
+
|
|
212
|
+
### Out of Scope
|
|
213
|
+
- New API endpoints or data changes
|
|
214
|
+
- Authentication changes
|
|
215
|
+
- New dashboard widgets (only restyling existing ones)
|
|
216
|
+
|
|
217
|
+
## Testing
|
|
218
|
+
- QA: skip
|
|
219
|
+
- UI Testing: required
|
|
220
|
+
- UI Testing Mode: manual
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Sprint execution:**
|
|
224
|
+
```
|
|
225
|
+
Phase 1: Architect produces frontend-specs.md only (no backend)
|
|
226
|
+
Phase 2: nextjs-dev agent implements layout, dark mode, drag-and-drop
|
|
227
|
+
Phase 3: ui-test-agent generates manual-test-report.md:
|
|
228
|
+
|
|
229
|
+
MANUAL TEST CHECKLIST
|
|
230
|
+
─────────────────────
|
|
231
|
+
[ ] Desktop (1920x1080): Grid shows 3 columns, all widgets visible
|
|
232
|
+
[ ] Tablet (768x1024): Grid collapses to 2 columns
|
|
233
|
+
[ ] Mobile (375x812): Single column, hamburger menu visible
|
|
234
|
+
[ ] Dark mode: Toggle switch in header, all text readable
|
|
235
|
+
[ ] System preference: Respects prefers-color-scheme on first load
|
|
236
|
+
[ ] Drag-and-drop: Reorder widgets, order persists on refresh
|
|
237
|
+
[ ] Skeleton states: Visible during data loading (throttle network to see)
|
|
238
|
+
|
|
239
|
+
Instructions: Open the app in a browser and verify each item above.
|
|
240
|
+
Report results by editing this file with [x] for pass or notes for failures.
|
|
241
|
+
|
|
242
|
+
Phase 4: Sprint pauses for user to complete manual testing
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Example 4: Multi-Agent Parallel Implementation
|
|
246
|
+
|
|
247
|
+
A sprint where backend and frontend agents work simultaneously on the same feature,
|
|
248
|
+
coordinated through a shared API contract.
|
|
249
|
+
|
|
250
|
+
**specs.md:**
|
|
251
|
+
```markdown
|
|
252
|
+
# Sprint 4: Product Search
|
|
253
|
+
|
|
254
|
+
## Goal
|
|
255
|
+
Full-text search for products with type-ahead suggestions and faceted filtering.
|
|
256
|
+
|
|
257
|
+
## Scope
|
|
258
|
+
### In Scope
|
|
259
|
+
- Backend: Search API with Elasticsearch integration (POST /api/search)
|
|
260
|
+
- Backend: Facet aggregation endpoint (GET /api/search/facets)
|
|
261
|
+
- Frontend: Search bar with debounced type-ahead (300ms delay)
|
|
262
|
+
- Frontend: Facet sidebar with checkboxes (category, price range, rating)
|
|
263
|
+
- Frontend: Search results grid with pagination
|
|
264
|
+
|
|
265
|
+
### Out of Scope
|
|
266
|
+
- Search analytics or tracking
|
|
267
|
+
- Saved searches
|
|
268
|
+
- Search result caching
|
|
269
|
+
|
|
270
|
+
## Testing
|
|
271
|
+
- QA: required
|
|
272
|
+
- UI Testing: required
|
|
273
|
+
- UI Testing Mode: automated
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**Phase 2 — Parallel agent spawns:**
|
|
277
|
+
```
|
|
278
|
+
SPAWN REQUEST
|
|
279
|
+
Agent: python-dev
|
|
280
|
+
Specs: .claude/sprint/4/backend-specs.md
|
|
281
|
+
Contract: .claude/sprint/4/api-contract.md
|
|
282
|
+
Scope: Search API + facet aggregation
|
|
283
|
+
|
|
284
|
+
SPAWN REQUEST
|
|
285
|
+
Agent: nextjs-dev
|
|
286
|
+
Specs: .claude/sprint/4/frontend-specs.md
|
|
287
|
+
Contract: .claude/sprint/4/api-contract.md
|
|
288
|
+
Scope: Search UI components + facet sidebar
|
|
289
|
+
|
|
290
|
+
Both agents share api-contract.md which defines:
|
|
291
|
+
POST /api/search
|
|
292
|
+
Request: { query: string, filters: FilterSet, page: number, limit: number }
|
|
293
|
+
Response: { results: Product[], total: number, facets: FacetGroup[] }
|
|
294
|
+
|
|
295
|
+
GET /api/search/facets
|
|
296
|
+
Response: { facets: FacetGroup[] }
|
|
297
|
+
|
|
298
|
+
python-dev works on: src/search/routes.py, src/search/elasticsearch.py
|
|
299
|
+
nextjs-dev works on: components/SearchBar.tsx, components/FacetSidebar.tsx
|
|
300
|
+
No file path overlap → safe for parallel execution
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Phase 3 — Sequential testing:**
|
|
304
|
+
```
|
|
305
|
+
1. qa-test-agent runs first:
|
|
306
|
+
→ Tests search API returns correct results
|
|
307
|
+
→ Tests facet aggregation counts
|
|
308
|
+
→ Tests pagination boundaries
|
|
309
|
+
|
|
310
|
+
2. ui-test-agent runs after QA passes:
|
|
311
|
+
→ Tests type-ahead renders suggestions after 300ms
|
|
312
|
+
→ Tests facet checkbox filtering updates results
|
|
313
|
+
→ Tests pagination navigates correctly
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
*[Tons of Skills](https://tonsofskills.com) by [Intent Solutions](https://intentsolutions.io) | [jeremylongshore.com](https://jeremylongshore.com)*
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Sprint Phases
|
|
2
|
+
|
|
3
|
+
## Sprint Phases
|
|
4
|
+
|
|
5
|
+
A sprint executes through 6 distinct phases:
|
|
6
|
+
|
|
7
|
+
### Phase 0: Load Specifications
|
|
8
|
+
|
|
9
|
+
Parse the sprint directory and prepare context:
|
|
10
|
+
- Locate sprint directory (`.claude/sprint/[N]/`)
|
|
11
|
+
- Read `specs.md` for user requirements
|
|
12
|
+
- Read `status.md` if resuming
|
|
13
|
+
- Detect project type for framework-specific agents
|
|
14
|
+
|
|
15
|
+
### Phase 1: Architectural Planning
|
|
16
|
+
|
|
17
|
+
The project-architect agent analyzes requirements:
|
|
18
|
+
- Read existing `project-map.md` for architecture context
|
|
19
|
+
- Read `project-goals.md` for business objectives
|
|
20
|
+
- Create specification files (`api-contract.md`, `backend-specs.md`, etc.)
|
|
21
|
+
- Return SPAWN REQUEST for implementation agents
|
|
22
|
+
|
|
23
|
+
### Phase 2: Implementation
|
|
24
|
+
|
|
25
|
+
Spawn implementation agents in parallel:
|
|
26
|
+
- `python-dev` for Python/FastAPI backend
|
|
27
|
+
- `nextjs-dev` for Next.js frontend
|
|
28
|
+
- `cicd-agent` for CI/CD pipelines
|
|
29
|
+
- `allpurpose-agent` for any other technology
|
|
30
|
+
- Collect structured reports from each agent
|
|
31
|
+
|
|
32
|
+
### Phase 3: Testing
|
|
33
|
+
|
|
34
|
+
Execute testing agents:
|
|
35
|
+
- `qa-test-agent` runs first (API and unit tests)
|
|
36
|
+
- `ui-test-agent` runs after (browser-based E2E tests)
|
|
37
|
+
- Framework-specific diagnostics agents run in parallel with UI tests
|
|
38
|
+
- Collect test reports
|
|
39
|
+
|
|
40
|
+
### Phase 4: Review & Iteration
|
|
41
|
+
|
|
42
|
+
Architect reviews all reports:
|
|
43
|
+
- Analyze conformity status
|
|
44
|
+
- Update specifications (remove completed, add fixes)
|
|
45
|
+
- Update `status.md` with current state
|
|
46
|
+
- Decide: more implementation, more testing, or finalize
|
|
47
|
+
|
|
48
|
+
### Phase 5: Finalization
|
|
49
|
+
|
|
50
|
+
Sprint completion:
|
|
51
|
+
- Final `status.md` summary
|
|
52
|
+
- All specs in consistent state
|
|
53
|
+
- **Clean up manual-test-report.md** (no longer relevant)
|
|
54
|
+
- Signal FINALIZE to orchestrator
|