@leeovery/claude-technical-workflows 2.0.24 → 2.0.25

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.
@@ -39,12 +39,18 @@ Scan the codebase for specifications and plans:
39
39
  - Run `ls docs/workflow/specification/` to list specification files
40
40
  - Each file is named `{topic}.md`
41
41
 
42
- 2. **Check specification status**: For each specification file
43
- - Run `head -20 docs/workflow/specification/{topic}.md` to read the frontmatter and extract the `status:` field
42
+ 2. **Check specification metadata**: For each specification file
43
+ - Run `head -20 docs/workflow/specification/{topic}.md` to read the frontmatter
44
+ - Extract the `status:` field (Building specification | Complete)
45
+ - Extract the `type:` field (feature | cross-cutting) - if not present, default to `feature`
44
46
  - Do NOT use bash loops - run separate `head` commands for each topic
45
47
 
46
- 3. **Check for existing plans**: Look in `docs/workflow/planning/`
47
- - Identify specifications that don't have corresponding plans
48
+ 3. **Categorize specifications**:
49
+ - **Feature specifications** (`type: feature` or unspecified): Candidates for planning
50
+ - **Cross-cutting specifications** (`type: cross-cutting`): Reference context only - do NOT offer for planning
51
+
52
+ 4. **Check for existing plans**: Look in `docs/workflow/planning/`
53
+ - Identify feature specifications that don't have corresponding plans
48
54
 
49
55
  ## Step 2: Check Prerequisites
50
56
 
@@ -60,22 +66,29 @@ Stop here and wait for the user to acknowledge.
60
66
 
61
67
  ## Step 3: Present Options to User
62
68
 
63
- Show what you found using a list like below:
69
+ Show what you found, separating feature specs (planning targets) from cross-cutting specs (reference context):
64
70
 
65
71
  ```
66
- 📂 Specifications found:
72
+ 📂 Feature Specifications (planning targets):
67
73
  ⚠️ {topic-1} - Building specification - not ready for planning
68
74
  ✅ {topic-2} - Complete - ready for planning
69
75
  ✅ {topic-3} - Complete - plan exists
70
76
 
71
- Which specification would you like to create a plan for?
77
+ 📚 Cross-Cutting Specifications (reference context):
78
+ ✅ {caching-strategy} - Complete - will inform planning
79
+ ✅ {rate-limiting} - Complete - will inform planning
80
+
81
+ Which feature specification would you like to create a plan for?
72
82
  ```
73
83
 
74
- **Important:** Only completed specifications should proceed to planning. If a specification is still being built, advise the user to complete the specification phase first.
84
+ **Important:**
85
+ - Only completed **feature** specifications should proceed to planning
86
+ - **Cross-cutting** specifications are NOT planning targets - they inform feature plans
87
+ - If a specification is still being built, advise the user to complete the specification phase first
75
88
 
76
- **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.
89
+ **Auto-select:** If exactly one completed feature specification exists, automatically select it and proceed to Step 4. Inform the user which specification was selected. Do not ask for confirmation.
77
90
 
78
- Ask: **Which specification would you like to plan?**
91
+ Ask: **Which feature specification would you like to plan?**
79
92
 
80
93
  ## Step 4: Choose Output Destination
81
94
 
