@codihaus/claude-skills 1.6.28 → 1.7.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/package.json +1 -1
- package/skills/_registry.md +7 -9
- package/skills/debrief/SKILL.md +14 -5
- package/skills/debrief/references/workflow.md +8 -2
- package/skills/dev-arch/SKILL.md +10 -183
- package/skills/dev-arch/references/decision-categories.md +73 -0
- package/skills/dev-arch/references/examples.md +125 -0
- package/skills/dev-changelog/SKILL.md +43 -20
- package/skills/dev-coding/SKILL.md +16 -3
- package/skills/dev-review/SKILL.md +46 -237
- package/skills/dev-review/references/review-examples.md +160 -0
- package/skills/dev-review/references/stack-checks.md +45 -0
- package/skills/dev-scout/SKILL.md +2 -2
- package/skills/dev-specs/SKILL.md +2 -16
- package/skills/dev-test/SKILL.md +6 -127
- package/skills/dev-test/references/test-patterns.md +119 -0
- package/src/commands/init.js +113 -3
- package/src/commands/update.js +15 -1
package/package.json
CHANGED
package/skills/_registry.md
CHANGED
|
@@ -10,9 +10,7 @@ Central registry of all available skills. Reference this to suggest relevant ski
|
|
|
10
10
|
| `/dev-arch` | Architecture decisions | New features, major changes, technical design |
|
|
11
11
|
| `/dev-scout` | Explore codebase, detect patterns | Before implementation, understanding existing code |
|
|
12
12
|
| `/dev-specs` | Create implementation plans | After debrief, before coding |
|
|
13
|
-
| `/dev-coding` | Implement features | When specs are ready |
|
|
14
|
-
| `/dev-coding-backend` | Backend patterns | API, schema, database work |
|
|
15
|
-
| `/dev-coding-frontend` | Frontend patterns | UI, components, pages |
|
|
13
|
+
| `/dev-coding` | Implement features (three-layer: universal + framework + project) | When specs are ready |
|
|
16
14
|
| `/dev-test` | Automated testing | After implementation, before review |
|
|
17
15
|
| `/dev-review` | Code review | After testing passes, before merge |
|
|
18
16
|
| `/dev-changelog` | Implementation summary | After review passes |
|
|
@@ -48,9 +46,7 @@ Ready to plan implementation?
|
|
|
48
46
|
Calls /dev-arch → "What patterns to use?"
|
|
49
47
|
|
|
50
48
|
Ready to code?
|
|
51
|
-
→ /dev-coding
|
|
52
|
-
├── Backend work → loads /dev-coding-backend
|
|
53
|
-
└── Frontend work → loads /dev-coding-frontend
|
|
49
|
+
→ /dev-coding (three-layer: universal + framework + project)
|
|
54
50
|
|
|
55
51
|
Code done, need testing?
|
|
56
52
|
→ /dev-test (auto-triggered by /dev-coding)
|
|
@@ -82,6 +78,7 @@ When user says... → Suggest skill
|
|
|
82
78
|
| "build this", "implement", "code this" | `/dev-coding` |
|
|
83
79
|
| "test this", "verify it works", "run tests" | `/dev-test` |
|
|
84
80
|
| "review my code", "check this PR" | `/dev-review` |
|
|
81
|
+
| "check BRD coverage", "are all use cases implemented" | `/dev-review --brd` |
|
|
85
82
|
| "what was built", "summarize changes", "document implementation" | `/dev-changelog` |
|
|
86
83
|
| "create diagram", "architecture diagram", "flow chart" | `/utils/diagram` |
|
|
87
84
|
|
|
@@ -131,6 +128,7 @@ During each skill, consider suggesting:
|
|
|
131
128
|
|
|
132
129
|
### /dev-review
|
|
133
130
|
- Reads: `_quality-attributes.md` for ALL level checklists (verification)
|
|
131
|
+
- `--brd` flag: Macro-level BRD use case coverage verification (Code vs BRD)
|
|
134
132
|
- If issues found: Offers to call `/dev-coding` for automatic fix
|
|
135
133
|
- After fix: Re-runs review automatically
|
|
136
134
|
- If pass: Suggests `/dev-changelog` to document implementation
|
|
@@ -138,9 +136,9 @@ During each skill, consider suggesting:
|
|
|
138
136
|
|
|
139
137
|
### /dev-changelog
|
|
140
138
|
- Before: `/dev-review` must pass
|
|
141
|
-
- Reads: Git changes, specs, use cases
|
|
142
|
-
- Outputs: summary.md, implementation.md, tech-debt.md, docs-updates.md
|
|
143
|
-
- Purpose: Document what was built, track
|
|
139
|
+
- Reads: Git changes, specs, BRD use cases
|
|
140
|
+
- Outputs: summary.md, user-impact.md, implementation.md, tech-debt.md, docs-updates.md
|
|
141
|
+
- Purpose: Document what was built, track user impact, identify doc updates
|
|
144
142
|
|
|
145
143
|
### /utils/diagram
|
|
146
144
|
- Utility skill for diagram validation
|
package/skills/debrief/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: debrief
|
|
3
|
-
description: Customer requirements
|
|
4
|
-
version: 5.
|
|
3
|
+
description: Customer requirements discovery, market research, and BRD creation. Use when: (1) Starting new project or feature, (2) Customer provides requirements or requests, (3) Processing customer questionnaire answers (--answers flag), (4) Generating BRD from research (--generate-brd flag)
|
|
4
|
+
version: 5.4.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /debrief - Business Requirements Document
|
|
@@ -92,10 +92,14 @@ version: 5.3.1
|
|
|
92
92
|
### 4. Questionnaire = Decision Tool
|
|
93
93
|
|
|
94
94
|
**How to generate**:
|
|
95
|
+
1. Write JSON to temp file: `/tmp/debrief-questions-{timestamp}.json`
|
|
96
|
+
2. Call Python script with file path:
|
|
95
97
|
```bash
|
|
96
|
-
python .claude/skills/debrief/scripts/generate_questionnaire.py
|
|
98
|
+
python .claude/skills/debrief/scripts/generate_questionnaire.py \
|
|
99
|
+
plans/brd/use-cases/{feature-name}/questionnaire-{YYYY-MM-DD}.xlsx \
|
|
100
|
+
/tmp/debrief-questions-{timestamp}.json
|
|
97
101
|
```
|
|
98
|
-
|
|
102
|
+
(See `references/workflow.md` for full JSON format)
|
|
99
103
|
|
|
100
104
|
**CRITICAL: Populate with real data**:
|
|
101
105
|
- **questions array**: 2-5 questions per feature (validation + open questions)
|
|
@@ -168,6 +172,11 @@ AskUserQuestion, WebSearch, Glob, Read, Write, Bash
|
|
|
168
172
|
|
|
169
173
|
## Scripts
|
|
170
174
|
|
|
175
|
+
**Generate questionnaire from JSON file**:
|
|
171
176
|
```bash
|
|
172
|
-
python .claude/skills/debrief/scripts/generate_questionnaire.py
|
|
177
|
+
python .claude/skills/debrief/scripts/generate_questionnaire.py \
|
|
178
|
+
plans/brd/use-cases/{feature}/questionnaire-{date}.xlsx \
|
|
179
|
+
/tmp/debrief-questions.json
|
|
173
180
|
```
|
|
181
|
+
|
|
182
|
+
**JSON file should be written to `/tmp/` first**, then passed to script.
|
|
@@ -82,8 +82,14 @@
|
|
|
82
82
|
|
|
83
83
|
**How to generate**:
|
|
84
84
|
1. Create JSON with research data (see format below)
|
|
85
|
-
2.
|
|
86
|
-
3.
|
|
85
|
+
2. **Write JSON to temp file**: `/tmp/debrief-questions-{timestamp}.json`
|
|
86
|
+
3. **Call Python script with file path**:
|
|
87
|
+
```bash
|
|
88
|
+
python .claude/skills/debrief/scripts/generate_questionnaire.py \
|
|
89
|
+
plans/brd/use-cases/{feature-name}/questionnaire-{YYYY-MM-DD}.xlsx \
|
|
90
|
+
/tmp/debrief-questions-{timestamp}.json
|
|
91
|
+
```
|
|
92
|
+
4. Python reads JSON from temp file and creates Excel in correct BRD location
|
|
87
93
|
|
|
88
94
|
**CRITICAL: Populate questions array with TWO types:**
|
|
89
95
|
|
package/skills/dev-arch/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-arch
|
|
3
|
-
description: Architecture decisions and technical design for features
|
|
4
|
-
version: 1.
|
|
3
|
+
description: Architecture decisions and technical design for features. Use when: (1) New feature requires structural decisions, (2) Validating if current architecture supports requirements, (3) Choosing technology for new capability (payments, real-time, etc.), (4) Greenfield project architecture
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-arch - Architecture Design
|
|
@@ -234,49 +234,9 @@ Create `plans/features/{feature}/adrs/ADR-{NNN}-{slug}.md` with:
|
|
|
234
234
|
|
|
235
235
|
## Decision Categories
|
|
236
236
|
|
|
237
|
-
|
|
237
|
+
See `references/decision-categories.md` for option tables (API, Database, Frontend State, Auth, Infrastructure) and Context7 usage for architecture research.
|
|
238
238
|
|
|
239
|
-
|
|
240
|
-
|----------|---------|
|
|
241
|
-
| Style | REST, GraphQL, tRPC, gRPC |
|
|
242
|
-
| Versioning | URL path, header, none |
|
|
243
|
-
| Auth header | Bearer token, cookie, API key |
|
|
244
|
-
| Response format | JSON:API, custom, none |
|
|
245
|
-
|
|
246
|
-
### Database
|
|
247
|
-
|
|
248
|
-
| Question | Options |
|
|
249
|
-
|----------|---------|
|
|
250
|
-
| Type | PostgreSQL, MySQL, MongoDB, SQLite |
|
|
251
|
-
| ORM | Prisma, TypeORM, Drizzle, raw SQL |
|
|
252
|
-
| Migrations | ORM-managed, manual, none |
|
|
253
|
-
| Soft deletes | Yes (deletedAt), no |
|
|
254
|
-
|
|
255
|
-
### Frontend State
|
|
256
|
-
|
|
257
|
-
| Question | Options |
|
|
258
|
-
|----------|---------|
|
|
259
|
-
| Global state | Redux, Zustand, Jotai, Context |
|
|
260
|
-
| Server state | React Query, SWR, manual |
|
|
261
|
-
| Forms | React Hook Form, Formik, native |
|
|
262
|
-
|
|
263
|
-
### Authentication
|
|
264
|
-
|
|
265
|
-
| Question | Options |
|
|
266
|
-
|----------|---------|
|
|
267
|
-
| Strategy | JWT, session, OAuth only |
|
|
268
|
-
| Token storage | httpOnly cookie, localStorage, memory |
|
|
269
|
-
| Refresh | Sliding window, explicit refresh |
|
|
270
|
-
| Permissions | RBAC, ABAC, simple roles |
|
|
271
|
-
|
|
272
|
-
### Infrastructure
|
|
273
|
-
|
|
274
|
-
| Question | Options |
|
|
275
|
-
|----------|---------|
|
|
276
|
-
| Caching | Redis, in-memory, CDN |
|
|
277
|
-
| Queue | Redis/BullMQ, SQS, RabbitMQ |
|
|
278
|
-
| File storage | S3, local, Cloudinary |
|
|
279
|
-
| Email | SendGrid, SES, SMTP |
|
|
239
|
+
**Categories**: API Design, Database, Frontend State, Authentication, Infrastructure.
|
|
280
240
|
|
|
281
241
|
## Tools Used
|
|
282
242
|
|
|
@@ -290,30 +250,6 @@ Create `plans/features/{feature}/adrs/ADR-{NNN}-{slug}.md` with:
|
|
|
290
250
|
| `Context7` | Look up architecture best practices |
|
|
291
251
|
| `WebSearch` | Find architecture patterns |
|
|
292
252
|
|
|
293
|
-
### Context7 for Architecture Research
|
|
294
|
-
|
|
295
|
-
When making architecture decisions, use Context7 to look up best practices:
|
|
296
|
-
|
|
297
|
-
```
|
|
298
|
-
1. Resolve library ID
|
|
299
|
-
→ mcp__context7__resolve-library-id({
|
|
300
|
-
libraryName: "prisma",
|
|
301
|
-
query: "database schema design patterns"
|
|
302
|
-
})
|
|
303
|
-
|
|
304
|
-
2. Query documentation
|
|
305
|
-
→ mcp__context7__query-docs({
|
|
306
|
-
libraryId: "/prisma/prisma",
|
|
307
|
-
query: "relations and foreign keys best practices"
|
|
308
|
-
})
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
**Use for:**
|
|
312
|
-
- ORM patterns (Prisma, TypeORM, Drizzle)
|
|
313
|
-
- Framework architecture (Next.js, NestJS)
|
|
314
|
-
- Auth library patterns (NextAuth, Lucia)
|
|
315
|
-
- API design (REST, GraphQL, tRPC)
|
|
316
|
-
|
|
317
253
|
## Integration
|
|
318
254
|
|
|
319
255
|
| Skill | Relationship |
|
|
@@ -339,121 +275,7 @@ Greenfield → Ask constraint questions
|
|
|
339
275
|
|
|
340
276
|
## Example Flows
|
|
341
277
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
```
|
|
345
|
-
User: /dev-arch notifications
|
|
346
|
-
|
|
347
|
-
1. Mode detection
|
|
348
|
-
→ Scout exists with established patterns
|
|
349
|
-
→ Mode: FOLLOW
|
|
350
|
-
|
|
351
|
-
2. Load context
|
|
352
|
-
→ Project uses: Next.js, REST API, PostgreSQL, Prisma
|
|
353
|
-
→ Feature needs: notification preferences, email sending
|
|
354
|
-
|
|
355
|
-
3. Apply existing patterns (NO QUESTIONS)
|
|
356
|
-
→ API: POST /api/notifications, GET /api/notifications
|
|
357
|
-
→ Database: Notification model with Prisma
|
|
358
|
-
→ Frontend: NotificationSettings component
|
|
359
|
-
|
|
360
|
-
4. Check for gaps
|
|
361
|
-
→ Email sending needed
|
|
362
|
-
→ Project already has SendGrid configured ✓
|
|
363
|
-
→ No gaps!
|
|
364
|
-
|
|
365
|
-
5. Output (minimal)
|
|
366
|
-
"Using existing patterns. No architecture changes needed.
|
|
367
|
-
- New Notification model
|
|
368
|
-
- New API endpoints following REST convention
|
|
369
|
-
- Uses existing SendGrid for emails"
|
|
370
|
-
|
|
371
|
-
No ADRs created. No questions asked.
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
### Example 2: Extend Mode (New Part Only)
|
|
375
|
-
|
|
376
|
-
```
|
|
377
|
-
User: /dev-arch billing
|
|
378
|
-
|
|
379
|
-
1. Mode detection
|
|
380
|
-
→ Scout exists with established patterns
|
|
381
|
-
→ Mode: FOLLOW initially...
|
|
382
|
-
|
|
383
|
-
2. Load context
|
|
384
|
-
→ Project uses: Next.js, REST, PostgreSQL
|
|
385
|
-
→ Feature needs: payment processing, subscriptions
|
|
386
|
-
|
|
387
|
-
3. Check for gaps
|
|
388
|
-
→ Payment processing needed
|
|
389
|
-
→ Project has NO payment provider ← Gap found!
|
|
390
|
-
→ Mode switches to: EXTEND
|
|
391
|
-
|
|
392
|
-
4. Ask ONLY about the gap
|
|
393
|
-
"Feature needs payment processing. No provider configured.
|
|
394
|
-
Options:
|
|
395
|
-
A: Stripe (Recommended) - Popular, good docs
|
|
396
|
-
B: Paddle - Handles taxes
|
|
397
|
-
C: LemonSqueezy - Simpler
|
|
398
|
-
|
|
399
|
-
Which provider?"
|
|
400
|
-
|
|
401
|
-
→ User: "Stripe"
|
|
402
|
-
|
|
403
|
-
5. Everything else follows existing patterns
|
|
404
|
-
→ API: REST endpoints for billing
|
|
405
|
-
→ Database: Prisma models
|
|
406
|
-
→ Frontend: Existing component patterns
|
|
407
|
-
|
|
408
|
-
6. Output
|
|
409
|
-
→ architecture.md (documents Stripe choice)
|
|
410
|
-
→ ADR-001-payment-provider.md (only for the NEW decision)
|
|
411
|
-
|
|
412
|
-
"Stripe selected. All other patterns follow existing project architecture."
|
|
413
|
-
```
|
|
414
|
-
|
|
415
|
-
### Example 3: Design Mode (Greenfield)
|
|
416
|
-
|
|
417
|
-
```
|
|
418
|
-
User: /dev-arch auth --new
|
|
419
|
-
|
|
420
|
-
1. Mode detection
|
|
421
|
-
→ --new flag provided
|
|
422
|
-
→ Mode: DESIGN
|
|
423
|
-
|
|
424
|
-
2. Ask constraint questions
|
|
425
|
-
Q1: "Team size?"
|
|
426
|
-
→ Small team (3 devs)
|
|
427
|
-
|
|
428
|
-
Q2: "Deployment target?"
|
|
429
|
-
→ Vercel
|
|
430
|
-
|
|
431
|
-
Q3: "Constraints?"
|
|
432
|
-
→ Tight timeline
|
|
433
|
-
|
|
434
|
-
3. Present options based on constraints
|
|
435
|
-
"Based on: Small team, Vercel, tight timeline
|
|
436
|
-
|
|
437
|
-
Recommended:
|
|
438
|
-
- NextAuth.js (simple, works with Vercel)
|
|
439
|
-
- JWT in httpOnly cookies
|
|
440
|
-
- RBAC for permissions
|
|
441
|
-
|
|
442
|
-
Alternatives considered:
|
|
443
|
-
- Auth0: Good but adds external dependency
|
|
444
|
-
- Custom JWT: More work, tight timeline
|
|
445
|
-
|
|
446
|
-
Proceed with NextAuth.js?"
|
|
447
|
-
|
|
448
|
-
→ User: "Yes"
|
|
449
|
-
|
|
450
|
-
4. Generate full architecture
|
|
451
|
-
→ architecture.md (complete auth design)
|
|
452
|
-
→ ADR-001-auth-strategy.md
|
|
453
|
-
→ ADR-002-permission-model.md
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
## Summary
|
|
278
|
+
See `references/examples.md` for detailed Follow/Extend/Design mode examples.
|
|
457
279
|
|
|
458
280
|
| Mode | Questions Asked | ADRs Created |
|
|
459
281
|
|------|-----------------|--------------|
|
|
@@ -462,3 +284,8 @@ User: /dev-arch auth --new
|
|
|
462
284
|
| Design | Full constraint gathering | For all decisions |
|
|
463
285
|
|
|
464
286
|
**Default to Follow mode. Only escalate when necessary.**
|
|
287
|
+
|
|
288
|
+
## References
|
|
289
|
+
|
|
290
|
+
- `references/decision-categories.md` - Option tables, Context7 usage
|
|
291
|
+
- `references/examples.md` - Follow/Extend/Design mode examples
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Decision Categories
|
|
2
|
+
|
|
3
|
+
## Option Tables
|
|
4
|
+
|
|
5
|
+
Only create ADRs for NEW decisions, not for following existing patterns.
|
|
6
|
+
|
|
7
|
+
### API Design
|
|
8
|
+
|
|
9
|
+
| Question | Options |
|
|
10
|
+
|----------|---------|
|
|
11
|
+
| Style | REST, GraphQL, tRPC, gRPC |
|
|
12
|
+
| Versioning | URL path, header, none |
|
|
13
|
+
| Auth header | Bearer token, cookie, API key |
|
|
14
|
+
| Response format | JSON:API, custom, none |
|
|
15
|
+
|
|
16
|
+
### Database
|
|
17
|
+
|
|
18
|
+
| Question | Options |
|
|
19
|
+
|----------|---------|
|
|
20
|
+
| Type | PostgreSQL, MySQL, MongoDB, SQLite |
|
|
21
|
+
| ORM | Prisma, TypeORM, Drizzle, raw SQL |
|
|
22
|
+
| Migrations | ORM-managed, manual, none |
|
|
23
|
+
| Soft deletes | Yes (deletedAt), no |
|
|
24
|
+
|
|
25
|
+
### Frontend State
|
|
26
|
+
|
|
27
|
+
| Question | Options |
|
|
28
|
+
|----------|---------|
|
|
29
|
+
| Global state | Redux, Zustand, Jotai, Context |
|
|
30
|
+
| Server state | React Query, SWR, manual |
|
|
31
|
+
| Forms | React Hook Form, Formik, native |
|
|
32
|
+
|
|
33
|
+
### Authentication
|
|
34
|
+
|
|
35
|
+
| Question | Options |
|
|
36
|
+
|----------|---------|
|
|
37
|
+
| Strategy | JWT, session, OAuth only |
|
|
38
|
+
| Token storage | httpOnly cookie, localStorage, memory |
|
|
39
|
+
| Refresh | Sliding window, explicit refresh |
|
|
40
|
+
| Permissions | RBAC, ABAC, simple roles |
|
|
41
|
+
|
|
42
|
+
### Infrastructure
|
|
43
|
+
|
|
44
|
+
| Question | Options |
|
|
45
|
+
|----------|---------|
|
|
46
|
+
| Caching | Redis, in-memory, CDN |
|
|
47
|
+
| Queue | Redis/BullMQ, SQS, RabbitMQ |
|
|
48
|
+
| File storage | S3, local, Cloudinary |
|
|
49
|
+
| Email | SendGrid, SES, SMTP |
|
|
50
|
+
|
|
51
|
+
## Context7 for Architecture Research
|
|
52
|
+
|
|
53
|
+
When making architecture decisions, use Context7 to look up best practices:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
1. Resolve library ID
|
|
57
|
+
→ mcp__context7__resolve-library-id({
|
|
58
|
+
libraryName: "prisma",
|
|
59
|
+
query: "database schema design patterns"
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
2. Query documentation
|
|
63
|
+
→ mcp__context7__query-docs({
|
|
64
|
+
libraryId: "/prisma/prisma",
|
|
65
|
+
query: "relations and foreign keys best practices"
|
|
66
|
+
})
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Use for:**
|
|
70
|
+
- ORM patterns (Prisma, TypeORM, Drizzle)
|
|
71
|
+
- Framework architecture (Next.js, NestJS)
|
|
72
|
+
- Auth library patterns (NextAuth, Lucia)
|
|
73
|
+
- API design (REST, GraphQL, tRPC)
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Architecture Examples
|
|
2
|
+
|
|
3
|
+
## Example 1: Follow Mode (Most Common)
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
User: /dev-arch notifications
|
|
7
|
+
|
|
8
|
+
1. Mode detection
|
|
9
|
+
→ Scout exists with established patterns
|
|
10
|
+
→ Mode: FOLLOW
|
|
11
|
+
|
|
12
|
+
2. Load context
|
|
13
|
+
→ Project uses: Next.js, REST API, PostgreSQL, Prisma
|
|
14
|
+
→ Feature needs: notification preferences, email sending
|
|
15
|
+
|
|
16
|
+
3. Apply existing patterns (NO QUESTIONS)
|
|
17
|
+
→ API: POST /api/notifications, GET /api/notifications
|
|
18
|
+
→ Database: Notification model with Prisma
|
|
19
|
+
→ Frontend: NotificationSettings component
|
|
20
|
+
|
|
21
|
+
4. Check for gaps
|
|
22
|
+
→ Email sending needed
|
|
23
|
+
→ Project already has SendGrid configured ✓
|
|
24
|
+
→ No gaps!
|
|
25
|
+
|
|
26
|
+
5. Output (minimal)
|
|
27
|
+
"Using existing patterns. No architecture changes needed.
|
|
28
|
+
- New Notification model
|
|
29
|
+
- New API endpoints following REST convention
|
|
30
|
+
- Uses existing SendGrid for emails"
|
|
31
|
+
|
|
32
|
+
No ADRs created. No questions asked.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Example 2: Extend Mode (New Part Only)
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
User: /dev-arch billing
|
|
39
|
+
|
|
40
|
+
1. Mode detection
|
|
41
|
+
→ Scout exists with established patterns
|
|
42
|
+
→ Mode: FOLLOW initially...
|
|
43
|
+
|
|
44
|
+
2. Load context
|
|
45
|
+
→ Project uses: Next.js, REST, PostgreSQL
|
|
46
|
+
→ Feature needs: payment processing, subscriptions
|
|
47
|
+
|
|
48
|
+
3. Check for gaps
|
|
49
|
+
→ Payment processing needed
|
|
50
|
+
→ Project has NO payment provider ← Gap found!
|
|
51
|
+
→ Mode switches to: EXTEND
|
|
52
|
+
|
|
53
|
+
4. Ask ONLY about the gap
|
|
54
|
+
"Feature needs payment processing. No provider configured.
|
|
55
|
+
Options:
|
|
56
|
+
A: Stripe (Recommended) - Popular, good docs
|
|
57
|
+
B: Paddle - Handles taxes
|
|
58
|
+
C: LemonSqueezy - Simpler
|
|
59
|
+
|
|
60
|
+
Which provider?"
|
|
61
|
+
|
|
62
|
+
→ User: "Stripe"
|
|
63
|
+
|
|
64
|
+
5. Everything else follows existing patterns
|
|
65
|
+
→ API: REST endpoints for billing
|
|
66
|
+
→ Database: Prisma models
|
|
67
|
+
→ Frontend: Existing component patterns
|
|
68
|
+
|
|
69
|
+
6. Output
|
|
70
|
+
→ architecture.md (documents Stripe choice)
|
|
71
|
+
→ ADR-001-payment-provider.md (only for the NEW decision)
|
|
72
|
+
|
|
73
|
+
"Stripe selected. All other patterns follow existing project architecture."
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Example 3: Design Mode (Greenfield)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
User: /dev-arch auth --new
|
|
80
|
+
|
|
81
|
+
1. Mode detection
|
|
82
|
+
→ --new flag provided
|
|
83
|
+
→ Mode: DESIGN
|
|
84
|
+
|
|
85
|
+
2. Ask constraint questions
|
|
86
|
+
Q1: "Team size?"
|
|
87
|
+
→ Small team (3 devs)
|
|
88
|
+
|
|
89
|
+
Q2: "Deployment target?"
|
|
90
|
+
→ Vercel
|
|
91
|
+
|
|
92
|
+
Q3: "Constraints?"
|
|
93
|
+
→ Tight timeline
|
|
94
|
+
|
|
95
|
+
3. Present options based on constraints
|
|
96
|
+
"Based on: Small team, Vercel, tight timeline
|
|
97
|
+
|
|
98
|
+
Recommended:
|
|
99
|
+
- NextAuth.js (simple, works with Vercel)
|
|
100
|
+
- JWT in httpOnly cookies
|
|
101
|
+
- RBAC for permissions
|
|
102
|
+
|
|
103
|
+
Alternatives considered:
|
|
104
|
+
- Auth0: Good but adds external dependency
|
|
105
|
+
- Custom JWT: More work, tight timeline
|
|
106
|
+
|
|
107
|
+
Proceed with NextAuth.js?"
|
|
108
|
+
|
|
109
|
+
→ User: "Yes"
|
|
110
|
+
|
|
111
|
+
4. Generate full architecture
|
|
112
|
+
→ architecture.md (complete auth design)
|
|
113
|
+
→ ADR-001-auth-strategy.md
|
|
114
|
+
→ ADR-002-permission-model.md
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Mode Summary
|
|
118
|
+
|
|
119
|
+
| Mode | Questions Asked | ADRs Created |
|
|
120
|
+
|------|-----------------|--------------|
|
|
121
|
+
| Follow | None | None |
|
|
122
|
+
| Extend | Only for gaps | Only for new decisions |
|
|
123
|
+
| Design | Full constraint gathering | For all decisions |
|
|
124
|
+
|
|
125
|
+
**Default to Follow mode. Only escalate when necessary.**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-changelog
|
|
3
|
-
description:
|
|
4
|
-
version: 1.
|
|
3
|
+
description: Document implementation results with developer summary and user impact analysis. Use when: (1) After /dev-review passes, (2) End of sprint or milestone, (3) Before handoff to another developer, (4) Need to track what changed for users (release notes, user guides)
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-changelog - Implementation Summary
|
|
@@ -33,7 +33,8 @@ Capture what was implemented after review passes. Creates actionable documentati
|
|
|
33
33
|
|
|
34
34
|
```
|
|
35
35
|
plans/features/{feature}/
|
|
36
|
-
├── summary.md # What was built (
|
|
36
|
+
├── summary.md # What was built (developer perspective)
|
|
37
|
+
├── user-impact.md # What changed for users (user perspective)
|
|
37
38
|
├── implementation.md # Cumulative implementation status
|
|
38
39
|
├── tech-debt.md # Known issues, TODOs
|
|
39
40
|
└── docs-updates.md # Documentation tasks
|
|
@@ -44,7 +45,8 @@ plans/features/{feature}/
|
|
|
44
45
|
Documentation of what was implemented after `/dev-review` passes.
|
|
45
46
|
|
|
46
47
|
**Outputs:**
|
|
47
|
-
- `summary.md` - What was built this session/PR
|
|
48
|
+
- `summary.md` - What was built this session/PR (developer perspective)
|
|
49
|
+
- `user-impact.md` - What changed for users (user perspective)
|
|
48
50
|
- `implementation.md` - Cumulative status (updated)
|
|
49
51
|
- `tech-debt.md` - Known issues, TODOs (updated)
|
|
50
52
|
- `docs-updates.md` - Documentation tasks
|
|
@@ -101,6 +103,43 @@ For each changed file:
|
|
|
101
103
|
| Breaking change | Migration guide |
|
|
102
104
|
| New component | Component docs |
|
|
103
105
|
|
|
106
|
+
## User Impact Analysis
|
|
107
|
+
|
|
108
|
+
**Purpose**: Describe changes from USER perspective. Input for user guides, release notes, training materials.
|
|
109
|
+
|
|
110
|
+
**Source**: BRD use cases + git changes (what was intended vs what was built).
|
|
111
|
+
|
|
112
|
+
**For each change, capture:**
|
|
113
|
+
|
|
114
|
+
| Aspect | Question | Example |
|
|
115
|
+
|--------|----------|---------|
|
|
116
|
+
| **What changed** | What does user see/do differently? | "Login now requires 2FA verification step" |
|
|
117
|
+
| **Where** | Which part of the app? | "Login page, after email/password" |
|
|
118
|
+
| **Why** | Business reason (from BRD) | "UC-AUTH-003: Security compliance" |
|
|
119
|
+
| **Impact level** | How disruptive? | Breaking / Visible / Behind-the-scenes |
|
|
120
|
+
|
|
121
|
+
**Impact levels:**
|
|
122
|
+
- **Breaking**: User workflow changes (new required steps, removed features)
|
|
123
|
+
- **Visible**: User sees changes (new UI, new options, layout changes)
|
|
124
|
+
- **Behind-the-scenes**: No visible change (performance, security, refactor)
|
|
125
|
+
|
|
126
|
+
**Output** (`user-impact.md`):
|
|
127
|
+
```markdown
|
|
128
|
+
# User Impact: {Feature}
|
|
129
|
+
|
|
130
|
+
## Breaking Changes
|
|
131
|
+
- {description} ({UC reference})
|
|
132
|
+
- What users need to do differently
|
|
133
|
+
|
|
134
|
+
## Visible Changes
|
|
135
|
+
- {description} ({UC reference})
|
|
136
|
+
- What users will notice
|
|
137
|
+
|
|
138
|
+
## Behind-the-scenes
|
|
139
|
+
- {description}
|
|
140
|
+
- No user action needed
|
|
141
|
+
```
|
|
142
|
+
|
|
104
143
|
## Output Files
|
|
105
144
|
|
|
106
145
|
**summary.md** (per session/PR):
|
|
@@ -151,22 +190,6 @@ Then:
|
|
|
151
190
|
├── Generates summary.md, implementation.md, etc.
|
|
152
191
|
```
|
|
153
192
|
|
|
154
|
-
## Resume Flow
|
|
155
|
-
|
|
156
|
-
When returning to work later:
|
|
157
|
-
|
|
158
|
-
```
|
|
159
|
-
1. Read implementation.md
|
|
160
|
-
→ See what's done, what's remaining
|
|
161
|
-
|
|
162
|
-
2. Read tech-debt.md
|
|
163
|
-
→ See known issues
|
|
164
|
-
|
|
165
|
-
3. Read summary.md (latest)
|
|
166
|
-
→ See where you left off
|
|
167
|
-
|
|
168
|
-
4. Continue with /dev-specs or /dev-coding
|
|
169
|
-
```
|
|
170
193
|
|
|
171
194
|
## Tools Used
|
|
172
195
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-coding
|
|
3
|
-
description: Implement features
|
|
4
|
-
version: 2.
|
|
3
|
+
description: Implement features using three-layer knowledge (universal principles + framework patterns + project specifics). Use when: (1) Specs are ready and implementation should begin, (2) Building backend, frontend, or full-stack features, (3) Applying project patterns to new code
|
|
4
|
+
version: 2.2.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-coding - Implementation Skill
|
|
@@ -158,6 +158,19 @@ Don't pre-load everything. Discover when needed:
|
|
|
158
158
|
- ❌ List all components upfront
|
|
159
159
|
- ❌ Memorize function names (look up when needed)
|
|
160
160
|
|
|
161
|
+
## When to Escalate
|
|
162
|
+
|
|
163
|
+
During implementation, if you discover issues that affect scope:
|
|
164
|
+
|
|
165
|
+
| Situation | Action |
|
|
166
|
+
|-----------|--------|
|
|
167
|
+
| Missing detail in spec (e.g., field name unclear) | Decide based on patterns, note in commit |
|
|
168
|
+
| Spec assumes non-existent pattern (e.g., "use existing payment service" but none exists) | STOP → Ask user: "Spec references X but it doesn't exist. Options: A) Build it, B) Use alternative, C) Skip UC" |
|
|
169
|
+
| Requirement conflicts with existing code (e.g., schema mismatch) | STOP → Ask user with specific conflict details |
|
|
170
|
+
| UC scope much larger than expected (e.g., requires full OAuth refactor) | STOP → Flag to user: "This UC requires [X] which is beyond spec scope. Proceed or re-scope?" |
|
|
171
|
+
|
|
172
|
+
**Rule**: If you can resolve in <5 minutes with confidence → do it + note in commit. Otherwise → STOP and ask.
|
|
173
|
+
|
|
161
174
|
## Three-Layer Knowledge System
|
|
162
175
|
|
|
163
176
|
```
|
|
@@ -323,7 +336,7 @@ Apply principles from references/ during implementation. See `_quality-attribute
|
|
|
323
336
|
|
|
324
337
|
**Spec references non-existent pattern:**
|
|
325
338
|
- Discover pattern via Grep/Glob
|
|
326
|
-
- If truly doesn't exist
|
|
339
|
+
- If truly doesn't exist → See "When to Escalate" section
|
|
327
340
|
- Note deviation in implementation notes
|
|
328
341
|
|
|
329
342
|
## Success Criteria
|