claude-code-workflow 6.3.53 → 6.3.54

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 (24) hide show
  1. package/.claude/agents/action-planning-agent.md +26 -1
  2. package/.claude/commands/flow-create.md +675 -0
  3. package/.claude/commands/workflow/plan.md +14 -1
  4. package/.claude/commands/workflow/tools/task-generate-agent.md +35 -24
  5. package/.claude/commands/workflow/unified-execute-with-file.md +0 -15
  6. package/.claude/skills/flow-coordinator/SKILL.md +394 -0
  7. package/.claude/skills/flow-coordinator/templates/analyze.json +16 -0
  8. package/.claude/skills/flow-coordinator/templates/brainstorm-to-issue.json +36 -0
  9. package/.claude/skills/flow-coordinator/templates/brainstorm.json +16 -0
  10. package/.claude/skills/flow-coordinator/templates/bugfix-hotfix.json +16 -0
  11. package/.claude/skills/flow-coordinator/templates/bugfix.json +47 -0
  12. package/.claude/skills/flow-coordinator/templates/coupled.json +71 -0
  13. package/.claude/skills/flow-coordinator/templates/debug.json +16 -0
  14. package/.claude/skills/flow-coordinator/templates/docs.json +27 -0
  15. package/.claude/skills/flow-coordinator/templates/full.json +61 -0
  16. package/.claude/skills/flow-coordinator/templates/issue.json +43 -0
  17. package/.claude/skills/flow-coordinator/templates/lite-lite-lite.json +16 -0
  18. package/.claude/skills/flow-coordinator/templates/multi-cli-plan.json +47 -0
  19. package/.claude/skills/flow-coordinator/templates/rapid-to-issue.json +46 -0
  20. package/.claude/skills/flow-coordinator/templates/rapid.json +47 -0
  21. package/.claude/skills/flow-coordinator/templates/review.json +43 -0
  22. package/.claude/skills/flow-coordinator/templates/tdd.json +34 -0
  23. package/.claude/skills/flow-coordinator/templates/test-fix.json +26 -0
  24. package/package.json +92 -92
@@ -119,7 +119,7 @@ CONTEXT: Existing user database schema, REST API endpoints
119
119
  **After Phase 1**: Initialize planning-notes.md with user intent
120
120
 
121
121
  ```javascript
122
- // Create minimal planning notes document
122
+ // Create planning notes document with N+1 context support
123
123
  const planningNotesPath = `.workflow/active/${sessionId}/planning-notes.md`
124
124
  const userGoal = structuredDescription.goal
125
125
  const userConstraints = structuredDescription.context || "None specified"
@@ -144,6 +144,19 @@ Write(planningNotesPath, `# Planning Notes
144
144
 
145
145
  ## Consolidated Constraints (Phase 4 Input)
146
146
  1. ${userConstraints}
147
+
148
+ ---
149
+
150
+ ## Task Generation (Phase 4)
151
+ (To be filled by action-planning-agent)
152
+
153
+ ## N+1 Context
154
+ ### Decisions
155
+ | Decision | Rationale | Revisit? |
156
+ |----------|-----------|----------|
157
+
158
+ ### Deferred
159
+ - [ ] (For N+1)
147
160
  `)
148
161
  ```
149
162
 
@@ -378,16 +378,26 @@ Hard Constraints:
378
378
  - Return completion status with document count and task breakdown summary
379
379
 
380
380
  ## PLANNING NOTES RECORD (REQUIRED)
381
- After completing all documents, append a brief execution record to planning-notes.md:
381
+ After completing, update planning-notes.md:
382
382
 
383
383
  **File**: .workflow/active/{session_id}/planning-notes.md
