@leeovery/claude-technical-workflows 2.0.8 → 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 +42 -18
- package/commands/start-planning.md +2 -0
- package/package.json +1 -1
- package/skills/technical-implementation/SKILL.md +14 -12
- package/skills/technical-implementation/references/environment-setup.md +2 -2
- package/skills/technical-implementation/references/plan-execution.md +1 -1
- package/skills/technical-implementation/references/tdd-workflow.md +41 -21
package/README.md
CHANGED
|
@@ -5,25 +5,16 @@
|
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<a href="#
|
|
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
|
-
##
|
|
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
|
-
|
|
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,13 +90,30 @@ Run the command directly or ask Claude to run it. Each command gathers the conte
|
|
|
84
90
|
|
|
85
91
|
## Installation
|
|
86
92
|
|
|
87
|
-
|
|
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 |
|
|
97
|
+
|
|
98
|
+
### Option 1: Claude Marketplace
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/plugin marketplace add leeovery/claude-plugins-marketplace
|
|
102
|
+
/plugin install claude-technical-workflows@claude-plugins-marketplace
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Skills are cached globally. They won't be available in Claude Code for Web since files aren't in your repository.
|
|
106
|
+
|
|
107
|
+
### Option 2: npm
|
|
88
108
|
|
|
89
109
|
```bash
|
|
90
110
|
npm install -D @leeovery/claude-technical-workflows
|
|
91
111
|
```
|
|
92
112
|
|
|
93
|
-
|
|
113
|
+
Skills are copied to `.claude/` and can be committed—giving you ownership and making them available everywhere including Claude Code for Web.
|
|
114
|
+
|
|
115
|
+
<details>
|
|
116
|
+
<summary>pnpm users</summary>
|
|
94
117
|
|
|
95
118
|
pnpm doesn't expose binaries from transitive dependencies, so install the manager directly:
|
|
96
119
|
|
|
@@ -99,16 +122,17 @@ pnpm add -D @leeovery/claude-manager @leeovery/claude-technical-workflows
|
|
|
99
122
|
pnpm approve-builds # approve when prompted
|
|
100
123
|
pnpm install # triggers postinstall
|
|
101
124
|
```
|
|
125
|
+
</details>
|
|
102
126
|
|
|
103
|
-
|
|
127
|
+
<details>
|
|
128
|
+
<summary>Removal (npm/pnpm)</summary>
|
|
104
129
|
|
|
105
130
|
Due to bugs in npm 7+ ([issue #3042](https://github.com/npm/cli/issues/3042)) and pnpm ([issue #3276](https://github.com/pnpm/pnpm/issues/3276)), preuninstall hooks don't run reliably. Remove files manually first:
|
|
106
131
|
|
|
107
132
|
```bash
|
|
108
133
|
npx claude-manager remove @leeovery/claude-technical-workflows && npm rm @leeovery/claude-technical-workflows
|
|
109
134
|
```
|
|
110
|
-
|
|
111
|
-
The [Claude Manager](https://github.com/leeovery/claude-manager) copies skills, commands, and agents to `.claude/` automatically.
|
|
135
|
+
</details>
|
|
112
136
|
|
|
113
137
|
## The Six-Phase Workflow
|
|
114
138
|
|
|
@@ -56,6 +56,8 @@ Which specification would you like to create a plan for?
|
|
|
56
56
|
|
|
57
57
|
**Important:** Only completed specifications should proceed to planning. If a specification is still being built, advise the user to complete the specification phase first.
|
|
58
58
|
|
|
59
|
+
**Auto-select:** If exactly one specification exists, automatically select it and proceed to Step 4. Inform the user which specification was selected. Do not ask for confirmation.
|
|
60
|
+
|
|
59
61
|
Ask: **Which specification would you like to plan?**
|
|
60
62
|
|
|
61
63
|
## Step 4: Choose Output Destination
|
package/package.json
CHANGED
|
@@ -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** -
|
|
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. **
|
|
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
|
-
|
|
59
|
-
- Announce phase start
|
|
60
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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 -
|
|
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
|
-
|
|
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
|
-
|
|
27
|
-
|
|
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" -
|
|
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 →
|
|
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
|
-
-
|
|
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
|
|
55
|
-
- To avoid difficult
|
|
56
|
-
- To skip temporarily
|
|
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
|
-
|
|
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.
|