@leeovery/claude-technical-workflows 2.1.24 → 2.1.26

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.
Files changed (48) hide show
  1. package/agents/review-task-verifier.md +22 -10
  2. package/package.json +1 -1
  3. package/skills/link-dependencies/SKILL.md +60 -33
  4. package/skills/start-discussion/references/display-options.md +44 -15
  5. package/skills/start-discussion/references/gather-context-continue.md +2 -0
  6. package/skills/start-discussion/references/gather-context-fresh.md +6 -0
  7. package/skills/start-discussion/references/gather-context-research.md +2 -2
  8. package/skills/start-implementation/SKILL.md +114 -47
  9. package/skills/start-planning/SKILL.md +19 -133
  10. package/skills/start-planning/references/cross-cutting-context.md +50 -0
  11. package/skills/start-planning/references/display-state.md +109 -0
  12. package/skills/start-planning/references/invoke-skill.md +29 -0
  13. package/skills/start-research/references/gather-context.md +4 -4
  14. package/skills/start-review/SKILL.md +14 -123
  15. package/skills/start-review/references/display-plans.md +103 -0
  16. package/skills/start-review/references/invoke-skill.md +32 -0
  17. package/skills/start-review/references/select-plans.md +41 -0
  18. package/skills/start-specification/references/analysis-flow.md +2 -0
  19. package/skills/start-specification/references/confirm-continue.md +21 -1
  20. package/skills/start-specification/references/confirm-create.md +15 -1
  21. package/skills/start-specification/references/confirm-refine.md +9 -1
  22. package/skills/start-specification/references/confirm-unify.md +12 -0
  23. package/skills/start-specification/references/display-analyze.md +21 -2
  24. package/skills/start-specification/references/display-blocks.md +11 -6
  25. package/skills/start-specification/references/display-groupings.md +20 -13
  26. package/skills/start-specification/references/display-single-grouped.md +13 -6
  27. package/skills/start-specification/references/display-single-has-spec.md +15 -7
  28. package/skills/start-specification/references/display-single-no-spec.md +13 -9
  29. package/skills/start-specification/references/display-single.md +0 -2
  30. package/skills/start-specification/references/display-specs-menu.md +21 -6
  31. package/skills/status/SKILL.md +155 -38
  32. package/skills/status/scripts/discovery.sh +420 -0
  33. package/skills/technical-implementation/SKILL.md +14 -6
  34. package/skills/technical-implementation/references/steps/analysis-loop.md +12 -6
  35. package/skills/technical-implementation/references/steps/task-loop.md +12 -6
  36. package/skills/technical-planning/SKILL.md +8 -4
  37. package/skills/technical-planning/references/steps/analyze-task-graph.md +8 -4
  38. package/skills/technical-planning/references/steps/author-tasks.md +4 -2
  39. package/skills/technical-planning/references/steps/define-phases.md +4 -2
  40. package/skills/technical-planning/references/steps/define-tasks.md +4 -2
  41. package/skills/technical-planning/references/steps/plan-construction.md +4 -2
  42. package/skills/technical-planning/references/steps/resolve-dependencies.md +4 -2
  43. package/skills/technical-planning/references/steps/review-integrity.md +4 -2
  44. package/skills/technical-planning/references/steps/review-traceability.md +4 -2
  45. package/skills/technical-research/SKILL.md +4 -2
  46. package/skills/technical-review/references/invoke-task-verifiers.md +37 -47
  47. package/skills/technical-specification/references/specification-guide.md +11 -3
  48. package/skills/view-plan/SKILL.md +3 -1
@@ -8,46 +8,50 @@ No specification exists for this discussion.
8
8
 
9
9
  ## Display
10
10
 
11
+ > *Output the next fenced block as a code block:*
12
+
11
13
  ```
12
14
  Specification Overview
13
15
 
14
16
  Single concluded discussion found.
15
17
 
16
- 1. {Title Case Name}
17
- └─ Spec: none
18
+ 1. {topic:(titlecase)}
19
+ └─ Spec: (no spec)
18
20
  └─ Discussions:
19
21
  └─ {discussion-name} (ready)
20
22
  ```
21
23
 
22
- **Output in a fenced code block exactly as shown above.**
23
-
24
24
  ### If in-progress discussions exist
25
25
 
26
+ > *Output the next fenced block as a code block:*
27
+
26
28
  ```
27
29
  Discussions not ready for specification:
28
30
  These discussions are still in progress and must be concluded
29
31
  before they can be included in a specification.
30
- · {discussion-name} (in-progress)
32
+
33
+ • {discussion-name}
31
34
  ```
32
35
 
33
36
  ### Key/Legend
34
37
 
35
38
  No `---` separator before this section.
36
39
 