384
- **Location**: Create new section after "## Consolidated Constraints"
385
- **Format**:
386
- \`\`\`
387
- ## Task Generation (Phase 4)
388
384
 
385
+ 1. **Task Generation (Phase 4)**: Task count and key tasks
386
+ 2. **N+1 Context**: Key decisions (with rationale) + deferred items
387
+
388
+ \`\`\`markdown
389
+ ## Task Generation (Phase 4)
389
390
  ### [Action-Planning Agent] YYYY-MM-DD
390
- - **Note**: [智能补充:简短总结任务数量、关键任务、依赖关系等]
391
+ - **Tasks**: [count] ([IDs])
392
+
393
+ ## N+1 Context
394
+ ### Decisions
395
+ | Decision | Rationale | Revisit? |
396
+ |----------|-----------|----------|
397
+ | [choice] | [why] | [Yes/No] |
398
+
399
+ ### Deferred
400
+ - [ ] [item] - [reason]
391
401
  \`\`\`
392
402
  `
393
403
  )
@@ -543,19 +553,13 @@ Hard Constraints:
543
553
  - Return: task count, task IDs, dependency summary (internal + cross-module)
544
554
 
545
555
  ## PLANNING NOTES RECORD (REQUIRED)
546
- After completing module task JSONs, append a brief execution record to planning-notes.md:
556
+ After completing, append to planning-notes.md:
547
557
 
548
- **File**: .workflow/active/{session_id}/planning-notes.md
549
- **Location**: Create new section after "## Consolidated Constraints" (if not exists)
550
- **Format**:
558
+ \`\`\`markdown
559
+ ### [${module.name}] YYYY-MM-DD
560
+ - **Tasks**: [count] ([IDs])
561
+ - **CROSS deps**: [placeholders used]
551
562
  \`\`\`
552
- ## Task Generation (Phase 4)
553
-
554
- ### [Action-Planning Agent - ${module.name}] YYYY-MM-DD
555
- - **Note**: [智能补充:简短总结本模块任务数量、关键任务等]
556
- \`\`\`
557
-
558
- **Note**: Multiple module agents will append their records. Phase 3 Integration Coordinator will add final summary.
559
563
  `
560
564
  )
561
565
  );
@@ -638,14 +642,21 @@ Module Count: ${modules.length}
638
642
  - Return: task count, per-module breakdown, resolved dependency count
639
643
 
640
644
  ## PLANNING NOTES RECORD (REQUIRED)
641
- After completing integration, append final summary to planning-notes.md:
645
+ After integration, update planning-notes.md:
642
646
 
643
- **File**: .workflow/active/{session_id}/planning-notes.md
644
- **Location**: Under "## Task Generation (Phase 4)" section (after module agent records)
645
- **Format**:
646
- \`\`\`
647
- ### [Integration Coordinator] YYYY-MM-DD
648
- - **Note**: [智能补充:简短总结总任务数、跨模块依赖解决情况等]
647
+ \`\`\`markdown
648
+ ### [Coordinator] YYYY-MM-DD
649
+ - **Total**: [count] tasks
650
+ - **Resolved**: [CROSS:: resolutions]
651
+
652
+ ## N+1 Context
653
+ ### Decisions
654
+ | Decision | Rationale | Revisit? |
655
+ |----------|-----------|----------|
656
+ | CROSS::X → IMPL-Y | [why this resolution] | [Yes/No] |
657
+
658
+ ### Deferred
659
+ - [ ] [unresolved CROSS or conflict] - [reason]
649
660
  \`\`\`
650
661
  `
651
662
  )
