@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-review
|
|
3
|
-
description: Code review
|
|
4
|
-
version: 1.
|
|
3
|
+
description: Code review comparing implementation against specs, BRD, and quality standards. Use when: (1) After implementation and testing, (2) Before merging a PR, (3) Verifying BRD use case coverage (--brd flag), (4) Checking code quality, security, and pattern compliance
|
|
4
|
+
version: 1.5.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-review - Code Review
|
|
@@ -28,6 +28,7 @@ Review code changes for quality, security, and adherence to standards.
|
|
|
28
28
|
/dev-review --staged # Review staged changes only
|
|
29
29
|
/dev-review src/auth/ # Review specific directory
|
|
30
30
|
/dev-review UC-AUTH-001 # Review changes for specific UC
|
|
31
|
+
/dev-review billing --brd # Verify all BRD use cases covered
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
## Input
|
|
@@ -150,46 +151,7 @@ Review report with verdict and categorized issues.
|
|
|
150
151
|
|
|
151
152
|
### Stack-Specific
|
|
152
153
|
|
|
153
|
-
**CRITICAL
|
|
154
|
-
|
|
155
|
-
After loading stack knowledge (from Context Sources → Step 1), apply framework-specific checks from the "For /dev-review" section:
|
|
156
|
-
|
|
157
|
-
**React projects:**
|
|
158
|
-
- Hooks follow Rules of Hooks (no conditional calls, correct order)
|
|
159
|
-
- All dependencies included in useEffect/useCallback/useMemo
|
|
160
|
-
- No infinite loops, no stale closures
|
|
161
|
-
- State updates are immutable
|
|
162
|
-
- Performance optimizations appropriate (memo, lazy)
|
|
163
|
-
- Lists have stable keys
|
|
164
|
-
|
|
165
|
-
**Vue 3 projects:**
|
|
166
|
-
- Uses `<script setup>` (not Options API)
|
|
167
|
-
- Composables follow naming convention (use*)
|
|
168
|
-
- No destructuring reactive without toRefs
|
|
169
|
-
- ref() accessed with .value in script (not in template)
|
|
170
|
-
- v-for has unique :key
|
|
171
|
-
- No v-for + v-if on same element
|
|
172
|
-
- Props not mutated directly
|
|
173
|
-
|
|
174
|
-
**Next.js projects:**
|
|
175
|
-
- Server vs Client Components used correctly
|
|
176
|
-
- Server Actions have "use server" directive
|
|
177
|
-
- Data fetching uses proper Next.js patterns
|
|
178
|
-
- No client-side code in Server Components
|
|
179
|
-
|
|
180
|
-
**Nuxt projects:**
|
|
181
|
-
- Composables follow naming convention (useX)
|
|
182
|
-
- Server routes in correct location
|
|
183
|
-
- Auto-imports used correctly
|
|
184
|
-
- SSR-safe code (no window access in setup)
|
|
185
|
-
|
|
186
|
-
**Directus projects:**
|
|
187
|
-
- Collections accessed properly
|
|
188
|
-
- Permissions configured
|
|
189
|
-
- Field types match requirements
|
|
190
|
-
- Flows and hooks follow patterns
|
|
191
|
-
|
|
192
|
-
**If stack knowledge file doesn't exist**, apply general best practices only.
|
|
154
|
+
**CRITICAL**: Load framework-specific review checklists from `references/stack-checks.md`. Also load `knowledge/stacks/{stack}/_index.md` "For /dev-review" section for deeper patterns.
|
|
193
155
|
|
|
194
156
|
## Context Sources
|
|
195
157
|
|
|
@@ -235,234 +197,81 @@ After loading stack knowledge (from Context Sources → Step 1), apply framework
|
|
|
235
197
|
|
|
236
198
|
## Review Best Practices
|
|
237
199
|
|
|
238
|
-
|
|
200
|
+
See `references/review-examples.md` for constructive feedback patterns, example reviews, and fix loop details.
|
|
239
201
|
|
|
240
|
-
|
|
241
|
-
// BAD
|
|
242
|
-
"This code is bad"
|
|
243
|
-
|
|
244
|
-
// GOOD
|
|
245
|
-
"This could cause a SQL injection. Consider using parameterized queries:
|
|
246
|
-
```sql
|
|
247
|
-
SELECT * FROM users WHERE id = $1
|
|
248
|
-
```"
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Explain Why
|
|
252
|
-
|
|
253
|
-
```markdown
|
|
254
|
-
// BAD
|
|
255
|
-
"Don't use var"
|
|
256
|
-
|
|
257
|
-
// GOOD
|
|
258
|
-
"Use const/let instead of var - var has function scope which can lead to
|
|
259
|
-
unexpected behavior. const also signals intent that the value won't change."
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
### Suggest Alternatives
|
|
263
|
-
|
|
264
|
-
```markdown
|
|
265
|
-
// Issue + Solution
|
|
266
|
-
"The N+1 query here will cause performance issues with many posts.
|
|
267
|
-
|
|
268
|
-
Consider using an include/join:
|
|
269
|
-
```typescript
|
|
270
|
-
const posts = await db.posts.findMany({
|
|
271
|
-
include: { author: true }
|
|
272
|
-
});
|
|
273
|
-
```"
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### Acknowledge Good Work
|
|
277
|
-
|
|
278
|
-
```markdown
|
|
279
|
-
### Positives
|
|
280
|
-
- Clean separation of API and business logic
|
|
281
|
-
- Good error messages for users
|
|
282
|
-
- Comprehensive input validation
|
|
283
|
-
```
|
|
202
|
+
**Key principles**: Be constructive (suggest fix, not just flag), explain why, suggest alternatives, acknowledge good work.
|
|
284
203
|
|
|
285
204
|
## Tools Used
|
|
286
205
|
|
|
287
206
|
| Tool | Purpose |
|
|
288
207
|
|------|---------|
|
|
289
208
|
| `Bash` | git diff, git log |
|
|
290
|
-
| `Read` | Read changed files |
|
|
209
|
+
| `Read` | Read changed files, specs, BRD use cases |
|
|
291
210
|
| `Grep` | Search for patterns |
|
|
292
211
|
| `Glob` | Find related files |
|
|
293
212
|
|
|
294
|
-
##
|
|
295
|
-
|
|
296
|
-
| Skill | Relationship |
|
|
297
|
-
|-------|--------------|
|
|
298
|
-
| `/dev-coding` | Review after implementation |
|
|
299
|
-
| `/dev-scout` | Get project conventions |
|
|
300
|
-
| `/dev-specs` | Check spec compliance |
|
|
301
|
-
|
|
302
|
-
## Example Review
|
|
303
|
-
|
|
304
|
-
```
|
|
305
|
-
User: /dev-review UC-AUTH-001
|
|
306
|
-
|
|
307
|
-
Step 1: Load Context
|
|
308
|
-
- Read tech-context.md → Stack: Next.js 14 + TypeScript
|
|
309
|
-
- Read knowledge/stacks/nextjs/_index.md → "For /dev-review" section
|
|
310
|
-
→ Check Server Actions, App Router, Server Components
|
|
311
|
-
- Read knowledge/stacks/react/_index.md → "For /dev-review" section
|
|
312
|
-
→ Check Hooks, state management, performance
|
|
313
|
-
- Read _quality-attributes.md → All level checklists
|
|
314
|
-
- Read UC-AUTH-001 spec → Requirements
|
|
315
|
-
- Get git diff → Changed files
|
|
316
|
-
|
|
317
|
-
Step 2: Analyze
|
|
318
|
-
- src/api/auth/login.ts: Clean ✓
|
|
319
|
-
- src/components/LoginForm.tsx: 1 issue (React hooks deps missing)
|
|
320
|
-
- src/lib/api.ts: 1 suggestion (naming)
|
|
321
|
-
|
|
322
|
-
Step 3: Generate Report
|
|
323
|
-
|
|
324
|
-
## Review Summary
|
|
325
|
-
|
|
326
|
-
**Verdict**: ⚠️ Request Changes
|
|
213
|
+
## BRD Coverage Verification (--brd flag)
|
|
327
214
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
### Issues Found
|
|
215
|
+
When `--brd` flag provided, perform macro-level verification: Code vs BRD use cases.
|
|
331
216
|
|
|
332
|
-
|
|
333
|
-
|
|
217
|
+
**1. Load BRD use cases:**
|
|
218
|
+
- Read all `plans/brd/use-cases/{feature}/UC-*.md`
|
|
219
|
+
- Extract requirements and acceptance criteria per UC
|
|
334
220
|
|
|
335
|
-
|
|
336
|
-
-
|
|
337
|
-
|
|
338
|
-
```tsx
|
|
339
|
-
// Add error state
|
|
340
|
-
.catch(err => setError(err.message))
|
|
341
|
-
```
|
|
221
|
+
**2. Load code changes:**
|
|
222
|
+
- `git log --oneline` for feature branch/period
|
|
223
|
+
- `git diff --stat` for files changed
|
|
342
224
|
|
|
343
|
-
|
|
344
|
-
- [naming] `src/lib/api.ts:12`
|
|
345
|
-
`data` is generic. Consider `credentials` for clarity.
|
|
225
|
+
**3. Map changes to UCs:**
|
|
346
226
|
|
|
347
|
-
|
|
348
|
-
-
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
- [ ] Missing: Rate limiting (spec requirement)
|
|
227
|
+
For each UC, determine:
|
|
228
|
+
- ✅ **Covered**: Code changes address requirements
|
|
229
|
+
- ⚠️ **Partial**: Some requirements met, some missing
|
|
230
|
+
- ❌ **Not covered**: No code changes for this UC
|
|
352
231
|
|
|
353
|
-
|
|
354
|
-
- Good validation on both client and server
|
|
355
|
-
- Clean component structure
|
|
356
|
-
- Proper TypeScript types
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
## Fix Loop
|
|
360
|
-
|
|
361
|
-
When issues are found, `/dev-review` can trigger `/dev-coding` to fix them:
|
|
362
|
-
|
|
363
|
-
```
|
|
364
|
-
/dev-review
|
|
365
|
-
↓
|
|
366
|
-
Issues found?
|
|
367
|
-
├── No → Pass ✅ → Suggest /dev-changelog
|
|
368
|
-
└── Yes → Offer to fix
|
|
369
|
-
↓
|
|
370
|
-
"1 important issue found. Fix now?"
|
|
371
|
-
├── Yes → Load /dev-coding with fix context
|
|
372
|
-
│ ↓
|
|
373
|
-
│ Fix applied
|
|
374
|
-
│ ↓
|
|
375
|
-
│ Re-run /dev-review (auto)
|
|
376
|
-
└── No → Output review, user fixes manually
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Fix Flow
|
|
232
|
+
**4. Report:**
|
|
380
233
|
|
|
381
234
|
```markdown
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
|
385
|
-
|
|
386
|
-
|
|
|
387
|
-
|
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
-
|
|
392
|
-
-
|
|
235
|
+
## BRD Coverage Report: {feature}
|
|
236
|
+
|
|
237
|
+
| UC | Title | Status | Evidence |
|
|
238
|
+
|----|-------|--------|----------|
|
|
239
|
+
| UC-PAY-001 | Checkout | ✅ Covered | src/api/checkout.ts, src/components/Checkout.tsx |
|
|
240
|
+
| UC-PAY-002 | Refund | ⚠️ Partial | API done, UI missing |
|
|
241
|
+
| UC-PAY-004 | Invoice | ❌ Not covered | No related changes |
|
|
242
|
+
|
|
243
|
+
### Summary
|
|
244
|
+
- **Covered**: 3/5 UCs
|
|
245
|
+
- **Partial**: 1/5 UCs
|
|
246
|
+
- **Not covered**: 1/5 UCs
|
|
393
247
|
```
|
|
394
248
|
|
|
395
|
-
**
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
1. Load /dev-coding skill
|
|
399
|
-
→ Pass: files to fix, issues to address
|
|
249
|
+
**5. Recommendation:**
|
|
250
|
+
- All covered → "BRD requirements fully addressed"
|
|
251
|
+
- Gaps exist → "X UCs not covered. Run `/dev-specs` + `/dev-coding` for missing UCs"
|
|
400
252
|
|
|
401
|
-
|
|
402
|
-
→ Uses existing patterns from scout
|
|
403
|
-
→ Follows spec requirements
|
|
253
|
+
## Fix Loop
|
|
404
254
|
|
|
405
|
-
|
|
406
|
-
→ Verify fixes applied correctly
|
|
407
|
-
→ Check for new issues introduced
|
|
255
|
+
When issues found, offer to fix via `/dev-coding`. See `references/review-examples.md` for detailed fix loop flow.
|
|
408
256
|
|
|
409
|
-
|
|
257
|
+
```
|
|
258
|
+
Issues found? → Offer fix → /dev-coding (fix) → /dev-review (re-run) → Pass → /dev-changelog
|
|
410
259
|
```
|
|
411
260
|
|
|
412
|
-
## After Pass
|
|
413
|
-
|
|
414
|
-
When review passes (no critical/important issues):
|
|
415
|
-
|
|
416
|
-
```markdown
|
|
417
|
-
## Review Complete ✅
|
|
418
|
-
|
|
419
|
-
**Verdict**: Approved
|
|
420
|
-
|
|
421
|
-
No critical or important issues found.
|
|
261
|
+
## After Pass
|
|
422
262
|
|
|
423
|
-
|
|
424
|
-
1. Run `/dev-changelog` to document what was built
|
|
425
|
-
2. Commit and push changes
|
|
426
|
-
3. Create PR
|
|
427
|
-
|
|
428
|
-
💡 Run `/dev-changelog {feature}` to create implementation summary.
|
|
429
|
-
```
|
|
263
|
+
When review passes: suggest `/dev-changelog {feature}` to document what was built.
|
|
430
264
|
|
|
431
265
|
## Integration
|
|
432
266
|
|
|
433
267
|
| Skill | Relationship |
|
|
434
268
|
|-------|--------------|
|
|
435
|
-
| `/dev-coding` | Review after implementation |
|
|
436
|
-
| `/dev-coding` | Call to fix issues (fix loop) |
|
|
269
|
+
| `/dev-coding` | Review after implementation, call to fix issues |
|
|
437
270
|
| `/dev-scout` | Get project conventions |
|
|
438
271
|
| `/dev-specs` | Check spec compliance |
|
|
439
272
|
| `/dev-changelog` | Document after pass |
|
|
440
273
|
|
|
441
|
-
##
|
|
274
|
+
## References
|
|
442
275
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
│
|
|
446
|
-
┌─────────┴─────────┐
|
|
447
|
-
│ Issues found? │
|
|
448
|
-
└─────────┬─────────┘
|
|
449
|
-
│
|
|
450
|
-
┌───────────────┼───────────────┐
|
|
451
|
-
↓ ↓ ↓
|
|
452
|
-
Critical Important None
|
|
453
|
-
│ │ │
|
|
454
|
-
↓ ↓ ↓
|
|
455
|
-
Must fix Offer fix Pass ✅
|
|
456
|
-
│ │ │
|
|
457
|
-
└───────┬───────┘ │
|
|
458
|
-
↓ │
|
|
459
|
-
/dev-coding (fix) │
|
|
460
|
-
↓ │
|
|
461
|
-
/dev-review (re-run) │
|
|
462
|
-
↓ │
|
|
463
|
-
Pass ────────────────────→│
|
|
464
|
-
↓
|
|
465
|
-
/dev-changelog
|
|
466
|
-
↓
|
|
467
|
-
summary.md created
|
|
468
|
-
```
|
|
276
|
+
- `references/stack-checks.md` - Framework-specific review checklists
|
|
277
|
+
- `references/review-examples.md` - Examples, fix loop, best practices
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Review Examples & Patterns
|
|
2
|
+
|
|
3
|
+
## Review Best Practices
|
|
4
|
+
|
|
5
|
+
### Be Constructive
|
|
6
|
+
|
|
7
|
+
```markdown
|
|
8
|
+
// BAD
|
|
9
|
+
"This code is bad"
|
|
10
|
+
|
|
11
|
+
// GOOD
|
|
12
|
+
"This could cause a SQL injection. Consider using parameterized queries:
|
|
13
|
+
```sql
|
|
14
|
+
SELECT * FROM users WHERE id = $1
|
|
15
|
+
```"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Explain Why
|
|
19
|
+
|
|
20
|
+
```markdown
|
|
21
|
+
// BAD
|
|
22
|
+
"Don't use var"
|
|
23
|
+
|
|
24
|
+
// GOOD
|
|
25
|
+
"Use const/let instead of var - var has function scope which can lead to
|
|
26
|
+
unexpected behavior. const also signals intent that the value won't change."
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Suggest Alternatives
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
// Issue + Solution
|
|
33
|
+
"The N+1 query here will cause performance issues with many posts.
|
|
34
|
+
|
|
35
|
+
Consider using an include/join:
|
|
36
|
+
```typescript
|
|
37
|
+
const posts = await db.posts.findMany({
|
|
38
|
+
include: { author: true }
|
|
39
|
+
});
|
|
40
|
+
```"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Acknowledge Good Work
|
|
44
|
+
|
|
45
|
+
```markdown
|
|
46
|
+
### Positives
|
|
47
|
+
- Clean separation of API and business logic
|
|
48
|
+
- Good error messages for users
|
|
49
|
+
- Comprehensive input validation
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Example Review
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
User: /dev-review UC-AUTH-001
|
|
56
|
+
|
|
57
|
+
Step 1: Load Context
|
|
58
|
+
- Read tech-context.md → Stack: Next.js 14 + TypeScript
|
|
59
|
+
- Read knowledge/stacks/nextjs/_index.md → "For /dev-review" section
|
|
60
|
+
→ Check Server Actions, App Router, Server Components
|
|
61
|
+
- Read knowledge/stacks/react/_index.md → "For /dev-review" section
|
|
62
|
+
→ Check Hooks, state management, performance
|
|
63
|
+
- Read _quality-attributes.md → All level checklists
|
|
64
|
+
- Read UC-AUTH-001 spec → Requirements
|
|
65
|
+
- Get git diff → Changed files
|
|
66
|
+
|
|
67
|
+
Step 2: Analyze
|
|
68
|
+
- src/api/auth/login.ts: Clean ✓
|
|
69
|
+
- src/components/LoginForm.tsx: 1 issue (React hooks deps missing)
|
|
70
|
+
- src/lib/api.ts: 1 suggestion (naming)
|
|
71
|
+
|
|
72
|
+
Step 3: Generate Report
|
|
73
|
+
|
|
74
|
+
## Review Summary
|
|
75
|
+
|
|
76
|
+
**Verdict**: ⚠️ Request Changes
|
|
77
|
+
|
|
78
|
+
**Stats**: 3 files, +245 additions, -12 deletions
|
|
79
|
+
|
|
80
|
+
### Issues Found
|
|
81
|
+
|
|
82
|
+
#### 🔴 Critical
|
|
83
|
+
None
|
|
84
|
+
|
|
85
|
+
#### 🟡 Important
|
|
86
|
+
- [error-handling] `src/components/LoginForm.tsx:34`
|
|
87
|
+
Promise rejection not handled. If API fails, user sees nothing.
|
|
88
|
+
```tsx
|
|
89
|
+
// Add error state
|
|
90
|
+
.catch(err => setError(err.message))
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
#### 🔵 Suggestions
|
|
94
|
+
- [naming] `src/lib/api.ts:12`
|
|
95
|
+
`data` is generic. Consider `credentials` for clarity.
|
|
96
|
+
|
|
97
|
+
### Spec Compliance
|
|
98
|
+
- [x] POST /api/auth/login works
|
|
99
|
+
- [x] Returns token
|
|
100
|
+
- [x] Validates input
|
|
101
|
+
- [ ] Missing: Rate limiting (spec requirement)
|
|
102
|
+
|
|
103
|
+
### Positives
|
|
104
|
+
- Good validation on both client and server
|
|
105
|
+
- Clean component structure
|
|
106
|
+
- Proper TypeScript types
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Fix Loop
|
|
110
|
+
|
|
111
|
+
When issues are found, `/dev-review` can trigger `/dev-coding` to fix them:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
/dev-review
|
|
115
|
+
↓
|
|
116
|
+
Issues found?
|
|
117
|
+
├── No → Pass ✅ → Suggest /dev-changelog
|
|
118
|
+
└── Yes → Offer to fix
|
|
119
|
+
↓
|
|
120
|
+
"1 important issue found. Fix now?"
|
|
121
|
+
├── Yes → Load /dev-coding with fix context
|
|
122
|
+
│ ↓
|
|
123
|
+
│ Fix applied
|
|
124
|
+
│ ↓
|
|
125
|
+
│ Re-run /dev-review (auto)
|
|
126
|
+
└── No → Output review, user fixes manually
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Fix Flow
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
**Review found issues:**
|
|
133
|
+
|
|
134
|
+
| # | Severity | File | Issue |
|
|
135
|
+
|---|----------|------|-------|
|
|
136
|
+
| 1 | 🟡 Important | LoginForm.tsx:34 | Promise rejection not handled |
|
|
137
|
+
| 2 | 🔵 Suggestion | api.ts:12 | Generic variable name |
|
|
138
|
+
|
|
139
|
+
**Options:**
|
|
140
|
+
- A: Fix important issues automatically (1 issue)
|
|
141
|
+
- B: Fix all issues automatically (2 issues)
|
|
142
|
+
- C: I'll fix manually
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**If user chooses A or B:**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
1. Load /dev-coding skill
|
|
149
|
+
→ Pass: files to fix, issues to address
|
|
150
|
+
|
|
151
|
+
2. /dev-coding applies fixes
|
|
152
|
+
→ Uses existing patterns from scout
|
|
153
|
+
→ Follows spec requirements
|
|
154
|
+
|
|
155
|
+
3. Auto re-run /dev-review
|
|
156
|
+
→ Verify fixes applied correctly
|
|
157
|
+
→ Check for new issues introduced
|
|
158
|
+
|
|
159
|
+
4. If pass → Suggest /dev-changelog
|
|
160
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Stack-Specific Review Checklists
|
|
2
|
+
|
|
3
|
+
Load the relevant checklist based on stack detected in `tech-context.md`. Also load `knowledge/stacks/{stack}/_index.md` "For /dev-review" section for deeper patterns.
|
|
4
|
+
|
|
5
|
+
## React
|
|
6
|
+
|
|
7
|
+
- Hooks follow Rules of Hooks (no conditional calls, correct order)
|
|
8
|
+
- All dependencies included in useEffect/useCallback/useMemo
|
|
9
|
+
- No infinite loops, no stale closures
|
|
10
|
+
- State updates are immutable
|
|
11
|
+
- Performance optimizations appropriate (memo, lazy)
|
|
12
|
+
- Lists have stable keys
|
|
13
|
+
|
|
14
|
+
## Vue 3
|
|
15
|
+
|
|
16
|
+
- Uses `<script setup>` (not Options API)
|
|
17
|
+
- Composables follow naming convention (use*)
|
|
18
|
+
- No destructuring reactive without toRefs
|
|
19
|
+
- ref() accessed with .value in script (not in template)
|
|
20
|
+
- v-for has unique :key
|
|
21
|
+
- No v-for + v-if on same element
|
|
22
|
+
- Props not mutated directly
|
|
23
|
+
|
|
24
|
+
## Next.js
|
|
25
|
+
|
|
26
|
+
- Server vs Client Components used correctly
|
|
27
|
+
- Server Actions have "use server" directive
|
|
28
|
+
- Data fetching uses proper Next.js patterns
|
|
29
|
+
- No client-side code in Server Components
|
|
30
|
+
|
|
31
|
+
## Nuxt
|
|
32
|
+
|
|
33
|
+
- Composables follow naming convention (useX)
|
|
34
|
+
- Server routes in correct location
|
|
35
|
+
- Auto-imports used correctly
|
|
36
|
+
- SSR-safe code (no window access in setup)
|
|
37
|
+
|
|
38
|
+
## Directus
|
|
39
|
+
|
|
40
|
+
- Collections accessed properly
|
|
41
|
+
- Permissions configured
|
|
42
|
+
- Field types match requirements
|
|
43
|
+
- Flows and hooks follow patterns
|
|
44
|
+
|
|
45
|
+
**If stack knowledge file doesn't exist**, apply general best practices only.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-scout
|
|
3
|
-
description: Discover and document how the codebase works - patterns, rules, and team conventions
|
|
4
|
-
version: 3.
|
|
3
|
+
description: Discover and document how the codebase works - patterns, rules, and team conventions. Use when: (1) Before implementation to understand existing code, (2) Onboarding to a new codebase, (3) Documenting team patterns and architecture, (4) Understanding how a specific feature is implemented
|
|
4
|
+
version: 3.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-scout - Codebase Pattern Discovery
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-specs
|
|
3
|
-
description: Generate lean implementation specifications from BRD use cases
|
|
4
|
-
version: 2.0
|
|
3
|
+
description: Generate lean implementation specifications from BRD use cases. Use when: (1) BRD/use cases exist and implementation planning needed, (2) Before starting coding on a feature, (3) Onboarding engineers to a feature's technical scope
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# /dev-specs - Lean Implementation Specifications
|
|
@@ -51,20 +51,6 @@ Specs define **requirements and constraints**, not implementation details.
|
|
|
51
51
|
2. `plans/features/{feature}/` exists
|
|
52
52
|
3. `plans/brd/tech-context.md` exists (auto-runs scout if missing)
|
|
53
53
|
|
|
54
|
-
## Output Structure
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
plans/features/{feature}/
|
|
58
|
-
├── codebase-context.md # From /dev-scout
|
|
59
|
-
└── specs/
|
|
60
|
-
├── README.md # Index, implementation order
|
|
61
|
-
├── shared/ # Shared across UCs
|
|
62
|
-
│ ├── data-model.md
|
|
63
|
-
│ ├── patterns.md
|
|
64
|
-
│ └── security.md
|
|
65
|
-
└── UC-XXX-001-slug.md # Lean spec per UC (~150 lines)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
54
|
## Expected Outcome
|
|
69
55
|
|
|
70
56
|
**Lean specs** (~150 lines per UC) that define **WHAT to build**, not HOW.
|