40
+ > *Output the next fenced block as a code block:*
41
+
37
42
  ```
38
43
  Key:
39
44
 
40
45
  Discussion status:
41
46
  ready — concluded and available to be specified
42
-
43
- Spec status:
44
- none — no specification file exists yet
45
47
  ```
46
48
 
47
49
  ## After Display
48
50
 
51
+ > *Output the next fenced block as a code block:*
52
+
49
53
  ```
50
- Automatically proceeding with "{Title Case Name}".
54
+ Automatically proceeding with "{topic:(titlecase)}".
51
55
  ```
52
56
 
53
57
  Auto-proceed with verb **"Creating"**.
@@ -6,8 +6,6 @@
6
6
 
7
7
  Auto-proceed path — only one concluded discussion exists, so no selection menu is needed.
8
8
 
9
- Convert discussion filename to title case (`auth-flow` → `Auth Flow`).
10
-
11
9
  ## Route by Spec Coverage
12
10
 
13
11
  Check if a spec covers this discussion — either by name match (`has_individual_spec`) or by listing it in a spec's `sources` array.
@@ -8,6 +8,8 @@ Shows when multiple concluded discussions exist, specifications exist, and cache
8
8
 
9
9
  ## A. Display
10
10
 
11
+ > *Output the next fenced block as a code block:*
12
+
11
13
  ```
12
14
  Specification Overview
13
15
 
@@ -18,16 +20,16 @@ Existing specifications:
18
20
 
19
21
  For each non-superseded specification from discovery output, display as nested tree:
20
22
 
23
+ > *Output the next fenced block as a code block:*
24
+
21
25
  ```
22
- 1. {Spec Title Case Name}
23
- └─ Spec: {status} ({X} of {Y} sources extracted)
26
+ 1. {topic:(titlecase)}
27
+ └─ Spec: {spec_status:[in-progress|concluded]} ({X} of {Y} sources extracted)
24
28
  └─ Discussions:
25
29
  ├─ {source-name} (extracted)
26
30
  └─ {source-name} (extracted)
27
31
  ```
28
32
 
29
- **Output in a fenced code block exactly as shown above.**
30
-
31
33
  Determine discussion status from the spec's `sources` array:
32
34
  - `incorporated` + `discussion_status: concluded` or `not-found` → `extracted`
33
35
  - `incorporated` + `discussion_status: other` (e.g. `in-progress`) → `extracted, reopened`
@@ -39,6 +41,8 @@ Extraction count: X = sources with `status: incorporated`, Y = total source coun
39
41
 
40
42
  List concluded discussions that are not in any specification's `sources` array:
41
43
 
44
+ > *Output the next fenced block as a code block:*
45
+
42
46
  ```
43
47
  Concluded discussions not in a specification:
44
48
  • {discussion-name}
@@ -47,17 +51,22 @@ Concluded discussions not in a specification:
47
51
 
48
52
  ### If in-progress discussions exist
49
53
 
54
+ > *Output the next fenced block as a code block:*
55
+
50
56
  ```
51
57
  Discussions not ready for specification:
52
58
  These discussions are still in progress and must be concluded
53
59
  before they can be included in a specification.
54
- · {discussion-name} (in-progress)
60
+
61
+ • {discussion-name}
55
62
  ```
56
63
 
57
64
  ### Key/Legend
58
65
 
59
66
  Show only the statuses that appear in the current display. No `---` separator before this section.
60
67
 
68
+ > *Output the next fenced block as a code block:*
69
+
61
70
  ```
62
71
  Key:
63
72
 
@@ -76,12 +85,16 @@ No `---` separator before these messages.
76
85
 
77
86
  #### If cache status is "none"
78
87
 
88
+ > *Output the next fenced block as a code block:*
89
+
79
90
  ```
80
91
  No grouping analysis exists.
81
92
  ```
82
93
 
83
94
  #### If cache status is "stale"
84
95
 
96
+ > *Output the next fenced block as a code block:*
97
+
85
98
  ```
86
99
  A previous grouping analysis exists but is outdated — discussions
87
100
  have changed since it was created. Re-analysis is required.
@@ -101,6 +114,8 @@ List "Analyze for groupings (recommended)" first, then one entry per existing no
101
114
 
102
115
  **Example assembled menu** (2 specs exist):
103
116
 
117
+ > *Output the next fenced block as markdown (not a code block):*
118
+
104
119
  ```
105
120
  · · · · · · · · · · · ·
106
121
  1. Analyze for groupings (recommended)
@@ -114,7 +129,7 @@ Select an option (enter number):
114
129
  · · · · · · · · · · · ·
115
130
  ```
116
131
 
117
- **Output in a fenced code block exactly as shown above.**
132
+ Recreate with actual topics and states from discovery.
118
133
 
