@houseofwolvesllc/claude-scrum-skill 1.5.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 CHANGED
@@ -236,7 +236,7 @@ Human/cowork stories are skipped (they roll over). Merges to `development` happe
236
236
  /project-cleanup --report-only
237
237
  ```
238
238
 
239
- Verify codebase hygiene across five dimensions: zero build errors/warnings, zero lint errors/warnings, HATEOAS and architecture compliance, 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.
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
240
 
241
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
242
 
@@ -305,7 +305,7 @@ Located at: `project-scaffold/references/CONVENTIONS.md`
305
305
  | `sprint-release` | `/sprint-release [owner/repo]` | Close sprint, open release PR to development |
306
306
  | `project-emulate` | `/project-emulate` | Integration seams, layer contracts, cross-service payloads, and full lifecycle walkthrough |
307
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, HATEOAS, dead code, and test coverage verification/enforcement |
308
+ | `project-cleanup` | `/project-cleanup [path] [--fix] [--report-only]` | Build, lint, project principles, dead code, and test coverage verification/enforcement |
309
309
 
310
310
  ## Customization
311
311
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@houseofwolvesllc/claude-scrum-skill",
3
- "version": "1.5.0",
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: HATEOAS and Project Principles Compliance
119
+ ## Phase 3: Project Principles Compliance
120
120
 
121
- Verify the codebase adheres to HATEOAS (Hypermedia as the Engine of Application State) principles and any project-specific architectural standards.
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
- **Important:** Only apply HATEOAS checks to projects that expose REST APIs. Skip this phase entirely for CLI tools, libraries, static sites, or other non-API projects.
123
+ **If `CLAUDE.md` does not exist or contains no architectural principles, skip this phase entirely.**
124
124
 
125
- ### Step 1: Identify API Layer
125
+ ### Step 1: Extract Principles from CLAUDE.md
126
126
 
127
- Scan for API route definitions, controllers, and response construction:
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
- - Express/Fastify/Koa route handlers
130
- - NestJS/Spring/Django/Rails controllers
131
- - Serverless function handlers (Lambda, Cloud Functions)
132
- - GraphQL resolvers (HATEOAS doesn't apply to GraphQL skip these)
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
- ### Step 2: HATEOAS Link Audit
138
+ Record each principle found so violations can reference the specific rule.
135
139
 
136
- For each API endpoint that returns resource representations, verify:
140
+ ### Step 2: Audit Compliance
137
141
 
138
- **Self links** Every resource response MUST include a `self` link:
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
- - **Layered architecture compliance** are controllers calling repositories directly instead of going through services?
169
- - **Dependency direction** do inner layers depend on outer layers?
170
- - **Naming conventions** do file names, function names, and variable names follow the project's conventions?
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 4: Catalog HATEOAS/Architecture Issues
148
+ ### Step 3: Catalog Violations
175
149
 
176
150
  For each violation found, record:
177
151
 
178
- | File | Line | Category | Issue | Recommendation |
179
- |------|------|----------|-------|----------------|
180
- | `src/controllers/users.ts` | 78 | HATEOAS | Response missing `_links.self` | Add self link to user response |
181
- | `src/routes/orders.ts` | 45 | Architecture | Controller directly queries DB | Route through OrderService |
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
- - Add missing `_links` to response objects
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
- ├── HATEOAS.md # HATEOAS and architecture compliance findings
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
- | HATEOAS/Architecture | PASS/FAIL/SKIP | <count> violations | <count> (if --fix) |
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 "skip HATEOAS for internal microservice endpoints" or "we intentionally keep the old API types for backwards compat" — follow those rules. Best practices are defaults, not mandates.
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, HATEOAS compliance, test fixes, coverage improvement.
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
 
@@ -457,7 +457,7 @@ Print a phase transition summary:
457
457
 
458
458
  **Build:** ✅ zero errors, zero warnings
459
459
  **Lint:** ✅ zero violations
460
- **HATEOAS:** ✅ compliant (or SKIP if not an API project)
460
+ **Project Principles:** ✅ compliant (or SKIP if no principles in CLAUDE.md)
461
461
  **Dead code:** ✅ none detected
462
462
  **Tests:** ✅ all passing, <pct>% coverage
463
463
 
@@ -486,7 +486,7 @@ Print a comprehensive summary of the entire orchestration run:
486
486
  ### Phase 3 — Project Cleanup
487
487
  - **Build:** ✅ clean / ⚠️ <N> remaining issues
488
488
  - **Lint:** ✅ clean / ⚠️ <N> remaining issues
489
- - **HATEOAS:** ✅ compliant / ⚠️ <N> violations / ⏭️ skipped
489
+ - **Project Principles:** ✅ compliant / ⚠️ <N> violations / ⏭️ skipped (no principles in CLAUDE.md)
490
490
  - **Dead code:** ✅ none / ⚠️ <N> items remaining
491
491
  - **Tests:** ✅ passing (<pct>% coverage) / ⚠️ <N> failing, <pct>% coverage
492
492
  - **Full report:** .claude/reports/cleanup-report/SUMMARY.md