@houseofwolvesllc/claude-scrum-skill 1.4.0 → 1.5.1
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/README.md +27 -3
- package/package.json +1 -1
- package/skills/project-cleanup/SKILL.md +30 -57
- package/skills/project-orchestrate/SKILL.md +56 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Claude Scrum Skill
|
|
2
2
|
|
|
3
|
-
An open-source npm package of Claude Code skills that give you a complete scrum pipeline — from PRD to production release — with Claude as your scrum master. Includes project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, and
|
|
3
|
+
An open-source npm package of Claude Code skills that give you a complete scrum pipeline — from PRD to production release — with Claude as your scrum master. Includes project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, autonomous orchestration, and project cleanup. One PR per sprint, or let Claude drive the entire lifecycle hands-free.
|
|
4
4
|
|
|
5
5
|
```
|
|
6
6
|
Manual mode — you invoke each skill:
|
|
@@ -51,7 +51,7 @@ Add the marketplace and install the plugin directly from GitHub:
|
|
|
51
51
|
/plugin install claude-scrum-skill@houseofwolvesllc
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
This installs all
|
|
54
|
+
This installs all seven skills as a native Claude Code plugin with automatic updates. To update later:
|
|
55
55
|
|
|
56
56
|
```
|
|
57
57
|
/plugin marketplace update
|
|
@@ -220,7 +220,29 @@ Instead of manually invoking each skill at every step, let Claude drive the enti
|
|
|
220
220
|
|
|
221
221
|
Human/cowork stories are skipped (they roll over). Merges to `development` happen automatically. Merges to `main` still require your review. State is persisted to `.claude/orchestration-state.md` so progress survives session restarts.
|
|
222
222
|
|
|
223
|
-
### 11.
|
|
223
|
+
### 11. Clean Up the Codebase
|
|
224
|
+
|
|
225
|
+
```
|
|
226
|
+
# Report issues without fixing
|
|
227
|
+
/project-cleanup
|
|
228
|
+
|
|
229
|
+
# Scope to a specific directory
|
|
230
|
+
/project-cleanup src/
|
|
231
|
+
|
|
232
|
+
# Auto-fix everything
|
|
233
|
+
/project-cleanup --fix
|
|
234
|
+
|
|
235
|
+
# Report only, no fixes even if --fix is present
|
|
236
|
+
/project-cleanup --report-only
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Verify codebase hygiene across five dimensions: zero build errors/warnings, zero lint errors/warnings, project principles compliance (driven by your `CLAUDE.md`), no dead or duplicated code, and all tests passing with at least 50% coverage. The skill detects your toolchain (TypeScript, Go, Rust, Python, etc.) automatically.
|
|
240
|
+
|
|
241
|
+
In `--fix` mode, it resolves issues in dependency order — dead code removal first, then build errors, lint violations, architecture fixes, and finally test fixes and coverage improvement. All changes are documented in a `FIXES.md` report. Without `--fix`, it produces a full report to `.claude/reports/cleanup-report/` without modifying code.
|
|
242
|
+
|
|
243
|
+
Reads your project's `CLAUDE.md` for overrides — project rules always win over default best practices.
|
|
244
|
+
|
|
245
|
+
### 12. Repeat (Manual Mode)
|
|
224
246
|
|
|
225
247
|
```
|
|
226
248
|
/sprint-plan owner/repo
|
|
@@ -283,6 +305,7 @@ Located at: `project-scaffold/references/CONVENTIONS.md`
|
|
|
283
305
|
| `sprint-release` | `/sprint-release [owner/repo]` | Close sprint, open release PR to development |
|
|
284
306
|
| `project-emulate` | `/project-emulate` | Integration seams, layer contracts, cross-service payloads, and full lifecycle walkthrough |
|
|
285
307
|
| `project-orchestrate` | `/project-orchestrate [prd-path] [owner/repo]` | Autonomous lifecycle driver — sprint loop + emulation hardening until done |
|
|
308
|
+
| `project-cleanup` | `/project-cleanup [path] [--fix] [--report-only]` | Build, lint, project principles, dead code, and test coverage verification/enforcement |
|
|
286
309
|
|
|
287
310
|
## Customization
|
|
288
311
|
|
|
@@ -341,6 +364,7 @@ Orchestration state is saved to `.claude/orchestration-state.md` (human-readable
|
|
|
341
364
|
- **Start small.** Scaffold a real but small project first to calibrate your conventions before relying on it for bigger work.
|
|
342
365
|
- **Branch protection is your safety net.** The PAT should not have write access to main. Merges to main always go through your review.
|
|
343
366
|
- **Run `/project-emulate` before releases** to catch integration seam failures, layer contract mismatches, cross-service payload drift, permission gaps, and dead code before shipping.
|
|
367
|
+
- **Run `/project-cleanup --fix` after major changes** to enforce build/lint cleanliness, remove dead code, and ensure test coverage stays above 50%.
|
|
344
368
|
|
|
345
369
|
## License
|
|
346
370
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@houseofwolvesllc/claude-scrum-skill",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Claude Code skills for scrum project management — PRD to production release pipeline with project scaffolding, sprint planning, status tracking, sprint releases, full-project emulation testing, autonomous orchestration, and project cleanup.",
|
|
5
5
|
"bin": {},
|
|
6
6
|
"scripts": {
|
|
@@ -116,75 +116,48 @@ For each issue found, record:
|
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
119
|
-
## Phase 3:
|
|
119
|
+
## Phase 3: Project Principles Compliance
|
|
120
120
|
|
|
121
|
-
Verify the codebase adheres to
|
|
121
|
+
Verify the codebase adheres to the architectural and design principles defined in the project's `CLAUDE.md`. This phase is entirely driven by what the project specifies — there are no default architectural checks.
|
|
122
122
|
|
|
123
|
-
**
|
|
123
|
+
**If `CLAUDE.md` does not exist or contains no architectural principles, skip this phase entirely.**
|
|
124
124
|
|
|
125
|
-
### Step 1:
|
|
125
|
+
### Step 1: Extract Principles from CLAUDE.md
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
Read the project's `CLAUDE.md` and identify every architectural or design principle it specifies. These may include (but are not limited to):
|
|
128
128
|
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
129
|
+
- **API design patterns** — HATEOAS, REST conventions, GraphQL schema standards, response envelope formats
|
|
130
|
+
- **Layered architecture rules** — e.g., "controllers must not call repositories directly"
|
|
131
|
+
- **Dependency direction** — e.g., "inner layers must not depend on outer layers"
|
|
132
|
+
- **Naming conventions** — file names, function names, variable naming patterns
|
|
133
|
+
- **Error handling patterns** — e.g., "all errors must extend AppError"
|
|
134
|
+
- **Response formats** — e.g., "all responses must include `_links`" or "use HAL format"
|
|
135
|
+
- **Testing requirements** — e.g., "every service must have integration tests"
|
|
136
|
+
- **Any other explicit rule** — whatever the project declares, enforce it
|
|
133
137
|
|
|
134
|
-
|
|
138
|
+
Record each principle found so violations can reference the specific rule.
|
|
135
139
|
|
|
136
|
-
|
|
140
|
+
### Step 2: Audit Compliance
|
|
137
141
|
|
|
138
|
-
|
|
139
|
-
```json
|
|
140
|
-
{
|
|
141
|
-
"id": "123",
|
|
142
|
-
"name": "Example",
|
|
143
|
-
"_links": {
|
|
144
|
-
"self": { "href": "/resources/123" }
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Relational links** — Resources with relationships SHOULD include navigational links:
|
|
150
|
-
- Parent resource link (e.g., `collection` → `/resources`)
|
|
151
|
-
- Related resource links (e.g., `author` → `/users/456`)
|
|
152
|
-
- Action links where applicable (e.g., `approve` → `/resources/123/approve`)
|
|
153
|
-
|
|
154
|
-
**Collection links** — Collection endpoints SHOULD include:
|
|
155
|
-
- `self` link with current query parameters
|
|
156
|
-
- Pagination links (`next`, `prev`, `first`, `last`) when paginated
|
|
157
|
-
- Item links or embedded items with their own `self` links
|
|
158
|
-
|
|
159
|
-
**Consistency checks:**
|
|
160
|
-
- All link `href` values MUST correspond to actual routes that exist in the codebase
|
|
161
|
-
- Link relations MUST be consistent across all endpoints (don't use `_links` in some responses and `links` in others)
|
|
162
|
-
- Media type SHOULD be consistent (if using HAL, use HAL everywhere; if using JSON:API, use JSON:API everywhere)
|
|
163
|
-
|
|
164
|
-
### Step 3: Project-Specific Principles
|
|
165
|
-
|
|
166
|
-
Read `CLAUDE.md` and any architecture documentation (ADRs, `docs/architecture.md`, etc.) for project-specific principles. Common things to check:
|
|
142
|
+
For each principle extracted in Step 1, scan the codebase for violations:
|
|
167
143
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
- **Error handling patterns** — does the project use a specific error handling strategy consistently?
|
|
172
|
-
- **Response envelope** — does the project wrap responses in a specific envelope format?
|
|
144
|
+
1. Identify all files and code paths where the principle applies
|
|
145
|
+
2. Check each instance for compliance
|
|
146
|
+
3. Flag every violation with the specific principle it breaks
|
|
173
147
|
|
|
174
|
-
### Step
|
|
148
|
+
### Step 3: Catalog Violations
|
|
175
149
|
|
|
176
150
|
For each violation found, record:
|
|
177
151
|
|
|
178
|
-
| File | Line |
|
|
179
|
-
|
|
180
|
-
| `src/
|
|
181
|
-
| `src/
|
|
152
|
+
| File | Line | Principle | Issue | Recommendation |
|
|
153
|
+
|------|------|-----------|-------|----------------|
|
|
154
|
+
| `src/routes/orders.ts` | 45 | Layered architecture | Controller directly queries DB | Route through OrderService |
|
|
155
|
+
| `src/controllers/users.ts` | 78 | HATEOAS (per CLAUDE.md) | Response missing `_links.self` | Add self link to user response |
|
|
182
156
|
|
|
183
157
|
If `--fix` is active:
|
|
184
|
-
-
|
|
185
|
-
- Add missing pagination links to collection responses
|
|
186
|
-
- Refactor architectural violations (move logic to correct layer)
|
|
158
|
+
- Fix violations in order of severity (principles the project marks as critical first)
|
|
187
159
|
- Verify fixes don't break existing tests
|
|
160
|
+
- Re-scan to confirm compliance
|
|
188
161
|
|
|
189
162
|
---
|
|
190
163
|
|
|
@@ -364,7 +337,7 @@ cleanup-report/
|
|
|
364
337
|
├── SUMMARY.md # High-level findings, pass/fail status for each phase
|
|
365
338
|
├── BUILD.md # Build errors and warnings
|
|
366
339
|
├── LINT.md # Lint violations by rule and file
|
|
367
|
-
├──
|
|
340
|
+
├── PRINCIPLES.md # Project principles compliance findings (from CLAUDE.md)
|
|
368
341
|
├── DEAD-CODE.md # Dead and duplicated code inventory
|
|
369
342
|
├── TESTS.md # Test results and coverage analysis
|
|
370
343
|
└── FIXES.md # (if --fix was used) Summary of all changes made
|
|
@@ -386,7 +359,7 @@ cleanup-report/
|
|
|
386
359
|
|-------|--------|--------------|--------------|
|
|
387
360
|
| Build | PASS/FAIL | <count> errors, <count> warnings | <count> (if --fix) |
|
|
388
361
|
| Lint | PASS/FAIL | <count> errors, <count> warnings | <count> (if --fix) |
|
|
389
|
-
|
|
|
362
|
+
| Project Principles | PASS/FAIL/SKIP | <count> violations | <count> (if --fix) |
|
|
390
363
|
| Dead/Duplicated Code | PASS/FAIL | <count> dead, <count> duplicated | <count> (if --fix) |
|
|
391
364
|
| Tests | PASS/FAIL | <count> failing, coverage: <pct>% | <count> (if --fix) |
|
|
392
365
|
| **Overall** | **PASS/FAIL** | **<total>** | **<total>** |
|
|
@@ -413,9 +386,9 @@ cleanup-report/
|
|
|
413
386
|
|
|
414
387
|
## Execution Notes
|
|
415
388
|
|
|
416
|
-
**CLAUDE.md is king.** If the project says "we use `eslint-disable` for generated files" or "
|
|
389
|
+
**CLAUDE.md is king.** If the project says "we use `eslint-disable` for generated files" or "we intentionally keep the old API types for backwards compat" — follow those rules. Best practices are defaults, not mandates. Phase 3 (Project Principles) only enforces what `CLAUDE.md` explicitly declares — no assumptions about HATEOAS, REST conventions, or any other architectural pattern unless the project specifies them.
|
|
417
390
|
|
|
418
|
-
**Fix in dependency order.** Build errors can cause false-positive lint failures. Dead code removal can cause build errors. Fix in this order: dead code removal, build errors, lint issues,
|
|
391
|
+
**Fix in dependency order.** Build errors can cause false-positive lint failures. Dead code removal can cause build errors. Fix in this order: dead code removal, build errors, lint issues, project principles compliance, test fixes, coverage improvement.
|
|
419
392
|
|
|
420
393
|
**Don't over-abstract.** When removing duplicated code, only extract when it genuinely simplifies the codebase. Three similar 5-line blocks are not necessarily worth a shared utility with 3 parameters.
|
|
421
394
|
|
|
@@ -63,7 +63,7 @@ Orchestration state is persisted to `.claude/orchestration-state.md` so progress
|
|
|
63
63
|
## Meta
|
|
64
64
|
- **Repo:** owner/repo
|
|
65
65
|
- **Project:** #<number>
|
|
66
|
-
- **Phase:** epic-completion | emulation-hardening
|
|
66
|
+
- **Phase:** epic-completion | emulation-hardening | project-cleanup
|
|
67
67
|
- **Status:** running | paused | completed
|
|
68
68
|
- **Scope:** prd | all
|
|
69
69
|
- **PRD Source:** path/to/prd.md (if scope=prd, otherwise "—")
|
|
@@ -337,7 +337,7 @@ Read and parse `.claude/reports/emulation-report/ISSUES.md`. Extract findings by
|
|
|
337
337
|
- **Warning** — should fix (degrades quality or reliability)
|
|
338
338
|
- **Info** — may fix (cleanup, minor improvements)
|
|
339
339
|
|
|
340
|
-
If no critical or warning findings exist →
|
|
340
|
+
If no critical or warning findings exist → skip to Step 14 (Project Cleanup).
|
|
341
341
|
|
|
342
342
|
Count and categorize:
|
|
343
343
|
|
|
@@ -408,7 +408,7 @@ After the hardening epic is complete, run emulation again:
|
|
|
408
408
|
Parse the new findings:
|
|
409
409
|
|
|
410
410
|
- **If new critical or warning findings exist** → increment the run counter and loop back to Step 10
|
|
411
|
-
- **If clean (no critical or warning findings)** → proceed to Step 14
|
|
411
|
+
- **If clean (no critical or warning findings)** → proceed to Step 14 (Project Cleanup)
|
|
412
412
|
|
|
413
413
|
Safety valve: If this is the 3rd consecutive hardening run, pause and escalate to the user:
|
|
414
414
|
|
|
@@ -424,7 +424,47 @@ Options:
|
|
|
424
424
|
3. Review findings manually
|
|
425
425
|
```
|
|
426
426
|
|
|
427
|
-
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## Phase 3 — Project Cleanup
|
|
430
|
+
|
|
431
|
+
After emulation hardening is clean (or accepted), run a final mechanical hygiene pass to ensure the codebase builds, lints, and tests cleanly.
|
|
432
|
+
|
|
433
|
+
### Step 14: Run Project Cleanup
|
|
434
|
+
|
|
435
|
+
Invoke the cleanup skill in fix mode:
|
|
436
|
+
|
|
437
|
+
```
|
|
438
|
+
/project-cleanup --fix
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
This runs across the **entire codebase** and automatically fixes:
|
|
442
|
+
- Build errors and warnings (type errors, unused variables, deprecations)
|
|
443
|
+
- Lint violations (ESLint/Biome/etc. with `--max-warnings 0`)
|
|
444
|
+
- HATEOAS compliance gaps (missing `_links`, pagination links, consistency)
|
|
445
|
+
- Dead and duplicated code (unused exports, files, dependencies, commented-out code)
|
|
446
|
+
- Failing tests and coverage gaps (targets 50% minimum across all metrics)
|
|
447
|
+
|
|
448
|
+
After cleanup completes, read the report at `.claude/reports/cleanup-report/SUMMARY.md`:
|
|
449
|
+
|
|
450
|
+
- **If all phases PASS** → proceed to Step 15 (Completion Summary)
|
|
451
|
+
- **If any phase FAIL** → review the report, attempt a second cleanup pass. If issues persist after two passes, log remaining issues and proceed to Step 15 with a note
|
|
452
|
+
|
|
453
|
+
Print a phase transition summary:
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
## Phase 3 Complete — Project Cleanup
|
|
457
|
+
|
|
458
|
+
**Build:** ✅ zero errors, zero warnings
|
|
459
|
+
**Lint:** ✅ zero violations
|
|
460
|
+
**Project Principles:** ✅ compliant (or SKIP if no principles in CLAUDE.md)
|
|
461
|
+
**Dead code:** ✅ none detected
|
|
462
|
+
**Tests:** ✅ all passing, <pct>% coverage
|
|
463
|
+
|
|
464
|
+
Proceeding to completion summary.
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
### Step 15: Completion Summary
|
|
428
468
|
|
|
429
469
|
Print a comprehensive summary of the entire orchestration run:
|
|
430
470
|
|
|
@@ -443,10 +483,19 @@ Print a comprehensive summary of the entire orchestration run:
|
|
|
443
483
|
- **Issues fixed:** <N> critical, <N> warning
|
|
444
484
|
- **Final emulation status:** ✅ Clean / ⚠️ Accepted with <N> remaining
|
|
445
485
|
|
|
486
|
+
### Phase 3 — Project Cleanup
|
|
487
|
+
- **Build:** ✅ clean / ⚠️ <N> remaining issues
|
|
488
|
+
- **Lint:** ✅ clean / ⚠️ <N> remaining issues
|
|
489
|
+
- **Project Principles:** ✅ compliant / ⚠️ <N> violations / ⏭️ skipped (no principles in CLAUDE.md)
|
|
490
|
+
- **Dead code:** ✅ none / ⚠️ <N> items remaining
|
|
491
|
+
- **Tests:** ✅ passing (<pct>% coverage) / ⚠️ <N> failing, <pct>% coverage
|
|
492
|
+
- **Full report:** .claude/reports/cleanup-report/SUMMARY.md
|
|
493
|
+
|
|
446
494
|
### Timeline
|
|
447
495
|
- Started: <timestamp>
|
|
448
496
|
- Phase 1 completed: <timestamp>
|
|
449
497
|
- Phase 2 completed: <timestamp>
|
|
498
|
+
- Phase 3 completed: <timestamp>
|
|
450
499
|
|
|
451
500
|
### Remaining Work
|
|
452
501
|
- <N> human/cowork stories still open across <N> epics
|
|
@@ -472,7 +521,9 @@ Keep the user informed without being noisy:
|
|
|
472
521
|
| Epic completed | Epic summary — 3-4 lines |
|
|
473
522
|
| Phase transition | Full phase summary |
|
|
474
523
|
| Hardening run start | Run number and finding counts |
|
|
475
|
-
|
|
|
524
|
+
| Cleanup started | Single line: "Running project cleanup..." |
|
|
525
|
+
| Cleanup complete | Phase 3 summary — 5-6 lines with pass/fail per dimension |
|
|
526
|
+
| Orchestration complete | Full completion summary (Step 15) |
|
|
476
527
|
| Error/pause | Immediate alert with context and options |
|
|
477
528
|
|
|
478
529
|
---
|