119
134
  Menu descriptions are wrapped in backticks to visually distinguish them from the choice labels.
120
135
 
@@ -2,6 +2,7 @@
2
2
  name: status
3
3
  description: "Show workflow status - what exists, where you are, and what to do next."
4
4
  disable-model-invocation: true
5
+ allowed-tools: Bash(.claude/skills/status/scripts/discovery.sh)
5
6
  ---
6
7
 
7
8
  Show the current state of the workflow for this project.
@@ -12,74 +13,190 @@ Show the current state of the workflow for this project.
12
13
 
13
14
  Invoke the `/migrate` skill and assess its output.
14
15
 
15
- **If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
16
+ **If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1.
16
17
 
17
18
  **If no updates needed**: Proceed to Step 1.
18
19
 
19
20
  ---
20
21
 
21
- ## Step 1: Scan Directories
22
+ ## Step 1: Discovery State
22
23
 
23
- Check for files in each workflow directory:
24
+ !`.claude/skills/status/scripts/discovery.sh`
24
25
 
26
+ If the above shows a script invocation rather than YAML output, the dynamic content preprocessor did not run. Execute the script before continuing:
27
+
28
+ ```bash
29
+ .claude/skills/status/scripts/discovery.sh
25
30
  ```
26
- docs/workflow/research/
27
- docs/workflow/discussion/
28
- docs/workflow/specification/
29
- docs/workflow/planning/
30
- ```
31
+
32
+ If YAML content is already displayed, it has been run on your behalf.
33
+
34
+ Parse the discovery output. **IMPORTANT**: Use ONLY this script for discovery. Do NOT run additional bash commands (ls, head, cat, etc.) to gather state.
35
+
36
+ → Proceed to **Step 2**.
37
+
38
+ ---
31
39
 
32
40
  ## Step 2: Present Status
33
41
 
34
- Research is project-wide exploration. From discussion onwards, work is organised by **topic** - different topics may be at different stages.
42
+ Build the display from discovery data. Only show sections for phases that have content.
43
+
44
+ **CRITICAL**: Entities don't flow one-to-one across phases. Multiple discussions may combine into one specification, topic names may change between phases, and specs may be superseded. The display must make these relationships visible — primarily through the specification's `sources` array.
35
45
 
36
- Show a summary like this:
46
+ ### 2a: Summary
37
47
 
48
+ > *Output the next fenced block as a code block:*
49
+
50
+ ```
51
+ Workflow Status
52
+
53
+ Research: {count} file(s)
54
+ Discussion: {count} ({concluded} concluded, {in_progress} in-progress)
55
+ Specification: {active} active ({feature} feature, {crosscutting} cross-cutting)
56
+ Planning: {count} ({concluded} concluded, {in_progress} in-progress)
57
+ Implementation: {count} ({completed} completed, {in_progress} in-progress)
38
58
  ```
39
- ## Workflow Status
40
59
 
41
- **Research:** 2 files (exploration.md, market-analysis.md)
60
+ Only show lines for phases that have content. If a phase has zero items but a later phase has content, show the line as `(none)` to highlight the gap.
61
+
62
+ #### If no workflow content exists at all
42
63
 
43
- **Topics:**
64
+ > *Output the next fenced block as a code block:*
44
65
 
45
- | Topic | Discussion | Spec | Plan | Implemented |
46
- |--------------|------------|------|------|-------------|
47
- | auth-system | ✓ | ✓ | ✓ | in progress |
48
- | payment-flow | ✓ | ✓ | - | - |
49
- | notifications| ✓ | - | - | - |
50
66
  ```
67
+ Workflow Status
51
68
 
52
- Adapt based on what exists:
53
- - If a directory is empty or missing, show "Not started"
54
- - For planning, note the output format if specified in frontmatter
55
- - Match topics across phases by filename
69
+ No workflow files found in docs/workflow/
56
70
 