@@ -873,21 +873,6 @@ function calculateParallel(tasks) {
873
873
  | Agent unavailable | Fallback to universal-executor |
874
874
  | Execution interrupted | Support resume with `/workflow:unified-execute-with-file --continue` |
875
875
 
876
- ## Usage Recommendations
877
-
878
- Use `/workflow:unified-execute-with-file` when:
879
- - Executing any planning document (IMPL_PLAN.md, brainstorm conclusions, analysis recommendations)
880
- - Multiple tasks with dependencies need orchestration
881
- - Want minimal progress tracking without clutter
882
- - Need to handle failures gracefully and resume
883
- - Want to parallelize where possible but ensure correctness
884
-
885
- Use for consuming output from:
886
- - `/workflow:plan` → IMPL_PLAN.md
887
- - `/workflow:brainstorm-with-file` → synthesis.json → execution
888
- - `/workflow:analyze-with-file` → conclusions.json → execution
889
- - `/workflow:debug-with-file` → recommendations → execution
890
- - `/workflow:lite-plan` → task JSONs → execution
891
876
 
892
877
  ## Session Resume
893
878
 
@@ -0,0 +1,394 @@
1
+ ---
2
+ name: flow-coordinator
3
+ description: Template-driven workflow coordinator with minimal state tracking. Executes command chains from workflow templates with slash-command execution (mainprocess/async). Triggers on "flow-coordinator", "workflow template", "orchestrate".
4
+ allowed-tools: Task, AskUserQuestion, Read, Write, Bash, Glob, Grep
5
+ ---
6
+
7
+ # Flow Coordinator
8
+
9
+ Lightweight workflow coordinator that executes command chains from predefined templates, supporting slash-command execution with mainprocess (blocking) and async (background) modes.
10
+
11
+ ## Architecture
12
+
13
+ ```
14
+ User Task → Select Template → status.json Init → Execute Steps → Complete
15
+ ↑ │
16
+ └──────────────── Resume (from status.json) ─────┘
17
+
18
+ Step Execution:
19
+ execution mode?
20
+ ├─ mainprocess → SlashCommand (blocking, main process)
21
+ └─ async → ccw cli --tool claude --mode write (background)
22
+ ```
23
+
24
+ ## Core Concepts
25
+
26
+ **Template-Driven**: Workflows defined as JSON templates in `templates/`, decoupled from coordinator logic.
27
+
28
+ **Execution Type**: `slash-command` only
29
+ - ALL workflow commands (`/workflow:*`) use `slash-command` type
30
+ - Two execution modes:
31
+ - `mainprocess`: SlashCommand (blocking, main process)
32
+ - `async`: CLI background (ccw cli with claude tool)
33
+
34
+ **Dynamic Discovery**: Templates discovered at runtime via Glob, not hardcoded.
35
+
36
+ ---
37
+
38
+ ## Execution Flow
39
+
40
+ ```javascript
41
+ async function execute(task) {
42
+ // 1. Discover and select template
43
+ const templates = await discoverTemplates();
44
+ const template = await selectTemplate(templates);
45
+
46
+ // 2. Init status
47
+ const sessionId = `fc-${timestamp()}`;
48
+ const statusPath = `.workflow/.flow-coordinator/${sessionId}/status.json`;
49
+ const status = initStatus(template, task);
50
+ write(statusPath, JSON.stringify(status, null, 2));
51
+
52
+ // 3. Execute steps based on execution config
53
+ await executeSteps(status, statusPath);
54
+ }
55
+
56
+ async function executeSteps(status, statusPath) {
57
+ for (let i = status.current; i < status.steps.length; i++) {
58
+ const step = status.steps[i];
59
+ status.current = i;
60
+
61
+ // Execute based on step mode (all steps use slash-command type)
62
+ const execConfig = step.execution || { type: 'slash-command', mode: 'mainprocess' };
63
+
64
+ if (execConfig.mode === 'async') {
65
+ // Async execution - stop and wait for hook callback
66
+ await executeSlashCommandAsync(step, status, statusPath);
67
+ break;
68
+ } else {
69
+ // Mainprocess execution - continue immediately
70
+ await executeSlashCommandSync(step, status);
71
+ step.status = 'done';
72
+ write(statusPath, JSON.stringify(status, null, 2));
73
+ }
74
+ }
75
+
76
+ // All steps complete
77
+ if (status.current >= status.steps.length) {
78
+ status.complete = true;
79
+ write(statusPath, JSON.stringify(status, null, 2));
80
+ }
81
+ }
82
+ ```
83
+
84
+ ---
85
+
86
+ ## Template Discovery
87
+
88
+ **Dynamic query** - never hardcode template list:
89
+
90
+ ```javascript
91
+ async function discoverTemplates() {
92
+ // Discover all JSON templates
93
+ const files = Glob('*.json', { path: 'templates/' });
94
+
95
+ // Parse each template
96
+ const templates = [];
97
+ for (const file of files) {
98
+ const content = JSON.parse(Read(file));
99
+ templates.push({
100
+ name: content.name,
101
+ description: content.description,
102
+ steps: content.steps.map(s => s.cmd).join(' → '),
103
+ file: file
104
+ });
105
+ }
106
+
107
+ return templates;
108
+ }
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Template Selection
114
+
115
+ User chooses from discovered templates:
116
+
117
+ ```javascript
118
+ async function selectTemplate(templates) {
119
+ // Build options from discovered templates
120
+ const options = templates.slice(0, 4).map(t => ({
121
+ label: t.name,
122
+ description: t.steps
123
+ }));
124
+
125
+ const response = await AskUserQuestion({
126
+ questions: [{
127
+ question: 'Select workflow template:',
128
+ header: 'Template',
129
+ options: options,
130
+ multiSelect: false
131
+ }]
132
+ });
133
+
134
+ // Handle "Other" - show remaining templates or custom input
135
+ if (response.template === 'Other') {
136
+ return await selectFromRemainingTemplates(templates.slice(4));
137
+ }
138
+
139
+ return templates.find(t => t.name === response.template);
140
+ }
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Status Schema
146
+
147
+ **Creation**: Copy template JSON → Update `id`, `template`, `goal`, set all steps `status: "pending"`
148
+
149
+ **Location**: `.workflow/.flow-coordinator/{session-id}/status.json`
150
+
151
+ **Core Fields**:
152
+ - `id`: Session ID (fc-YYYYMMDD-HHMMSS)
153
+ - `template`: Template name
154
+ - `goal`: User task description
155
+ - `current`: Current step index
156
+ - `steps[]`: Step array from template (with runtime `status`, `session`, `taskId`)
157
+ - `complete`: All steps done?
158
+
159
+ **Step Status**: `pending` → `running` → `done` | `failed` | `skipped`
160
+
161
+ ---
162
+
163
+ ## Extended Template Schema
164
+
165
+ **Templates stored in**: `templates/*.json` (discovered at runtime via Glob)
166
+
167
+ **TemplateStep Fields**:
168
+ - `cmd`: Full command path (e.g., `/workflow:lite-plan`, `/workflow:execute`)
169
+ - `args?`: Arguments with `{{goal}}` and `{{prev}}` placeholders
170
+ - `unit?`: Minimum execution unit name (groups related commands)
171
+ - `optional?`: Can be skipped by user
172
+ - `execution`: Type and mode configuration
173
+ - `type`: Always `'slash-command'` (for all workflow commands)
174
+ - `mode`: `'mainprocess'` (blocking) or `'async'` (background)
175
+ - `contextHint?`: Natural language guidance for context assembly
176
+
177
+ **Template Example**:
178
+ ```json
179
+ {
180
+ "name": "rapid",
181
+ "steps": [
182
+ {
183
+ "cmd": "/workflow:lite-plan",
184
+ "args": "\"{{goal}}\"",
185
+ "unit": "quick-implementation",
186
+ "execution": { "type": "slash-command", "mode": "mainprocess" },
187
+ "contextHint": "Create lightweight implementation plan"
188
+ },
189
+ {
190
+ "cmd": "/workflow:lite-execute",
191
+ "args": "--in-memory",
192
+ "unit": "quick-implementation",
193
+ "execution": { "type": "slash-command", "mode": "async" },
194
+ "contextHint": "Execute plan from previous step"
195
+ }
196
+ ]
197
+ }
198
+ ```
199
+
200
+ ---
201
+
202
+ ## Execution Implementation
203
+
204
+ ### Mainprocess Mode (Blocking)
205
+
206
+ ```javascript
207
+ async function executeSlashCommandSync(step, status) {
208
+ // Build command: /workflow:cmd -y args
209
+ const cmd = buildCommand(step, status);
210
+ const result = await SlashCommand({ command: cmd });
211
+
212
+ step.session = result.session_id;
213
+ step.status = 'done';
214
+ return result;
215
+ }
216
+ ```
217
+
218
+ ### Async Mode (Background)
219
+
220
+ ```javascript
221
+ async function executeSlashCommandAsync(step, status, statusPath) {
222
+ // Build prompt: /workflow:cmd -y args + context
223
+ const prompt = buildCommandPrompt(step, status);
224
+
225
+ step.status = 'running';
226
+ write(statusPath, JSON.stringify(status, null, 2));
227
+
228
+ // Execute via ccw cli in background
229
+ const taskId = Bash(
230
+ `ccw cli -p "${escapePrompt(prompt)}" --tool claude --mode write`,
231
+ { run_in_background: true }
232
+ ).task_id;
233
+
234
+ step.taskId = taskId;
235
+ write(statusPath, JSON.stringify(status, null, 2));
236
+
237
+ console.log(`Executing: ${step.cmd} (async)`);
238
+ console.log(`Resume: /flow-coordinator --resume ${status.id}`);
239
+ }
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Prompt Building
245
+
246
+ Prompts are built in format: `/workflow:cmd -y args` + context
247
+
248
+ ```javascript
249
+ function buildCommandPrompt(step, status) {
250
+ // step.cmd already contains full path: /workflow:lite-plan, /workflow:execute, etc.
251
+ let prompt = `${step.cmd} -y`;
252
+
253
+ // Add arguments (with placeholder replacement)
254
+ if (step.args) {
255
+ const args = step.args
256
+ .replace('{{goal}}', status.goal)
257
+ .replace('{{prev}}', getPreviousSessionId(status));
258
+ prompt += ` ${args}`;
259
+ }
260
+
261
+ // Add context based on contextHint
262
+ if (step.contextHint) {
263
+ const context = buildContextFromHint(step.contextHint, status);
264
+ prompt += `\n\nContext:\n${context}`;
265
+ } else {
266
+ // Default context: previous session IDs
267
+ const previousContext = collectPreviousResults(status);
268
+ if (previousContext) {
269
+ prompt += `\n\nPrevious results:\n${previousContext}`;
270
+ }
271
+ }
272
+
273
+ return prompt;
274
+ }
275
+
276
+ function buildContextFromHint(hint, status) {
277
+ // Parse contextHint instruction and build context accordingly
278
+ // Examples:
279
+ // "Summarize IMPL_PLAN.md" → read and summarize plan
280
+ // "List test coverage gaps" → analyze previous test results
281
+ // "Pass session ID" → just return session reference
282
+
283
+ return parseAndBuildContext(hint, status);
284
+ }
285
+ ```
286
+
287
+ ### Example Prompt Output
288
+
289
+ ```
290
+ /workflow:lite-plan -y "Implement user registration"
291
+
292
+ Context:
293
+ Task: Implement user registration
294
+ Previous results:
295
+ - None (first step)
296
+ ```
297
+
298
+ ```
299
+ /workflow:execute -y --in-memory
300
+
301
+ Context:
302
+ Task: Implement user registration
303
+ Previous results:
304
+ - lite-plan: WFS-plan-20250130 (planning-context.md)
305
+ ```
306
+
307
+ ---
308
+
309
+ ## User Interaction
310
+
311
+ ### Step 1: Select Template
312
+
313
+ ```
314
+ Select workflow template:
315
+
316
+ ○ rapid lite-plan → lite-execute → test-cycle-execute
317
+ ○ coupled plan → plan-verify → execute → review → test
318
+ ○ bugfix lite-fix → lite-execute → test-cycle-execute
319
+ ○ tdd tdd-plan → execute → tdd-verify
320
+ ○ Other (more templates or custom)
321
+ ```
322
+
323
+ ### Step 2: Review Execution Plan
324
+
325
+ ```
326
+ Template: coupled
327
+ Steps:
328
+ 1. /workflow:plan (slash-command mainprocess)
329
+ 2. /workflow:plan-verify (slash-command mainprocess)
330
+ 3. /workflow:execute (slash-command async)
331
+ 4. /workflow:review-session-cycle (slash-command mainprocess)
332
+ 5. /workflow:review-cycle-fix (slash-command mainprocess)
333
+ 6. /workflow:test-fix-gen (slash-command mainprocess)
334
+ 7. /workflow:test-cycle-execute (slash-command async)
335
+
336
+ Proceed? [Confirm / Cancel]
337
+ ```
338
+
339
+ ---
340
+
341
+ ## Resume Capability
342
+
343
+ ```javascript
344
+ async function resume(sessionId) {
345
+ const statusPath = `.workflow/.flow-coordinator/${sessionId}/status.json`;
346
+ const status = JSON.parse(Read(statusPath));
347
+
348
+ // Find first incomplete step
349
+ status.current = status.steps.findIndex(s => s.status !== 'done');
350
+ if (status.current === -1) {
351
+ console.log('All steps complete');
352
+ return;
353
+ }
354
+
355
+ // Continue executing steps
356
+ await executeSteps(status, statusPath);
357
+ }
358
+ ```
359
+
360
+ ---
361
+
362
+ ## Available Templates
363
+
364
+ Templates discovered from `templates/*.json`:
365
+
366
+ | Template | Use Case | Steps |
367
+ |----------|----------|-------|
368
+ | rapid | Simple feature | /workflow:lite-plan → /workflow:lite-execute → /workflow:test-cycle-execute |
369
+ | coupled | Complex feature | /workflow:plan → /workflow:plan-verify → /workflow:execute → /workflow:review-session-cycle → /workflow:test-fix-gen |
370
+ | bugfix | Bug fix | /workflow:lite-fix → /workflow:lite-execute → /workflow:test-cycle-execute |
371
+ | tdd | Test-driven | /workflow:tdd-plan → /workflow:execute → /workflow:tdd-verify |
372
+ | test-fix | Fix failing tests | /workflow:test-fix-gen → /workflow:test-cycle-execute |
373
+ | brainstorm | Exploration | /workflow:brainstorm-with-file |
374
+ | debug | Debug with docs | /workflow:debug-with-file |
375
+ | analyze | Collaborative analysis | /workflow:analyze-with-file |
376
+ | issue | Issue workflow | /workflow:issue:plan → /workflow:issue:queue → /workflow:issue:execute |
377
+
378
+ ---
379
+
380
+ ## Design Principles
381
+
382
+ 1. **Minimal fields**: Only essential tracking data
383
+ 2. **Flat structure**: No nested objects beyond steps array
384
+ 3. **Step-level execution**: Each step defines how it's executed
385
+ 4. **Resumable**: Any step can be resumed from status
386
+ 5. **Human readable**: Clear JSON format
387
+
388
+ ---
389
+
390
+ ## Reference Documents
391
+
392
+ | Document | Purpose |
393
+ |----------|---------|
394
+ | templates/*.json | Workflow templates (dynamic discovery) |
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "analyze",
3
+ "description": "Collaborative analysis with multi-round discussion - deep exploration and understanding",
4
+ "level": 3,
5
+ "steps": [
6
+ {
7
+ "cmd": "/workflow:analyze-with-file",
8
+ "args": "\"{{goal}}\"",
9
+ "execution": {
10
+ "type": "slash-command",
11
+ "mode": "mainprocess"
12
+ },
13
+ "contextHint": "Multi-round collaborative analysis with iterative understanding. Generate discussion.md with comprehensive analysis and conclusions"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "brainstorm-to-issue",
3
+ "description": "Bridge brainstorm session to issue workflow - convert exploration insights to executable issues",
4
+ "level": 4,
5
+ "steps": [
6
+ {
7
+ "cmd": "/workflow:issue:from-brainstorm",
8
+ "args": "--auto",
9
+ "unit": "brainstorm-to-issue",
10
+ "execution": {
11
+ "type": "slash-command",
12
+ "mode": "mainprocess"
13
+ },
14
+ "contextHint": "Convert brainstorm session findings into issue plans and solutions"
15
+ },
16
+ {
17
+ "cmd": "/workflow:issue:queue",
18
+ "unit": "brainstorm-to-issue",
19
+ "execution": {
20
+ "type": "slash-command",
21
+ "mode": "mainprocess"
22
+ },
23
+ "contextHint": "Build execution queue from converted brainstorm issues"
24
+ },
25
+ {
26
+ "cmd": "/workflow:issue:execute",
27
+ "args": "--queue auto",
28
+ "unit": "brainstorm-to-issue",
29
+ "execution": {
30
+ "type": "slash-command",
31
+ "mode": "async"
32
+ },
33
+ "contextHint": "Execute issues from queue with state tracking"
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "brainstorm",
3
+ "description": "Multi-perspective ideation with documentation - explore possibilities with multiple analytical viewpoints",
4
+ "level": 4,
5
+ "steps": [
6
+ {
7
+ "cmd": "/workflow:brainstorm-with-file",
8
+ "args": "\"{{goal}}\"",
9
+ "execution": {
10
+ "type": "slash-command",
11
+ "mode": "mainprocess"
12
+ },
13
+ "contextHint": "Multi-perspective ideation with interactive diverge-converge cycles. Generate brainstorm.md with synthesis of ideas and recommendations"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "bugfix-hotfix",
3
+ "description": "Urgent production fix - immediate diagnosis and fix with minimal overhead",
4
+ "level": 1,
5
+ "steps": [
6
+ {
7
+ "cmd": "/workflow:lite-fix",
8
+ "args": "--hotfix \"{{goal}}\"",
9
+ "execution": {
10
+ "type": "slash-command",
11
+ "mode": "async"
12
+ },
13
+ "contextHint": "Urgent hotfix mode: quick diagnosis and immediate fix for critical production issue"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "bugfix",
3
+ "description": "Standard bug fix workflow - lightweight diagnosis and execution with testing",
4
+ "level": 2,
5
+ "steps": [
6
+ {
7
+ "cmd": "/workflow:lite-fix",
8
+ "args": "\"{{goal}}\"",
9
+ "unit": "bug-fix",
10
+ "execution": {
11
+ "type": "slash-command",
12
+ "mode": "mainprocess"
13
+ },
14
+ "contextHint": "Analyze bug report, trace execution flow, identify root cause with fix strategy"
15
+ },
16
+ {
17
+ "cmd": "/workflow:lite-execute",
18
+ "args": "--in-memory",
19
+ "unit": "bug-fix",
20
+ "execution": {
21
+ "type": "slash-command",
22
+ "mode": "async"
23
+ },
24
+ "contextHint": "Implement fix based on diagnosis. Execute against in-memory state from lite-fix analysis."
25
+ },
26
+ {
27
+ "cmd": "/workflow:test-fix-gen",
28
+ "unit": "test-validation",
29
+ "optional": true,
30
+ "execution": {
31
+ "type": "slash-command",
32
+ "mode": "mainprocess"
33
+ },
34
+ "contextHint": "Generate test tasks to verify bug fix and prevent regression"
35
+ },
36
+ {
37
+ "cmd": "/workflow:test-cycle-execute",
38
+ "unit": "test-validation",
39
+ "optional": true,
40
+ "execution": {
41
+ "type": "slash-command",
42
+ "mode": "async"
43
+ },
44
+ "contextHint": "Execute test-fix cycle until all tests pass"
45
+ }
46
+ ]
47
+ }