@leeovery/claude-technical-workflows 2.0.9 → 2.0.10

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
@@ -5,25 +5,16 @@
5
5
  </p>
6
6
 
7
7
  <p align="center">
8
- <a href="#how-do-i-use-this">How to Use</a> •
8
+ <a href="#what-is-this">What is this?</a> •
9
+ <a href="#how-do-i-use-it">How to Use</a> •
9
10
  <a href="#installation">Installation</a> •
10
- <a href="#the-six-phase-workflow">Workflow</a> •
11
11
  <a href="#skills">Skills</a> •
12
- <a href="#commands">Commands</a> •
13
- <a href="#how-it-works">How It Works</a> •
14
12
  <a href="#contributing">Contributing</a>
15
13
  </p>
16
14
 
17
15
  ---
18
16
 
19
- ## Versions
20
-
21
- | Version | Package Manager | Status | Branch |
22
- |---------|-----------------|------------|------------------------------------------------------------------------|
23
- | 2.x | npm | **Active** | `main` |
24
- | 1.x | Composer | Deprecated | [`v1`](https://github.com/leeovery/claude-technical-workflows/tree/v1) |
25
-
26
- ## About
17
+ ## What is this?
27
18
 
28
19
  A six-phase workflow for Claude Code that captures context, decisions, and rationale before any code is written, then implements and validates the work against those artifacts.
29
20
 
@@ -47,7 +38,22 @@ Review → Validate against spec
47
38
 
48
39
  **Model compatibility:** These skills have been developed and refined for Claude Code running on **Opus 4.5**. Different models may exhibit different edge cases, and future model releases may require adjustments to the prompts and workflows.
49
40
 
50
- ## How do I use this?
41
+ ### Quick Install
42
+
43
+ **Marketplace** (cached globally):
44
+ ```
45
+ /plugin marketplace add leeovery/claude-plugins-marketplace
46
+ /plugin install claude-technical-workflows@claude-plugins-marketplace
47
+ ```
48
+
49
+ **npm** (copied to your repo):
50
+ ```bash
51
+ npm install -D @leeovery/claude-technical-workflows
52
+ ```
53
+
54
+ See [Installation](#installation) for details and trade-offs.
55
+
56
+ ## How do I use it?
51
57
 
52
58
  You have two entry points:
53
59
 
@@ -84,12 +90,10 @@ Run the command directly or ask Claude to run it. Each command gathers the conte
84
90
 
85
91
  ## Installation
86
92
 
87
- Two installation methods are available:
88
-
89
- | Method | Best for | Trade-off |
90
- |--------|----------|-----------|
91
- | **Marketplace** | Local Claude Code | Simple install, skills cached globally |
92
- | **npm** | Claude Code for Web | Skills copied to repo, requires npm |
93
+ | Method | Where files live | Best for |
94
+ |--------|------------------|----------|
95
+ | **Marketplace** | `~/.claude/plugins/` (global cache) | Quick setup, don't need files in repo |
96
+ | **npm** | `.claude/` in your project | Ownership, version control, Claude Code for Web |
93
97
 
94
98
  ### Option 1: Claude Marketplace
95
99
 
@@ -98,15 +102,15 @@ Two installation methods are available:
98
102
  /plugin install claude-technical-workflows@claude-plugins-marketplace
99
103
  ```
100
104
 
101
- > **Note:** Marketplace plugins are cached globally (`~/.claude/plugins/`) and won't be available in Claude Code for Web since files aren't in your repository.
105
+ Skills are cached globally. They won't be available in Claude Code for Web since files aren't in your repository.
102
106
 
103
- ### Option 2: npm (Recommended for Web)
107
+ ### Option 2: npm
104
108
 
105
109
  ```bash
106
110
  npm install -D @leeovery/claude-technical-workflows
107
111
  ```
108
112
 
109
- Skills are copied to `.claude/` in your project and can be committed to your repository—making them available in Claude Code for Web.
113
+ Skills are copied to `.claude/` and can be committed—giving you ownership and making them available everywhere including Claude Code for Web.
110
114
 
111
115
  <details>
112
116
  <summary>pnpm users</summary>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.9",
3
+ "version": "2.0.10",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -22,12 +22,18 @@ You're at step 5. Execute the plan. Don't re-debate decisions.
22
22
 
23
23
  ## Hard Rules
24
24
 
25
+ **MANDATORY. No exceptions. Violating these rules invalidates the work.**
26
+
25
27
  1. **No code before tests** - Write the failing test first. Always.
26
- 2. **No test changes to pass** - If code doesn't pass, fix the code. Tests can only be fixed if genuinely broken or poorly designed, never to accommodate broken code.
28
+ 2. **No test changes to pass** - Fix the code, not the test.
27
29
  3. **No scope expansion** - If it's not in the plan, don't build it.
28
30
  4. **No assumptions** - Uncertain? Check specification. Still uncertain? Stop and ask.
29
31
  5. **Commit after green** - Every passing test = commit point.
30
32
 
33
+ **Pragmatic TDD**: The discipline is test-first sequencing, not artificial minimalism. Write complete, functional implementations - don't fake it with hardcoded returns. "Minimal" means no gold-plating beyond what the test requires.
34
+
35
+ See **[tdd-workflow.md](references/tdd-workflow.md)** for the full TDD cycle, violation recovery, and guidance on when tests can change.
36
+
31
37
  ## Workflow
32
38
 
33
39
  ### IMPORTANT: Setup Instructions
@@ -50,24 +56,20 @@ Complete ALL setup steps before proceeding to implementation work.
50
56
  - Load the output adapter: `skills/technical-planning/references/output-{format}.md`
51
57
  - Follow the **Implementation** section for how to read tasks and update progress
52
58
 
53
- 3. **Validate scope** (if specific phase or task was requested)
59
+ 3. **Read the TDD workflow** - Load **[tdd-workflow.md](references/tdd-workflow.md)** before writing any code. This is mandatory.
60
+
61
+ 4. **Validate scope** (if specific phase or task was requested)
54
62
  - If the requested phase or task doesn't exist in the plan, STOP immediately
55
63
  - Ask the user for clarification - don't assume or proceed with a different scope
56
64
  - Wait for the user to either correct the scope or ask you to stop
57
65
 
58
- 4. **For each phase**:
59
- - Announce phase start
60
- - Review phase acceptance criteria
61
- - For each task:
62
- - Derive test from task's micro acceptance criteria
63
- - Write failing test
64
- - Implement minimal code to pass
65
- - Refactor if needed (only when green)
66
- - Commit
66
+ 5. **For each phase**:
67
+ - Announce phase start and review acceptance criteria
68
+ - For each task: follow the TDD cycle loaded in step 3
67
69
  - Verify all phase acceptance criteria met
68
70
  - **Ask user before proceeding to next phase**
69
71
 
70
- 5. **Reference specification** when rationale unclear
72
+ 6. **Reference specification** when rationale unclear
71
73
 
72
74
  ## Progress Announcements
73
75
 
@@ -62,7 +62,7 @@ Each output adapter contains prerequisites and installation instructions for tha
62
62
 
63
63
  ## Example Setup Document
64
64
 
65
- ```markdown
65
+ ````markdown
66
66
  # Environment Setup
67
67
 
68
68
  Instructions for setting up the implementation environment.
@@ -100,4 +100,4 @@ Run tests to verify setup:
100
100
  ```bash
101
101
  php artisan test
102
102
  ```
103
- ```
103
+ ````
@@ -21,7 +21,7 @@ Plans live in `docs/workflow/planning/{topic}.md` with phases and tasks.
21
21
 
22
22
  For each phase:
23
23
  1. Announce phase start with acceptance criteria
24
- 2. For each task: derive test write failing test → implement → commit
24
+ 2. For each task: follow the TDD cycle in **[tdd-workflow.md](tdd-workflow.md)**
25
25
  3. Verify all acceptance criteria met
26
26
  4. **Wait for user confirmation before next phase**
27
27
 
@@ -8,56 +8,76 @@
8
8
 
9
9
  RED → GREEN → REFACTOR → COMMIT
10
10
 
11
- Repeat for each task.
11
+ Repeat for each task. **Never skip steps. Never reorder.**
12
+
13
+ ### Pragmatic TDD
14
+
15
+ This is pragmatic TDD, not purist. The mandatory discipline is **test-first sequencing**:
16
+ - You MUST write a failing test before implementation
17
+ - You MUST see it fail for the right reason
18
+ - You MUST NOT change tests to make broken code pass
19
+
20
+ But write **complete, functional implementations** - don't artificially minimize with hardcoded returns or fake values that you'll "fix later". "Minimal" means no gold-plating beyond what the test requires, not "return 42 and triangulate".
21
+
22
+ ## TDD Violation Recovery
23
+
24
+ **If you catch yourself violating TDD, stop immediately and recover:**
25
+
26
+ | Violation | Recovery |
27
+ |-----------|----------|
28
+ | Wrote code before test | DELETE the code. Write the failing test. Then rewrite the code. |
29
+ | Multiple failing tests | Comment out all but one. Fix that one. Uncomment next. |
30
+ | Test passes immediately | Suspicious. Verify the test actually exercises your code. Check for false positives. |
31
+ | Changed test to make code pass | REVERT the test change. Fix the implementation instead. |
32
+ | "While I'm here" improvement | STOP. Is it in the plan? No? Don't do it. |
33
+
34
+ **These are not suggestions. Skipping recovery corrupts the entire TDD discipline.**
12
35
 
13
36
  ## RED: Write Failing Test
14
37
 
15
38
  1. Read task's micro acceptance criteria
16
39
  2. Write test asserting that behavior
17
- 3. Run test - must fail
18
- 4. Verify it fails for the right reason
40
+ 3. Run test - **MUST fail**
41
+ 4. Verify it fails for the **right reason** (not syntax error, not missing import)
19
42
 
20
43
  **Derive tests from plan**: Task's micro acceptance becomes your first test. Edge cases become additional tests.
21
44
 
22
45
  **Write test names first**: List all test names before writing bodies. Confirm coverage matches acceptance criteria.
23
46
 
24
- ## GREEN: Minimal Implementation
47
+ **No implementation code exists yet.** If you're tempted to "just sketch out the class first" - don't. The test comes first. Always.
25
48
 
26
- Write the simplest code that passes:
27
- - No extra features
49
+ ## GREEN: Implementation
50
+
51
+ Write complete, functional code that passes:
52
+ - No extra features beyond what the test requires
28
53
  - No "while I'm here" improvements
29
54
  - No edge cases not yet tested
30
55
 
31
- If you think "I should also handle X" - stop. Write a test for X first.
56
+ If you think "I should also handle X" - STOP. Write a test for X first.
32
57
 
33
- **One test at a time**: Write → Pass → Commit → Next
58
+ **One test at a time**: Write test Run (fails) Implement → Run (passes) → Commit → Next
34
59
 
35
60
  ## REFACTOR: Only When Green
36
61
 
37
62
  **Do**: Remove duplication, improve naming, extract methods
38
63
  **Don't**: Touch code outside current task, optimize prematurely
39
64
 
40
- Run tests after. If they fail, undo.
65
+ Run tests after. If they fail, undo the refactor.
41
66
 
42
67
  ## COMMIT: After Every Green
43
68
 
44
- Commit with descriptive message referencing the task.
69
+ Commit with descriptive message referencing the task. This is non-negotiable - it creates recovery points.
45
70
 
46
71
  ## When Tests CAN Change
47
72
 
48
- - Genuine bug in test
49
- - Tests implementation not behavior
73
+ - Genuine bug in test logic
74
+ - Test asserts implementation details, not behavior
50
75
  - Missing setup/fixtures
51
76
 
52
77
  ## When Tests CANNOT Change
53
78
 
54
- - To make broken code pass (fix the code)
55
- - To avoid difficult work (the test is the requirement)
56
- - To skip temporarily (fix or escalate)
57
-
58
- ## Red Flags
79
+ - To make broken code pass → **fix the code**
80
+ - To avoid difficult implementation → **the test IS the requirement**
81
+ - To skip temporarily → **fix it now or escalate**
59
82
 
60
- - Wrote code before test delete code, write test first
61
- - Multiple failing tests → work on one at a time
62
- - Test passes immediately → investigate
63
- - Changing tests frequently → design unclear, review plan
83
+ Changing a test to pass is admitting the implementation is wrong and hiding it. Don't.