@leeovery/claude-technical-workflows 2.0.17 → 2.0.18

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.17",
3
+ "version": "2.0.18",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -43,6 +43,8 @@ Either way: Transform specifications into actionable phases, tasks, and acceptan
43
43
 
44
44
  **Commit frequently**: Commit at natural breaks, after significant exchanges, and before any context refresh. Context refresh = lost work.
45
45
 
46
- **Never invent reasoning**: If it's not in the specification, ask again.
46
+ **Never invent reasoning**: If it's not in the specification, ask again. The specification is the golden document - all plan content must trace back to it.
47
47
 
48
48
  **Create plans, not code**: Your job is phases, tasks, and acceptance criteria - not implementation.
49
+
50
+ **Collaborate with the user**: Planning is iterative. Stop and ask when the specification is ambiguous, multiple valid approaches exist, or you're uncertain about task scope. The user expects collaboration - don't guess when you can ask.
@@ -10,6 +10,20 @@ You are creating the formal implementation plan from the specification.
10
10
 
11
11
  **Confirm output format with user.** Ask which format they want, then load the appropriate output adapter from the main skill file. If you don't know which format, ask.
12
12
 
13
+ ## Planning is Collaborative
14
+
15
+ Planning is an iterative process between you and the user. The specification contains validated, considered decisions - planning translates that work into actionable structure. But translation still requires judgment, and the user should guide that judgment.
16
+
17
+ **Stop, reflect, and ask** when:
18
+ - The specification is ambiguous about implementation approach
19
+ - Multiple valid ways to structure phases or tasks exist
20
+ - You're uncertain whether a task is appropriately scoped
21
+ - Edge cases aren't fully addressed in the specification
22
+
23
+ **Never invent to fill gaps.** If the specification doesn't address something, use `[needs-info]` and ask the user. The specification is the golden document - everything in the plan must trace back to it.
24
+
25
+ **The user expects collaboration.** Planning doesn't have to be done by the agent alone. It's normal and encouraged to pause for guidance rather than guess.
26
+
13
27
  ## The Planning Process
14
28
 
15
29
  ### 1. Read Specification
@@ -86,13 +100,91 @@ Verify:
86
100
 
87
101
  ## Task Design
88
102
 
89
- **Each task should**:
90
- - Be a single TDD cycle
91
- - Have micro acceptance (specific test name)
92
- - Do one clear thing
93
-
94
103
  **One task = One TDD cycle**: write test → implement → pass → commit
95
104
 
105
+ ### Task Structure
106
+
107
+ Every task should follow this structure:
108
+
109
+ ```markdown
110
+ ### Task N: [Clear action statement]
111
+
112
+ **Problem**: Why this task exists - what issue or gap it addresses.
113
+
114
+ **Solution**: What we're building - the high-level approach.
115
+
116
+ **Outcome**: What success looks like - the verifiable end state.
117
+
118
+ **Do**:
119
+ - Specific implementation steps
120
+ - File locations and method names where helpful
121
+ - Concrete guidance, not vague directions
122
+
123
+ **Acceptance Criteria**:
124
+ - [ ] First verifiable criterion
125
+ - [ ] Second verifiable criterion
126
+ - [ ] Edge case handling criterion
127
+
128
+ **Tests**:
129
+ - `"it does the primary expected behavior"`
130
+ - `"it handles edge case correctly"`
131
+ - `"it fails appropriately for invalid input"`
132
+
133
+ **Context**: (when relevant)
134
+ > Relevant details from specification: code examples, architectural decisions,
135
+ > data models, or constraints that inform implementation.
136
+ ```
137
+
138
+ ### Field Requirements
139
+
140
+ | Field | Required | Notes |
141
+ |-------|----------|-------|
142
+ | Problem | Yes | One sentence minimum - why this task exists |
143
+ | Solution | Yes | One sentence minimum - what we're building |
144
+ | Outcome | Yes | One sentence minimum - what success looks like |
145
+ | Do | Yes | At least one concrete action |
146
+ | Acceptance Criteria | Yes | At least one pass/fail criterion |
147
+ | Tests | Yes | At least one test name; include edge cases, not just happy path |
148
+ | Context | When relevant | Only include when spec has details worth pulling forward |
149
+
150
+ ### The Template as Quality Gate
151
+
152
+ If you struggle to articulate a clear Problem for a task, this signals the task may be:
153
+
154
+ - **Too granular**: Merge with a related task
155
+ - **Mechanical housekeeping**: Include as a step within another task
156
+ - **Poorly understood**: Revisit the specification
157
+
158
+ Every standalone task should have a reason to exist that can be stated simply. The template enforces this - difficulty completing it is diagnostic information, not a problem to work around.
159
+
160
+ ### Vertical Slicing
161
+
162
+ Prefer **vertical slices** that deliver complete, testable functionality over horizontal slices that separate by technical layer.
163
+
164
+ **Horizontal (avoid)**:
165
+ ```
166
+ Task 1: Create all database models
167
+ Task 2: Create all service classes
168
+ Task 3: Wire up integrations
169
+ Task 4: Add error handling
170
+ ```
171
+
172
+ Nothing works until Task 4. No task is independently verifiable.
173
+
174
+ **Vertical (prefer)**:
175
+ ```
176
+ Task 1: Fetch and store events from provider (happy path)
177
+ Task 2: Handle pagination for large result sets
178
+ Task 3: Handle authentication token refresh
179
+ Task 4: Handle rate limiting
180
+ ```
181
+
182
+ Each task delivers a complete slice of functionality that can be tested in isolation.
183
+
184
+ Within a bounded feature, vertical slicing means each task completes a coherent unit of that feature's functionality - not that it must touch UI/API/database layers. The test is: *can this task be verified independently?*
185
+
186
+ TDD naturally encourages vertical slicing - when you think "what test can I write?", you frame work as complete, verifiable behavior rather than technical layers
187
+
96
188
  ## Plan as Source of Truth
97
189
 
98
190
  The plan IS the source of truth. Every phase, every task must contain all information needed to execute it.