@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.
- package/agents/review-task-verifier.md +22 -10
- package/package.json +1 -1
- package/skills/link-dependencies/SKILL.md +60 -33
- package/skills/start-discussion/references/display-options.md +44 -15
- package/skills/start-discussion/references/gather-context-continue.md +2 -0
- package/skills/start-discussion/references/gather-context-fresh.md +6 -0
- package/skills/start-discussion/references/gather-context-research.md +2 -2
- package/skills/start-implementation/SKILL.md +114 -47
- package/skills/start-planning/SKILL.md +19 -133
- package/skills/start-planning/references/cross-cutting-context.md +50 -0
- package/skills/start-planning/references/display-state.md +109 -0
- package/skills/start-planning/references/invoke-skill.md +29 -0
- package/skills/start-research/references/gather-context.md +4 -4
- package/skills/start-review/SKILL.md +14 -123
- package/skills/start-review/references/display-plans.md +103 -0
- package/skills/start-review/references/invoke-skill.md +32 -0
- package/skills/start-review/references/select-plans.md +41 -0
- package/skills/start-specification/references/analysis-flow.md +2 -0
- package/skills/start-specification/references/confirm-continue.md +21 -1
- package/skills/start-specification/references/confirm-create.md +15 -1
- package/skills/start-specification/references/confirm-refine.md +9 -1
- package/skills/start-specification/references/confirm-unify.md +12 -0
- package/skills/start-specification/references/display-analyze.md +21 -2
- package/skills/start-specification/references/display-blocks.md +11 -6
- package/skills/start-specification/references/display-groupings.md +20 -13
- package/skills/start-specification/references/display-single-grouped.md +13 -6
- package/skills/start-specification/references/display-single-has-spec.md +15 -7
- package/skills/start-specification/references/display-single-no-spec.md +13 -9
- package/skills/start-specification/references/display-single.md +0 -2
- package/skills/start-specification/references/display-specs-menu.md +21 -6
- package/skills/status/SKILL.md +155 -38
- package/skills/status/scripts/discovery.sh +420 -0
- package/skills/technical-implementation/SKILL.md +14 -6
- package/skills/technical-implementation/references/steps/analysis-loop.md +12 -6
- package/skills/technical-implementation/references/steps/task-loop.md +12 -6
- package/skills/technical-planning/SKILL.md +8 -4
- package/skills/technical-planning/references/steps/analyze-task-graph.md +8 -4
- package/skills/technical-planning/references/steps/author-tasks.md +4 -2
- package/skills/technical-planning/references/steps/define-phases.md +4 -2
- package/skills/technical-planning/references/steps/define-tasks.md +4 -2
- package/skills/technical-planning/references/steps/plan-construction.md +4 -2
- package/skills/technical-planning/references/steps/resolve-dependencies.md +4 -2
- package/skills/technical-planning/references/steps/review-integrity.md +4 -2
- package/skills/technical-planning/references/steps/review-traceability.md +4 -2
- package/skills/technical-research/SKILL.md +4 -2
- package/skills/technical-review/references/invoke-task-verifiers.md +37 -47
- package/skills/technical-specification/references/specification-guide.md +11 -3
- 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. {
|
|
17
|
-
└─ Spec:
|
|
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
|
-
|
|
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 "{
|
|
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. {
|
|
23
|
-
└─ Spec: {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
package/skills/status/SKILL.md
CHANGED
|
@@ -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.
|
|
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:
|
|
22
|
+
## Step 1: Discovery State
|
|
22
23
|
|
|
23
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
142
|
+
**Rules:**
|
|
71
143
|
|
|
72
|
-
|
|
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
|
-
|
|
148
|
+
### 2e: Unlinked Discussions
|
|
75
149
|
|
|
76
|
-
|
|
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
|
-
|
|
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
|
|
85
|
-
-
|
|
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")
|