@@ -88,6 +101,26 @@ Load **[output-formats.md](../skills/technical-planning/references/output-format
88
101
  - Any additional context or priorities to consider?
89
102
  - Any constraints since the specification was completed?
90
103
 
104
+ ## Step 5b: Surface Cross-Cutting Context
105
+
106
+ If any **completed cross-cutting specifications** exist, surface them as reference context for planning:
107
+
108
+ 1. **List applicable cross-cutting specs**:
109
+ - Read each cross-cutting specification
110
+ - Identify which ones are relevant to the feature being planned
111
+ - Relevance is determined by topic overlap (e.g., caching strategy applies if the feature involves data retrieval or API calls)
112
+
113
+ 2. **Summarize for handoff**:
114
+ ```
115
+ Cross-cutting specifications to reference:
116
+ - caching-strategy.md: [brief summary of key decisions]
117
+ - rate-limiting.md: [brief summary of key decisions]
118
+ ```
119
+
120
+ These specifications contain validated architectural decisions that should inform the plan. The planning skill will incorporate these as a "Cross-Cutting References" section in the plan.
121
+
122
+ **If no cross-cutting specifications exist**: Skip this step.
123
+
91
124
  ## Step 6: Invoke the Skill
92
125
 
93
126
  After completing the steps above, this command's purpose is fulfilled.
@@ -100,6 +133,7 @@ Planning session for: {topic}
100
133
  Specification: docs/workflow/specification/{topic}.md
101
134
  Output format: {format}
102
135
  Additional context: {summary of user's answers from Step 5}
136
+ Cross-cutting references: {list of applicable cross-cutting specs with brief summaries, or "none"}
103
137
 
104
138
  Invoke the technical-planning skill.
105
139
  ```
@@ -107,4 +141,6 @@ Invoke the technical-planning skill.
107
141
  ## Notes
108
142
 
109
143
  - Ask questions clearly and wait for responses before proceeding
110
- - The specification is the sole source of truth for planning - do not reference discussions
144
+ - The feature specification is the primary source of truth for planning
145
+ - Cross-cutting specifications provide supplementary context for architectural decisions
146
+ - Do not reference discussions - only specifications
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.24",
3
+ "version": "2.0.25",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -22,9 +22,20 @@ Either way: Transform specifications into actionable phases, tasks, and acceptan
22
22
  - **Specification content** (required) - The validated decisions and requirements to plan from
23
23
  - **Topic name** (optional) - Will derive from specification if not provided
24
24
  - **Output format preference** (optional) - Will ask if not specified
25
+ - **Cross-cutting references** (optional) - List of cross-cutting specifications that inform this plan
25
26
 
26
27
  **If missing:** Will ask user for specification location or content.
27
28
 
29
+ ### Cross-Cutting References
30
+
31
+ If cross-cutting specifications are provided (e.g., caching strategy, rate limiting policy), incorporate their decisions into the plan:
32
+
33
+ 1. **Include a "Cross-Cutting References" section** in the plan linking to these specifications
34
+ 2. **Apply their patterns** when designing phases and tasks (e.g., if caching strategy says "cache API responses for 5 minutes", include that in relevant tasks)
35
+ 3. **Note where patterns apply** - when a task implements a cross-cutting pattern, reference it
36
+
37
+ Cross-cutting specifications are architectural decisions that inform HOW features are built. They don't have their own implementation plans - instead, their patterns are applied within feature plans.
38
+
28
39
  ## Source Material
29
40
 
30
41
  **The specification is your sole input.** Everything you need should be in the specification - do not request details from prior source material. If information is missing, ask for clarification on the specification itself.
@@ -88,6 +88,17 @@ Tasks are organized with labels/priorities:
88
88
 
89
89
  [Summary of key decisions from specification]
90
90
 
91
+ ## Cross-Cutting References
92
+
93
+ Architectural decisions from cross-cutting specifications that inform this plan:
94
+
95
+ | Specification | Key Decisions | Applies To |
96
+ |---------------|---------------|------------|
97
+ | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
98
+ | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
99
+
100
+ *Remove this section if no cross-cutting specifications apply.*
101
+
91
102
  ## External Dependencies
92
103
 
93
104
  [Dependencies on other topics - copy from specification's Dependencies section]
@@ -269,6 +269,17 @@ This plan is managed via Beads. Tasks are stored in `.beads/` and tracked as a d
269
269
 
270
270
  [Summary of key decisions from specification]
271
271
 
272
+ ## Cross-Cutting References
273
+
274
+ Architectural decisions from cross-cutting specifications that inform this plan:
275
+
276
+ | Specification | Key Decisions | Applies To |
277
+ |---------------|---------------|------------|
278
+ | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
279
+ | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
280
+
281
+ *Remove this section if no cross-cutting specifications apply.*
282
+
272
283
  ## Phase Overview
273
284
 
274
285
  | Phase | Goal | Epic ID |
@@ -179,6 +179,17 @@ This plan is managed in Linear. The source of truth for tasks and progress is th
179
179
 
180
180
  [Summary of key decisions from specification - for quick reference]
181
181
 
182
+ ## Cross-Cutting References
183
+
184
+ Architectural decisions from cross-cutting specifications that inform this plan:
185
+
186
+ | Specification | Key Decisions | Applies To |
187
+ |---------------|---------------|------------|
188
+ | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
189
+ | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
190
+
191
+ *Remove this section if no cross-cutting specifications apply.*
192
+
182
193
  ## External Dependencies
183
194
 
184
195
  [Dependencies on other topics - copy from specification's Dependencies section]
@@ -54,6 +54,17 @@ format: local-markdown
54
54
  - Decision 1: Rationale
55
55
  - Decision 2: Rationale
56
56
 
57
+ ## Cross-Cutting References
58
+
59
+ Architectural decisions from cross-cutting specifications that inform this plan:
60
+
61
+ | Specification | Key Decisions | Applies To |
62
+ |---------------|---------------|------------|
63
+ | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min; use Redis | Tasks involving API calls |
64
+ | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user; sliding window | User-facing endpoints |
65
+
66
+ *Remove this section if no cross-cutting specifications apply.*
67
+
57
68
  ## Architecture
58
69
 
59
70
  - Components
@@ -146,6 +146,7 @@ Suggested skeleton:
146
146
  # Specification: [Topic Name]
147
147
 
148
148
  **Status**: Building specification
149
+ **Type**: feature | cross-cutting
149
150
  **Last Updated**: YYYY-MM-DD *(use today's actual date)*
150
151
 
151
152
  ---
@@ -161,6 +162,73 @@ Suggested skeleton:
161
162
  [Optional - capture in-progress discussion if needed]
162
163
  ```
163
164
 
165
+ ## Specification Types
166
+
167
+ The `Type` field distinguishes between specifications that result in standalone implementation work versus those that inform how other work is done.
168
+
169
+ ### Feature Specifications (`type: feature`)
170
+
171
+ Feature specifications describe something to **build** - a concrete piece of functionality with its own implementation plan.
172
+
173
+ **Examples:**
174
+ - User authentication system
175
+ - Order processing pipeline
176
+ - Notification service
177
+ - Dashboard analytics
178
+
179
+ **Characteristics:**
180
+ - Results in a dedicated implementation plan
181
+ - Has concrete deliverables (code, APIs, UI)
182
+ - Can be planned with phases, tasks, and acceptance criteria
183
+ - Progress is measurable ("the feature is done")
184
+
185
+ **This is the default type.** If not specified, assume `feature`.
186
+
187
+ ### Cross-Cutting Specifications (`type: cross-cutting`)
188
+
189
+ Cross-cutting specifications describe **patterns, policies, or architectural decisions** that inform how features are built. They don't result in standalone implementation - instead, they're referenced by feature specifications and plans.
190
+
191
+ **Examples:**
192
+ - Caching strategy
193
+ - Rate limiting policy
194
+ - Error handling conventions
195
+ - Logging and observability standards
196
+ - API versioning approach
197
+ - Security patterns
198
+
199
+ **Characteristics:**
200
+ - Does NOT result in a dedicated implementation plan
201
+ - Defines "how to do things" rather than "what to build"
202
+ - Referenced by multiple feature specifications
203
+ - Implementation happens within features that apply these patterns
204
+ - No standalone "done" state - the patterns are applied across features
205
+
206
+ ### Why This Matters
207
+
208
+ Cross-cutting specifications go through the same Research → Discussion → Specification phases. The decisions are just as important to validate and document. The difference is what happens after:
209
+
210
+ - **Feature specs** → Planning → Implementation → Review
211
+ - **Cross-cutting specs** → Referenced by feature plans → Applied during feature implementation
212
+
213
+ When planning a feature, the planning process surfaces relevant cross-cutting specifications as context. This ensures that a "user authentication" plan incorporates the validated caching strategy and error handling conventions.
214
+
215
+ ### Determining the Type
216
+
217
+ Ask: **"Is there a standalone thing to build, or does this inform how we build other things?"**
218
+
219
+ | Question | Feature | Cross-Cutting |
220
+ |----------|---------|---------------|
221
+ | Can you demo it when done? | Yes - "here's the login page" | No - it's invisible infrastructure |
222
+ | Does it have its own UI/API/data? | Yes | No - lives within other features |
223
+ | Can you plan phases and tasks for it? | Yes | Tasks would be "apply X to feature Y" |
224
+ | Is it used by one feature or many? | Usually one | By definition, multiple |
225
+
226
+ **Edge cases:**
227
+ - A "caching service" that provides shared caching infrastructure → **Feature** (you're building something)
228
+ - "How we use caching across the app" → **Cross-cutting** (policy/pattern)
229
+ - Authentication system → **Feature**
230
+ - Authentication patterns and security requirements → **Cross-cutting**
231
+
164
232
  ## Critical Rules
165
233
 
166
234
  **EXPLICIT APPROVAL REQUIRED FOR EVERY WRITE**: You MUST NOT write to the specification until the user has explicitly approved. "Presenting" is not approval. "Asking a question" is not approval. You need explicit confirmation. If uncertain, ASK. This rule is non-negotiable.
@@ -344,8 +412,61 @@ When you've:
344
412
 
345
413
  ## Completion
346
414
 
415
+ ### Step 1: Determine Specification Type
416
+
417
+ Before asking for sign-off, assess whether this is a **feature** or **cross-cutting** specification:
418
+
419
+ **Feature specification** - Something to build:
420
+ - Has concrete deliverables (code, APIs, UI)
421
+ - Can be planned with phases, tasks, acceptance criteria
422
+ - Results in a standalone implementation
423
+
424
+ **Cross-cutting specification** - Patterns/policies that inform other work:
425
+ - Defines "how to do things" rather than "what to build"
426
+ - Will be referenced by multiple feature specifications
427
+ - Implementation happens within features that apply these patterns
428
+
429
+ Present your assessment to the user:
430
+
431
+ > "This specification appears to be a **[feature/cross-cutting]** specification.
432
+ >
433
+ > [Brief rationale - e.g., "It defines a caching strategy that will inform how multiple features handle data retrieval, rather than being a standalone piece of functionality to build."]
434
+ >
435
+ > - **Feature specs** proceed to planning and implementation
436
+ > - **Cross-cutting specs** are referenced by feature plans but don't have their own implementation plan
437
+ >
438
+ > Does this assessment seem correct?"
439
+
440
+ Wait for user confirmation before proceeding.
441
+
442
+ ### Step 2: Sign-Off
443
+
444
+ Once the type is confirmed, ask for final sign-off:
445
+
446
+ > "The specification is ready for sign-off:
447
+ > - **Type**: [feature/cross-cutting]
448
+ > - **Status**: Complete
449
+ >
450
+ > [If feature]: This specification can proceed to planning
451
+ > [If cross-cutting]: This specification will be surfaced as reference context when planning features
452
+ >
453
+ > Ready to mark as complete?"
454
+
455
+ ### Step 3: Update Frontmatter
456
+
457
+ After user confirms, update the specification frontmatter:
458
+
459
+ ```markdown
460
+ # Specification: [Topic Name]
461
+
462
+ **Status**: Complete
463
+ **Type**: [feature/cross-cutting]
464
+ **Last Updated**: YYYY-MM-DD
465
+ ```
466
+
347
467
  Specification is complete when:
348
468
  - All topics/phases have validated content
469
+ - Type has been determined and confirmed
349
470
  - User confirms the specification is complete
350
471
  - No blocking gaps remain
351
472