claude-code-workflow 7.2.14 → 7.2.15
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/.claude/commands/workflow/analyze-with-file.md +7 -0
- package/.codex/skills/analyze-with-file/SKILL.md +1181 -1182
- package/.codex/skills/brainstorm/SKILL.md +723 -725
- package/.codex/skills/brainstorm-with-file/SKILL.md +10 -5
- package/.codex/skills/clean/SKILL.md +33 -26
- package/.codex/skills/collaborative-plan-with-file/SKILL.md +830 -831
- package/.codex/skills/csv-wave-pipeline/SKILL.md +906 -906
- package/.codex/skills/issue-discover/SKILL.md +57 -50
- package/.codex/skills/issue-discover/phases/01-issue-new.md +18 -11
- package/.codex/skills/issue-discover/phases/02-discover.md +31 -26
- package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +13 -11
- package/.codex/skills/issue-discover/phases/04-quick-execute.md +32 -27
- package/.codex/skills/parallel-dev-cycle/SKILL.md +402 -402
- package/.codex/skills/project-documentation-workflow/SKILL.md +13 -3
- package/.codex/skills/roadmap-with-file/SKILL.md +901 -897
- package/.codex/skills/session-sync/SKILL.md +222 -212
- package/.codex/skills/spec-add/SKILL.md +620 -613
- package/.codex/skills/spec-generator/SKILL.md +2 -2
- package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +10 -10
- package/.codex/skills/spec-generator/phases/01-discovery.md +11 -18
- package/.codex/skills/spec-generator/phases/02-product-brief.md +5 -5
- package/.codex/skills/spec-generator/phases/03-requirements.md +7 -7
- package/.codex/skills/spec-generator/phases/04-architecture.md +4 -4
- package/.codex/skills/spec-generator/phases/05-epics-stories.md +5 -6
- package/.codex/skills/spec-generator/phases/06-readiness-check.md +10 -17
- package/.codex/skills/spec-generator/phases/07-issue-export.md +326 -329
- package/.codex/skills/spec-setup/SKILL.md +669 -657
- package/.codex/skills/team-arch-opt/SKILL.md +50 -50
- package/.codex/skills/team-arch-opt/agents/completion-handler.md +3 -3
- package/.codex/skills/team-brainstorm/SKILL.md +724 -725
- package/.codex/skills/team-coordinate/SKILL.md +51 -51
- package/.codex/skills/team-coordinate/agents/completion-handler.md +3 -3
- package/.codex/skills/team-coordinate/agents/plan-reviewer.md +4 -4
- package/.codex/skills/team-designer/SKILL.md +691 -691
- package/.codex/skills/team-designer/agents/requirement-clarifier.md +11 -12
- package/.codex/skills/team-executor/SKILL.md +45 -45
- package/.codex/skills/team-frontend/SKILL.md +45 -45
- package/.codex/skills/team-frontend/agents/completion-handler.md +3 -3
- package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +4 -4
- package/.codex/skills/team-frontend-debug/SKILL.md +50 -50
- package/.codex/skills/team-frontend-debug/agents/completion-handler.md +3 -3
- package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +4 -4
- package/.codex/skills/team-issue/SKILL.md +751 -740
- package/.codex/skills/team-iterdev/SKILL.md +825 -826
- package/.codex/skills/team-lifecycle-v4/SKILL.md +775 -775
- package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -165
- package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -163
- package/.codex/skills/team-perf-opt/SKILL.md +50 -50
- package/.codex/skills/team-perf-opt/agents/completion-handler.md +3 -3
- package/.codex/skills/team-planex-v2/SKILL.md +652 -637
- package/.codex/skills/team-quality-assurance/SKILL.md +51 -52
- package/.codex/skills/team-review/SKILL.md +40 -40
- package/.codex/skills/team-roadmap-dev/SKILL.md +51 -51
- package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +8 -8
- package/.codex/skills/team-tech-debt/SKILL.md +50 -50
- package/.codex/skills/team-tech-debt/agents/plan-approver.md +5 -5
- package/.codex/skills/team-testing/SKILL.md +51 -52
- package/.codex/skills/team-uidesign/SKILL.md +40 -40
- package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -177
- package/.codex/skills/team-ultra-analyze/SKILL.md +786 -787
- package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +8 -8
- package/.codex/skills/team-ux-improve/SKILL.md +51 -52
- package/.codex/skills/team-ux-improve/agents/ux-designer.md +2 -2
- package/.codex/skills/team-ux-improve/agents/ux-explorer.md +1 -1
- package/.codex/skills/unified-execute-with-file/SKILL.md +797 -796
- package/.codex/skills/workflow-execute/SKILL.md +1117 -1118
- package/.codex/skills/workflow-lite-planex/SKILL.md +1144 -1141
- package/.codex/skills/workflow-plan/SKILL.md +631 -636
- package/.codex/skills/workflow-tdd-plan/SKILL.md +753 -759
- package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -392
- package/README.md +25 -0
- package/ccw/dist/commands/install.d.ts.map +1 -1
- package/ccw/dist/commands/install.js +12 -0
- package/ccw/dist/commands/install.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: spec-generator
|
|
3
3
|
description: Specification generator - 7 phase document chain producing product brief, PRD, architecture, epics, and issues. Agent-delegated heavy phases (2-5, 6.5) with Codex review gates. Triggers on "generate spec", "create specification", "spec generator", "workflow:spec".
|
|
4
|
-
allowed-tools: Agent,
|
|
4
|
+
allowed-tools: Agent, request_user_input, TaskCreate, TaskUpdate, TaskList, Read, Write, Edit, Bash, Glob, Grep, Skill
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Spec Generator
|
|
@@ -260,7 +260,7 @@ Bash(`mkdir -p "${workDir}"`);
|
|
|
260
260
|
3. **Auto-Continue**: All phases run autonomously; check TaskList to execute next pending phase
|
|
261
261
|
4. **Parse Every Output**: Extract required data from each phase for next phase context
|
|
262
262
|
5. **DO NOT STOP**: Continuous 7-phase pipeline until all phases complete or user exits
|
|
263
|
-
6. **Respect -y Flag**: When auto mode, skip all
|
|
263
|
+
6. **Respect -y Flag**: When auto mode, skip all request_user_input calls, use recommended defaults
|
|
264
264
|
7. **Respect -c Flag**: When continue mode, load spec-config.json and resume from checkpoint
|
|
265
265
|
8. **Inject Glossary**: From Phase 3 onward, inject glossary.json terms into every CLI prompt
|
|
266
266
|
9. **Load Profile**: Read templates/profiles/{spec_type}-profile.md and inject requirements into Phase 2-5 prompts
|
|
@@ -140,12 +140,12 @@ while (!userSatisfied && requirementState.discussion_rounds < 5) {
|
|
|
140
140
|
// Format questions and suggestions from gapAnalysis for display
|
|
141
141
|
// Present as a structured summary to the user
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
request_user_input({
|
|
144
144
|
questions: [
|
|
145
145
|
{
|
|
146
|
-
question: buildDiscussionPrompt(gapAnalysis, requirementState),
|
|
147
146
|
header: "Req Expand",
|
|
148
|
-
|
|
147
|
+
id: "req_expand",
|
|
148
|
+
question: buildDiscussionPrompt(gapAnalysis, requirementState),
|
|
149
149
|
options: [
|
|
150
150
|
{ label: "I'll answer", description: "I have answers/feedback to provide (type in 'Other')" },
|
|
151
151
|
{ label: "Accept all suggestions", description: "Accept all expansion recommendations as-is" },
|
|
@@ -194,12 +194,12 @@ CONSTRAINTS: 避免重复已回答的问题,聚焦未覆盖的领域
|
|
|
194
194
|
// If status === "ready_for_confirmation", break to confirmation step
|
|
195
195
|
// If status === "need_more_discussion", present follow-up questions
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
request_user_input({
|
|
198
198
|
questions: [
|
|
199
199
|
{
|
|
200
|
-
question: buildFollowUpPrompt(followUpAnalysis, requirementState),
|
|
201
200
|
header: "Follow-up",
|
|
202
|
-
|
|
201
|
+
id: "follow_up",
|
|
202
|
+
question: buildFollowUpPrompt(followUpAnalysis, requirementState),
|
|
203
203
|
options: [
|
|
204
204
|
{ label: "I'll answer", description: "I have more feedback (type in 'Other')" },
|
|
205
205
|
{ label: "Looks good", description: "Requirements are sufficiently clear now" },
|
|
@@ -300,14 +300,14 @@ if (!autoMode) {
|
|
|
300
300
|
// Build confirmation summary from requirementState
|
|
301
301
|
const summary = buildConfirmationSummary(requirementState);
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
request_user_input({
|
|
304
304
|
questions: [
|
|
305
305
|
{
|
|
306
|
-
question: `## Requirement Confirmation\n\n${summary}\n\nConfirm and proceed to specification generation?`,
|
|
307
306
|
header: "Confirm",
|
|
308
|
-
|
|
307
|
+
id: "confirm",
|
|
308
|
+
question: `## Requirement Confirmation\n\n${summary}\n\nConfirm and proceed to specification generation?`,
|
|
309
309
|
options: [
|
|
310
|
-
{ label: "Confirm & proceed", description: "Requirements confirmed, start spec generation" },
|
|
310
|
+
{ label: "Confirm & proceed(Recommended)", description: "Requirements confirmed, start spec generation" },
|
|
311
311
|
{ label: "Need adjustments", description: "Go back and refine further" }
|
|
312
312
|
]
|
|
313
313
|
}
|
|
@@ -159,42 +159,35 @@ Schema:
|
|
|
159
159
|
```javascript
|
|
160
160
|
if (!autoMode) {
|
|
161
161
|
// Confirm problem statement and select depth
|
|
162
|
-
|
|
162
|
+
request_user_input({
|
|
163
163
|
questions: [
|
|
164
164
|
{
|
|
165
|
-
question: `Problem statement: "${seedAnalysis.problem_statement}" - Is this accurate?`,
|
|
166
165
|
header: "Problem",
|
|
167
|
-
|
|
166
|
+
id: "problem",
|
|
167
|
+
question: `Problem statement: "${seedAnalysis.problem_statement}" - Is this accurate?`,
|
|
168
168
|
options: [
|
|
169
|
-
{ label: "Accurate", description: "Proceed with this problem statement" },
|
|
169
|
+
{ label: "Accurate(Recommended)", description: "Proceed with this problem statement" },
|
|
170
170
|
{ label: "Needs adjustment", description: "I'll refine the problem statement" }
|
|
171
171
|
]
|
|
172
172
|
},
|
|
173
173
|
{
|
|
174
|
-
question: "What specification depth do you need?",
|
|
175
174
|
header: "Depth",
|
|
176
|
-
|
|
175
|
+
id: "depth",
|
|
176
|
+
question: "What specification depth do you need?",
|
|
177
177
|
options: [
|
|
178
|
+
{ label: "Standard(Recommended)", description: "Balanced detail for most projects" },
|
|
178
179
|
{ label: "Light", description: "Quick overview - key decisions only" },
|
|
179
|
-
{ label: "Standard (Recommended)", description: "Balanced detail for most projects" },
|
|
180
180
|
{ label: "Comprehensive", description: "Maximum detail for complex/critical projects" }
|
|
181
181
|
]
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
|
-
question: "Which areas should we focus on?",
|
|
185
|
-
header: "Focus",
|
|
186
|
-
multiSelect: true,
|
|
187
|
-
options: seedAnalysis.dimensions.map(d => ({ label: d, description: `Explore ${d} in depth` }))
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
question: "What type of specification is this?",
|
|
191
184
|
header: "Spec Type",
|
|
192
|
-
|
|
185
|
+
id: "spec_type",
|
|
186
|
+
question: "What type of specification is this?",
|
|
193
187
|
options: [
|
|
194
|
-
{ label: "Service
|
|
188
|
+
{ label: "Service(Recommended)", description: "Long-running service with lifecycle, state machine, observability" },
|
|
195
189
|
{ label: "API", description: "REST/GraphQL API with endpoints, auth, rate limiting" },
|
|
196
|
-
{ label: "Library/SDK", description: "Reusable package with public API surface, examples" }
|
|
197
|
-
{ label: "Platform", description: "Multi-component system, uses Service profile" }
|
|
190
|
+
{ label: "Library/SDK", description: "Reusable package with public API surface, examples" }
|
|
198
191
|
]
|
|
199
192
|
}
|
|
200
193
|
]
|
|
@@ -174,18 +174,18 @@ const synthesis = {
|
|
|
174
174
|
```javascript
|
|
175
175
|
if (!autoMode) {
|
|
176
176
|
// Present synthesis summary to user
|
|
177
|
-
//
|
|
177
|
+
// request_user_input with:
|
|
178
178
|
// - Confirm vision statement
|
|
179
179
|
// - Resolve any conflicts between perspectives
|
|
180
180
|
// - Adjust scope if needed
|
|
181
|
-
|
|
181
|
+
request_user_input({
|
|
182
182
|
questions: [
|
|
183
183
|
{
|
|
184
|
-
question: "Review the synthesized product brief. Any adjustments needed?",
|
|
185
184
|
header: "Review",
|
|
186
|
-
|
|
185
|
+
id: "review",
|
|
186
|
+
question: "Review the synthesized product brief. Any adjustments needed?",
|
|
187
187
|
options: [
|
|
188
|
-
{ label: "Looks good", description: "Proceed to PRD generation" },
|
|
188
|
+
{ label: "Looks good(Recommended)", description: "Proceed to PRD generation" },
|
|
189
189
|
{ label: "Adjust scope", description: "Narrow or expand the scope" },
|
|
190
190
|
{ label: "Revise vision", description: "Refine the vision statement" }
|
|
191
191
|
]
|
|
@@ -123,24 +123,24 @@ CONSTRAINTS: Be genuinely critical. Focus on requirements that would block imple
|
|
|
123
123
|
if (!autoMode) {
|
|
124
124
|
// Present requirements grouped by initial priority
|
|
125
125
|
// Allow user to adjust MoSCoW labels
|
|
126
|
-
|
|
126
|
+
request_user_input({
|
|
127
127
|
questions: [
|
|
128
128
|
{
|
|
129
|
-
question: "Review the Must-Have requirements. Any that should be reprioritized?",
|
|
130
129
|
header: "Must-Have",
|
|
131
|
-
|
|
130
|
+
id: "must_have",
|
|
131
|
+
question: "Review the Must-Have requirements. Any that should be reprioritized?",
|
|
132
132
|
options: [
|
|
133
|
-
{ label: "All correct", description: "Must-have requirements are accurate" },
|
|
133
|
+
{ label: "All correct(Recommended)", description: "Must-have requirements are accurate" },
|
|
134
134
|
{ label: "Too many", description: "Some should be Should/Could" },
|
|
135
135
|
{ label: "Missing items", description: "Some Should requirements should be Must" }
|
|
136
136
|
]
|
|
137
137
|
},
|
|
138
138
|
{
|
|
139
|
-
question: "What is the target MVP scope?",
|
|
140
139
|
header: "MVP Scope",
|
|
141
|
-
|
|
140
|
+
id: "mvp_scope",
|
|
141
|
+
question: "What is the target MVP scope?",
|
|
142
142
|
options: [
|
|
143
|
-
{ label: "Must-Have only
|
|
143
|
+
{ label: "Must-Have only(Recommended)", description: "MVP includes only Must requirements" },
|
|
144
144
|
{ label: "Must + key Should", description: "Include critical Should items in MVP" },
|
|
145
145
|
{ label: "Comprehensive", description: "Include all Must and Should" }
|
|
146
146
|
]
|
|
@@ -154,14 +154,14 @@ CONSTRAINTS: Be genuinely critical, not just validating. Focus on actionable imp
|
|
|
154
154
|
if (!autoMode) {
|
|
155
155
|
// Present ADRs with review feedback to user
|
|
156
156
|
// For each ADR where review raised concerns:
|
|
157
|
-
|
|
157
|
+
request_user_input({
|
|
158
158
|
questions: [
|
|
159
159
|
{
|
|
160
|
-
question: "Architecture review raised concerns. How should we proceed?",
|
|
161
160
|
header: "ADR Review",
|
|
162
|
-
|
|
161
|
+
id: "adr_review",
|
|
162
|
+
question: "Architecture review raised concerns. How should we proceed?",
|
|
163
163
|
options: [
|
|
164
|
-
{ label: "Accept as-is", description: "Architecture is sound, proceed" },
|
|
164
|
+
{ label: "Accept as-is(Recommended)", description: "Architecture is sound, proceed" },
|
|
165
165
|
{ label: "Incorporate feedback", description: "Adjust ADRs based on review" },
|
|
166
166
|
{ label: "Simplify", description: "Reduce complexity, fewer components" }
|
|
167
167
|
]
|
|
@@ -133,17 +133,16 @@ CONSTRAINTS: Focus on issues that would block execution planning. Be specific ab
|
|
|
133
133
|
```javascript
|
|
134
134
|
if (!autoMode) {
|
|
135
135
|
// Present Epic overview table and dependency diagram
|
|
136
|
-
|
|
136
|
+
request_user_input({
|
|
137
137
|
questions: [
|
|
138
138
|
{
|
|
139
|
-
question: "Review the Epic breakdown. Any adjustments needed?",
|
|
140
139
|
header: "Epics",
|
|
141
|
-
|
|
140
|
+
id: "epics",
|
|
141
|
+
question: "Review the Epic breakdown. Any adjustments needed?",
|
|
142
142
|
options: [
|
|
143
|
-
{ label: "Looks good", description: "Epic structure is appropriate" },
|
|
143
|
+
{ label: "Looks good(Recommended)", description: "Epic structure is appropriate" },
|
|
144
144
|
{ label: "Merge epics", description: "Some epics should be combined" },
|
|
145
|
-
{ label: "Split epic", description: "An epic is too large, needs splitting" }
|
|
146
|
-
{ label: "Adjust MVP", description: "Change which epics are in MVP" }
|
|
145
|
+
{ label: "Split epic", description: "An epic is too large, needs splitting" }
|
|
147
146
|
]
|
|
148
147
|
}
|
|
149
148
|
]
|
|
@@ -312,28 +312,20 @@ Write(`${workDir}/spec-config.json`, JSON.stringify(specConfig, null, 2));
|
|
|
312
312
|
### Step 6: Handoff Options
|
|
313
313
|
|
|
314
314
|
```javascript
|
|
315
|
-
|
|
315
|
+
request_user_input({
|
|
316
316
|
questions: [
|
|
317
317
|
{
|
|
318
|
-
question: "Specification package is complete. What would you like to do next?",
|
|
319
318
|
header: "Next Step",
|
|
320
|
-
|
|
319
|
+
id: "next_step",
|
|
320
|
+
question: "Specification package is complete. What would you like to do next?",
|
|
321
321
|
options: [
|
|
322
322
|
{
|
|
323
|
-
label: "
|
|
324
|
-
description: "
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
label: "Create roadmap",
|
|
328
|
-
description: "Generate execution roadmap with /workflow:req-plan-with-file"
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
label: "Full planning",
|
|
332
|
-
description: "Detailed planning with /workflow-plan for the full scope"
|
|
323
|
+
label: "Export Issues(Recommended)",
|
|
324
|
+
description: "Create issues per Epic with spec links and wave assignment (Phase 7)"
|
|
333
325
|
},
|
|
334
326
|
{
|
|
335
|
-
label: "
|
|
336
|
-
description: "
|
|
327
|
+
label: "Execute via lite-plan",
|
|
328
|
+
description: "Start implementing with /workflow-lite-plan, one Epic at a time"
|
|
337
329
|
},
|
|
338
330
|
{
|
|
339
331
|
label: "Iterate & improve",
|
|
@@ -344,7 +336,8 @@ AskUserQuestion({
|
|
|
344
336
|
]
|
|
345
337
|
});
|
|
346
338
|
|
|
347
|
-
// Based on user selection, execute the corresponding handoff:
|
|
339
|
+
// Based on user selection (answer.answers.next_step.answers[0]), execute the corresponding handoff:
|
|
340
|
+
const selection = answer.answers.next_step.answers[0];
|
|
348
341
|
|
|
349
342
|
if (selection === "Execute via lite-plan") {
|
|
350
343
|
// lite-plan accepts a text description directly
|
|
@@ -489,7 +482,7 @@ ${extractSection(epicContent, "Architecture")}
|
|
|
489
482
|
}
|
|
490
483
|
}
|
|
491
484
|
|
|
492
|
-
if (selection === "Export Issues
|
|
485
|
+
if (selection === "Export Issues(Recommended)") {
|
|
493
486
|
// Proceed to Phase 7: Issue Export
|
|
494
487
|
// Read phases/07-issue-export.md and execute
|
|
495
488
|
}
|