57
- ## Step 3: Suggest Next Steps
71
+ Start with /start-research to explore ideas,
72
+ or /start-discussion if you already know what to build.
73
+ ```
74
+
75
+ **STOP.** Do not proceed — terminal condition.
76
+
77
+ ### 2b: Specifications
78
+
79
+ Show if any specifications exist. This is the most important section — it reveals many-to-one relationships between discussions and specifications.
80
+
81
+ > *Output the next fenced block as a code block:*
82
+
83
+ ```
84
+ Specifications
85
+
86
+ 1. {name:(titlecase)} ({status})
87
+ └─ Sources: {src1} ({src1_status}), {src2} ({src2_status})
88
+
89
+ 2. ...
90
+ ```
91
+
92
+ **Rules:**
93
+
94
+ - Each numbered item is an active (non-superseded) specification
95
+ - Show `(cross-cutting)` after status for cross-cutting specs; omit type label for feature specs
96
+ - Sources come from the spec's `sources` array — show all with their incorporation status
97
+ - If a spec has no sources, show `└─ Sources: (none)`
98
+ - Blank line between numbered items
99
+ - If superseded specs exist, show after the numbered list:
100
+
101
+ ```
102
+ Superseded:
103
+ • {name} → {superseded_by}
104
+ ```
105
+
106
+ ### 2c: Plans
107
+
108
+ Show if any plans exist.
109
+
110
+ > *Output the next fenced block as a code block:*
58
111
 
59
- Based on what exists, offer relevant options. Don't assume linear progression - topics may have dependencies on each other.
112
+ ```
113
+ Plans
114
+
115
+ 1. {name:(titlecase)} ({status})
116
+ └─ Spec: {specification_name}
117
+
118
+ 2. ...
119
+ ```
120
+
121
+ **Rules:**
122
+
123
+ - Map raw `planning` status to `in-progress` in the display
124
+ - Show spec name without `.md` extension
125
+ - If `has_unresolved_deps`, add line: `└─ Blocked: {dep_topic}:{dep_task_id} ({dep_state})`
126
+
127
+ ### 2d: Implementation
128
+
129
+ Show if any implementations exist.
60
130
 
61
- **If nothing exists:**
62
- - "Start with `/start-research` to explore ideas, or `/start-discussion` if you already know what you're building."
131
+ > *Output the next fenced block as a code block:*
63
132
 
64
- **If topics exist at various stages**, summarise options without being prescriptive:
65
- - Topics in discussion can move to specification
66
- - Topics with specs can move to planning
67
- - Topics with plans can move to implementation
68
- - Completed implementations can be reviewed
133
+ ```
134
+ Implementation
135
+
136
+ 1. {topic:(titlecase)} ({status})
137
+ └─ Phase {current_phase}, {completed_tasks}/{total_tasks} tasks done
138
+
139
+ 2. ...
140
+ ```
69
141
 
70
- Example: "auth-system has a plan ready. payment-flow needs a spec before planning. You might want to complete planning for related topics before implementing if there are dependencies."
142
+ **Rules:**
71
143
 
72
- Keep suggestions brief - the user knows their project's dependencies better than we do.
144
+ - `not-started` `└─ Not started`
145
+ - `in-progress` → phase and task progress; if `total_tasks` is 0, show `{completed_tasks} tasks done` without denominator
146
+ - `completed` → `└─ Complete`
73
147
 
74
- ## Step 4: Mention Plan Viewing
148
+ ### 2e: Unlinked Discussions
75
149
 
76
- If planning files exist, let the user know they can view plan details:
150
+ Derive which discussions are NOT referenced in any active (non-superseded) specification's `sources` array. Show only if unlinked discussions exist.
151
+
152
+ > *Output the next fenced block as a code block:*
77
153
 
78
154
  ```
79
- To view a plan's tasks and progress, use /view-plan
155
+ Discussions not yet in a specification:
156
+
157
+ • {name} ({status})
80
158
  ```
81
159
 
160
+ ### 2f: Key
161
+
162
+ Show if the display uses statuses that benefit from explanation. Only include statuses actually shown. No `---` separator before this section.
163
+
164
+ > *Output the next fenced block as a code block:*
165
+
166
+ ```
167
+ Key:
168
+
169
+ Status:
170
+ in-progress — work is ongoing
171
+ concluded — complete, ready for next step
172
+ superseded — replaced by another specification
173
+
174
+ Spec type:
175
+ cross-cutting — architectural policy, not directly plannable
176
+ ```
177
+
178
+ Omit categories with no entries.
179
+
180
+ ---
181
+
182
+ ## Step 3: Suggest Next Steps
183
+
184
+ Based on gaps in the workflow, briefly suggest 2-3 most relevant actions:
185
+
186
+ - Concluded discussions not in any spec → `/start-specification`
187
+ - In-progress specs → finish with `/start-specification`
188
+ - Concluded feature specs without plans → `/start-planning`
189
+ - Concluded plans not yet implemented → `/start-implementation`
190
+ - Completed implementations → `/start-review`
191
+
192
+ If plans exist, mention `/view-plan` for detailed plan viewing.
193
+
194
+ Keep suggestions brief — the user knows their project better than we do.
195
+
82
196
  ## Notes
83
197
 
84
- - Keep output concise - this is a quick status check
85
- - Use tables for scannable information
198
+ - Keep output scannable this is a status check, not a deep analysis
199
+ - Discussions may appear in multiple specifications' sources
200
+ - A discussion not appearing in any active spec's sources is "unlinked"
201
+ - Research files are project-wide, not topic-specific
202
+ - Topic names may differ across phases (e.g., discussions "auth-flow" and "session-mgmt" may combine into specification "auth-system")