claude-code-workflow 6.3.27 → 6.3.29

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 (133) hide show
  1. package/.claude/CLAUDE.md +7 -1
  2. package/.claude/agents/action-planning-agent.md +1 -0
  3. package/.claude/agents/cli-discuss-agent.md +391 -0
  4. package/.claude/agents/cli-execution-agent.md +2 -0
  5. package/.claude/agents/cli-explore-agent.md +2 -1
  6. package/.claude/agents/cli-lite-planning-agent.md +1 -0
  7. package/.claude/agents/cli-planning-agent.md +1 -0
  8. package/.claude/agents/code-developer.md +1 -0
  9. package/.claude/agents/conceptual-planning-agent.md +2 -0
  10. package/.claude/agents/context-search-agent.md +1 -0
  11. package/.claude/agents/debug-explore-agent.md +2 -0
  12. package/.claude/agents/doc-generator.md +1 -0
  13. package/.claude/agents/issue-plan-agent.md +2 -1
  14. package/.claude/agents/issue-queue-agent.md +2 -1
  15. package/.claude/agents/memory-bridge.md +2 -0
  16. package/.claude/agents/test-context-search-agent.md +2 -0
  17. package/.claude/agents/test-fix-agent.md +1 -0
  18. package/.claude/agents/ui-design-agent.md +2 -0
  19. package/.claude/agents/universal-executor.md +1 -0
  20. package/.claude/commands/issue/execute.md +269 -176
  21. package/.claude/commands/workflow/debug.md +6 -0
  22. package/.claude/commands/workflow/execute.md +4 -0
  23. package/.claude/commands/workflow/lite-execute.md +4 -0
  24. package/.claude/commands/workflow/lite-lite-lite.md +433 -0
  25. package/.claude/commands/workflow/multi-cli-plan.md +510 -0
  26. package/.claude/commands/workflow/review-fix.md +4 -0
  27. package/.claude/commands/workflow/test-cycle-execute.md +4 -0
  28. package/.claude/skills/ccw/SKILL.md +262 -372
  29. package/.claude/skills/ccw/command.json +547 -0
  30. package/.claude/skills/ccw-help/SKILL.md +46 -107
  31. package/.claude/skills/ccw-help/command.json +511 -0
  32. package/.claude/skills/skill-tuning/SKILL.md +303 -0
  33. package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -0
  34. package/.claude/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
  35. package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
  36. package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -0
  37. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
  38. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
  39. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
  40. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
  41. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
  42. package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
  43. package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
  44. package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
  45. package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -0
  46. package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
  47. package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -0
  48. package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -0
  49. package/.claude/skills/skill-tuning/phases/state-schema.md +378 -0
  50. package/.claude/skills/skill-tuning/specs/category-mappings.json +284 -0
  51. package/.claude/skills/skill-tuning/specs/dimension-mapping.md +212 -0
  52. package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -0
  53. package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -0
  54. package/.claude/skills/skill-tuning/specs/skill-authoring-principles.md +189 -0
  55. package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -0
  56. package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -0
  57. package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -0
  58. package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +421 -0
  59. package/.claude/workflows/cli-tools-usage.md +0 -41
  60. package/.codex/prompts/issue-execute.md +72 -12
  61. package/README.md +3 -0
  62. package/ccw/dist/core/data-aggregator.d.ts +2 -0
  63. package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
  64. package/ccw/dist/core/data-aggregator.js +5 -2
  65. package/ccw/dist/core/data-aggregator.js.map +1 -1
  66. package/ccw/dist/core/lite-scanner.d.ts +2 -1
  67. package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
  68. package/ccw/dist/core/lite-scanner.js +348 -6
  69. package/ccw/dist/core/lite-scanner.js.map +1 -1
  70. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
  71. package/ccw/dist/core/routes/session-routes.js +166 -48
  72. package/ccw/dist/core/routes/session-routes.js.map +1 -1
  73. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
  74. package/ccw/dist/core/routes/system-routes.js +87 -0
  75. package/ccw/dist/core/routes/system-routes.js.map +1 -1
  76. package/ccw/dist/core/server.js +2 -2
  77. package/ccw/dist/core/server.js.map +1 -1
  78. package/ccw/dist/tools/memory-update-queue.d.ts.map +1 -1
  79. package/ccw/dist/tools/memory-update-queue.js +5 -11
  80. package/ccw/dist/tools/memory-update-queue.js.map +1 -1
  81. package/ccw/scripts/IMPLEMENTATION-SUMMARY.md +226 -0
  82. package/ccw/scripts/QUICK-REFERENCE.md +135 -0
  83. package/ccw/scripts/README-memory-embedder.md +157 -0
  84. package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
  85. package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
  86. package/ccw/scripts/memory-embedder-example.ts +184 -0
  87. package/ccw/scripts/memory_embedder.py +428 -0
  88. package/ccw/scripts/test_memory_embedder.py +245 -0
  89. package/ccw/src/core/data-aggregator.ts +7 -2
  90. package/ccw/src/core/lite-scanner.ts +495 -6
  91. package/ccw/src/core/routes/session-routes.ts +201 -48
  92. package/ccw/src/core/routes/system-routes.ts +102 -0
  93. package/ccw/src/core/server.ts +2 -2
  94. package/ccw/src/templates/dashboard-css/01-base.css +8 -0
  95. package/ccw/src/templates/dashboard-css/02-session.css +81 -0
  96. package/ccw/src/templates/dashboard-css/03-tasks.css +5 -0
  97. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +3071 -0
  98. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +157 -0
  99. package/ccw/src/templates/dashboard-css/32-issue-manager.css +23 -0
  100. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +38 -4
  101. package/ccw/src/templates/dashboard-js/components/hook-manager.js +68 -34
  102. package/ccw/src/templates/dashboard-js/components/navigation.js +24 -4
  103. package/ccw/src/templates/dashboard-js/i18n.js +278 -4
  104. package/ccw/src/templates/dashboard-js/views/api-settings.js +32 -0
  105. package/ccw/src/templates/dashboard-js/views/claude-manager.js +44 -3
  106. package/ccw/src/templates/dashboard-js/views/cli-manager.js +303 -31
  107. package/ccw/src/templates/dashboard-js/views/history.js +44 -6
  108. package/ccw/src/templates/dashboard-js/views/home.js +1 -0
  109. package/ccw/src/templates/dashboard-js/views/issue-manager.js +54 -7
  110. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +2621 -4
  111. package/ccw/src/templates/dashboard.html +5 -0
  112. package/ccw/src/tools/memory-update-queue.js +5 -11
  113. package/package.json +2 -1
  114. package/.claude/skills/ccw/index/command-capabilities.json +0 -127
  115. package/.claude/skills/ccw/index/intent-rules.json +0 -136
  116. package/.claude/skills/ccw/index/workflow-chains.json +0 -451
  117. package/.claude/skills/ccw/phases/actions/bugfix.md +0 -218
  118. package/.claude/skills/ccw/phases/actions/coupled.md +0 -194
  119. package/.claude/skills/ccw/phases/actions/docs.md +0 -93
  120. package/.claude/skills/ccw/phases/actions/full.md +0 -154
  121. package/.claude/skills/ccw/phases/actions/issue.md +0 -201
  122. package/.claude/skills/ccw/phases/actions/rapid.md +0 -104
  123. package/.claude/skills/ccw/phases/actions/review-fix.md +0 -84
  124. package/.claude/skills/ccw/phases/actions/tdd.md +0 -66
  125. package/.claude/skills/ccw/phases/actions/ui.md +0 -79
  126. package/.claude/skills/ccw/phases/orchestrator.md +0 -435
  127. package/.claude/skills/ccw/specs/intent-classification.md +0 -336
  128. package/.claude/skills/ccw-help/index/all-agents.json +0 -82
  129. package/.claude/skills/ccw-help/index/all-commands.json +0 -882
  130. package/.claude/skills/ccw-help/index/by-category.json +0 -914
  131. package/.claude/skills/ccw-help/index/by-use-case.json +0 -896
  132. package/.claude/skills/ccw-help/index/command-relationships.json +0 -160
  133. package/.claude/skills/ccw-help/index/essential-commands.json +0 -112
@@ -0,0 +1,421 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Multi-CLI Discussion Artifact Schema",
4
+ "description": "Visualization-friendly output for multi-CLI collaborative discussion agent",
5
+ "type": "object",
6
+ "required": ["metadata", "discussionTopic", "relatedFiles", "planning", "decision", "decisionRecords"],
7
+ "properties": {
8
+ "metadata": {
9
+ "type": "object",
10
+ "required": ["artifactId", "roundId", "timestamp", "contributingAgents"],
11
+ "properties": {
12
+ "artifactId": {
13
+ "type": "string",
14
+ "description": "Unique ID for this artifact (e.g., 'MCP-auth-refactor-2026-01-13-round-1')"
15
+ },
16
+ "roundId": {
17
+ "type": "integer",
18
+ "minimum": 1,
19
+ "description": "Discussion round number"
20
+ },
21
+ "timestamp": {
22
+ "type": "string",
23
+ "format": "date-time",
24
+ "description": "ISO 8601 timestamp"
25
+ },
26
+ "contributingAgents": {
27
+ "type": "array",
28
+ "items": {
29
+ "$ref": "#/definitions/AgentIdentifier"
30
+ },
31
+ "description": "Agents that contributed to this artifact"
32
+ },
33
+ "durationSeconds": {
34
+ "type": "integer",
35
+ "description": "Total duration in seconds"
36
+ },
37
+ "exportFormats": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "string",
41
+ "enum": ["markdown", "html"]
42
+ },
43
+ "description": "Supported export formats"
44
+ }
45
+ }
46
+ },
47
+ "discussionTopic": {
48
+ "type": "object",
49
+ "required": ["title", "description", "status"],
50
+ "properties": {
51
+ "title": {
52
+ "$ref": "#/definitions/I18nLabel"
53
+ },
54
+ "description": {
55
+ "$ref": "#/definitions/I18nLabel"
56
+ },
57
+ "scope": {
58
+ "type": "object",
59
+ "properties": {
60
+ "included": {
61
+ "type": "array",
62
+ "items": { "$ref": "#/definitions/I18nLabel" },
63
+ "description": "What's in scope"
64
+ },
65
+ "excluded": {
66
+ "type": "array",
67
+ "items": { "$ref": "#/definitions/I18nLabel" },
68
+ "description": "What's explicitly out of scope"
69
+ }
70
+ }
71
+ },
72
+ "keyQuestions": {
73
+ "type": "array",
74
+ "items": { "$ref": "#/definitions/I18nLabel" },
75
+ "description": "Questions being explored"
76
+ },
77
+ "status": {
78
+ "type": "string",
79
+ "enum": ["exploring", "analyzing", "debating", "decided", "blocked"],
80
+ "description": "Discussion status"
81
+ },
82
+ "tags": {
83
+ "type": "array",
84
+ "items": { "type": "string" },
85
+ "description": "Tags for filtering (e.g., ['auth', 'security', 'api'])"
86
+ }
87
+ }
88
+ },
89
+ "relatedFiles": {
90
+ "type": "object",
91
+ "properties": {
92
+ "fileTree": {
93
+ "type": "array",
94
+ "items": { "$ref": "#/definitions/FileNode" },
95
+ "description": "File tree structure"
96
+ },
97
+ "dependencyGraph": {
98
+ "type": "array",
99
+ "items": { "$ref": "#/definitions/DependencyEdge" },
100
+ "description": "Dependency relationships"
101
+ },
102
+ "impactSummary": {
103
+ "type": "array",
104
+ "items": { "$ref": "#/definitions/FileImpact" },
105
+ "description": "File impact summary"
106
+ }
107
+ }
108
+ },
109
+ "planning": {
110
+ "type": "object",
111
+ "properties": {
112
+ "functional": {
113
+ "type": "array",
114
+ "items": { "$ref": "#/definitions/Requirement" },
115
+ "description": "Functional requirements"
116
+ },
117
+ "nonFunctional": {
118
+ "type": "array",
119
+ "items": { "$ref": "#/definitions/Requirement" },
120
+ "description": "Non-functional requirements"
121
+ },
122
+ "acceptanceCriteria": {
123
+ "type": "array",
124
+ "items": { "$ref": "#/definitions/AcceptanceCriterion" },
125
+ "description": "Acceptance criteria"
126
+ }
127
+ }
128
+ },
129
+ "decision": {
130
+ "type": "object",
131
+ "required": ["status", "confidenceScore"],
132
+ "properties": {
133
+ "status": {
134
+ "type": "string",
135
+ "enum": ["pending", "decided", "conflict"],
136
+ "description": "Decision status"
137
+ },
138
+ "summary": {
139
+ "$ref": "#/definitions/I18nLabel"
140
+ },
141
+ "selectedSolution": {
142
+ "$ref": "#/definitions/Solution"
143
+ },
144
+ "rejectedAlternatives": {
145
+ "type": "array",
146
+ "items": { "$ref": "#/definitions/RejectedSolution" }
147
+ },
148
+ "confidenceScore": {
149
+ "type": "number",
150
+ "minimum": 0,
151
+ "maximum": 1,
152
+ "description": "Confidence score (0.0 to 1.0)"
153
+ }
154
+ }
155
+ },
156
+ "decisionRecords": {
157
+ "type": "object",
158
+ "properties": {
159
+ "timeline": {
160
+ "type": "array",
161
+ "items": { "$ref": "#/definitions/DecisionEvent" },
162
+ "description": "Timeline of decision events"
163
+ }
164
+ }
165
+ },
166
+ "_internal": {
167
+ "type": "object",
168
+ "description": "Internal analysis data (for debugging)",
169
+ "properties": {
170
+ "cli_analyses": {
171
+ "type": "array",
172
+ "items": { "$ref": "#/definitions/CLIAnalysis" }
173
+ },
174
+ "cross_verification": {
175
+ "$ref": "#/definitions/CrossVerification"
176
+ },
177
+ "convergence": {
178
+ "$ref": "#/definitions/ConvergenceMetrics"
179
+ }
180
+ }
181
+ }
182
+ },
183
+ "definitions": {
184
+ "I18nLabel": {
185
+ "type": "object",
186
+ "required": ["en", "zh"],
187
+ "properties": {
188
+ "en": { "type": "string" },
189
+ "zh": { "type": "string" }
190
+ },
191
+ "description": "Multi-language label for UI display"
192
+ },
193
+ "AgentIdentifier": {
194
+ "type": "object",
195
+ "required": ["name", "id"],
196
+ "properties": {
197
+ "name": {
198
+ "type": "string",
199
+ "enum": ["Gemini", "Codex", "Qwen", "Human", "System"]
200
+ },
201
+ "id": { "type": "string" }
202
+ }
203
+ },
204
+ "FileNode": {
205
+ "type": "object",
206
+ "required": ["path", "type"],
207
+ "properties": {
208
+ "path": { "type": "string" },
209
+ "type": {
210
+ "type": "string",
211
+ "enum": ["file", "directory"]
212
+ },
213
+ "modificationStatus": {
214
+ "type": "string",
215
+ "enum": ["added", "modified", "deleted", "unchanged"]
216
+ },
217
+ "impactScore": {
218
+ "type": "string",
219
+ "enum": ["critical", "high", "medium", "low"]
220
+ },
221
+ "children": {
222
+ "type": "array",
223
+ "items": { "$ref": "#/definitions/FileNode" }
224
+ },
225
+ "codeSnippet": { "$ref": "#/definitions/CodeSnippet" }
226
+ }
227
+ },
228
+ "DependencyEdge": {
229
+ "type": "object",
230
+ "required": ["source", "target", "relationship"],
231
+ "properties": {
232
+ "source": { "type": "string" },
233
+ "target": { "type": "string" },
234
+ "relationship": { "type": "string" }
235
+ }
236
+ },
237
+ "FileImpact": {
238
+ "type": "object",
239
+ "required": ["filePath", "score", "reasoning"],
240
+ "properties": {
241
+ "filePath": { "type": "string" },
242
+ "line": { "type": "integer" },
243
+ "score": {
244
+ "type": "string",
245
+ "enum": ["critical", "high", "medium", "low"]
246
+ },
247
+ "reasoning": { "$ref": "#/definitions/I18nLabel" }
248
+ }
249
+ },
250
+ "CodeSnippet": {
251
+ "type": "object",
252
+ "required": ["startLine", "endLine", "code"],
253
+ "properties": {
254
+ "startLine": { "type": "integer" },
255
+ "endLine": { "type": "integer" },
256
+ "code": { "type": "string" },
257
+ "language": { "type": "string" },
258
+ "comment": { "$ref": "#/definitions/I18nLabel" }
259
+ }
260
+ },
261
+ "Requirement": {
262
+ "type": "object",
263
+ "required": ["id", "description", "priority"],
264
+ "properties": {
265
+ "id": { "type": "string" },
266
+ "description": { "$ref": "#/definitions/I18nLabel" },
267
+ "priority": {
268
+ "type": "string",
269
+ "enum": ["critical", "high", "medium", "low"]
270
+ },
271
+ "source": { "type": "string" }
272
+ }
273
+ },
274
+ "AcceptanceCriterion": {
275
+ "type": "object",
276
+ "required": ["id", "description", "isMet"],
277
+ "properties": {
278
+ "id": { "type": "string" },
279
+ "description": { "$ref": "#/definitions/I18nLabel" },
280
+ "isMet": { "type": "boolean" }
281
+ }
282
+ },
283
+ "Solution": {
284
+ "type": "object",
285
+ "required": ["id", "title", "description"],
286
+ "properties": {
287
+ "id": { "type": "string" },
288
+ "title": { "$ref": "#/definitions/I18nLabel" },
289
+ "description": { "$ref": "#/definitions/I18nLabel" },
290
+ "pros": {
291
+ "type": "array",
292
+ "items": { "$ref": "#/definitions/I18nLabel" }
293
+ },
294
+ "cons": {
295
+ "type": "array",
296
+ "items": { "$ref": "#/definitions/I18nLabel" }
297
+ },
298
+ "estimatedEffort": { "$ref": "#/definitions/I18nLabel" },
299
+ "risk": {
300
+ "type": "string",
301
+ "enum": ["critical", "high", "medium", "low"]
302
+ },
303
+ "affectedFiles": {
304
+ "type": "array",
305
+ "items": { "$ref": "#/definitions/FileImpact" }
306
+ },
307
+ "sourceCLIs": {
308
+ "type": "array",
309
+ "items": { "type": "string" }
310
+ }
311
+ }
312
+ },
313
+ "RejectedSolution": {
314
+ "allOf": [
315
+ { "$ref": "#/definitions/Solution" },
316
+ {
317
+ "type": "object",
318
+ "required": ["rejectionReason"],
319
+ "properties": {
320
+ "rejectionReason": { "$ref": "#/definitions/I18nLabel" }
321
+ }
322
+ }
323
+ ]
324
+ },
325
+ "DecisionEvent": {
326
+ "type": "object",
327
+ "required": ["eventId", "timestamp", "type", "contributor", "summary"],
328
+ "properties": {
329
+ "eventId": { "type": "string" },
330
+ "timestamp": {
331
+ "type": "string",
332
+ "format": "date-time"
333
+ },
334
+ "type": {
335
+ "type": "string",
336
+ "enum": ["proposal", "argument", "agreement", "disagreement", "decision", "reversal"]
337
+ },
338
+ "contributor": { "$ref": "#/definitions/AgentIdentifier" },
339
+ "summary": { "$ref": "#/definitions/I18nLabel" },
340
+ "evidence": {
341
+ "type": "array",
342
+ "items": { "$ref": "#/definitions/Evidence" }
343
+ },
344
+ "reversibility": {
345
+ "type": "string",
346
+ "enum": ["easily_reversible", "requires_refactoring", "irreversible"]
347
+ }
348
+ }
349
+ },
350
+ "Evidence": {
351
+ "type": "object",
352
+ "required": ["type", "content", "description"],
353
+ "properties": {
354
+ "type": {
355
+ "type": "string",
356
+ "enum": ["link", "code_snippet", "log_output", "benchmark", "reference"]
357
+ },
358
+ "content": {},
359
+ "description": { "$ref": "#/definitions/I18nLabel" }
360
+ }
361
+ },
362
+ "CLIAnalysis": {
363
+ "type": "object",
364
+ "required": ["tool", "perspective", "feasibility_score"],
365
+ "properties": {
366
+ "tool": {
367
+ "type": "string",
368
+ "enum": ["gemini", "codex", "qwen"]
369
+ },
370
+ "perspective": { "type": "string" },
371
+ "feasibility_score": {
372
+ "type": "number",
373
+ "minimum": 0,
374
+ "maximum": 1
375
+ },
376
+ "findings": {
377
+ "type": "array",
378
+ "items": { "type": "string" }
379
+ },
380
+ "implementation_approaches": { "type": "array" },
381
+ "technical_concerns": {
382
+ "type": "array",
383
+ "items": { "type": "string" }
384
+ },
385
+ "code_locations": {
386
+ "type": "array",
387
+ "items": { "$ref": "#/definitions/FileImpact" }
388
+ }
389
+ }
390
+ },
391
+ "CrossVerification": {
392
+ "type": "object",
393
+ "properties": {
394
+ "agreements": {
395
+ "type": "array",
396
+ "items": { "type": "string" }
397
+ },
398
+ "disagreements": {
399
+ "type": "array",
400
+ "items": { "type": "string" }
401
+ },
402
+ "resolution": { "type": "string" }
403
+ }
404
+ },
405
+ "ConvergenceMetrics": {
406
+ "type": "object",
407
+ "properties": {
408
+ "score": {
409
+ "type": "number",
410
+ "minimum": 0,
411
+ "maximum": 1
412
+ },
413
+ "new_insights": { "type": "boolean" },
414
+ "recommendation": {
415
+ "type": "string",
416
+ "enum": ["continue", "converged", "user_input_needed"]
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }
@@ -18,33 +18,6 @@
18
18
 
19
19
  All tool availability, model selection, and routing are defined in this configuration file.
20
20
 
21
- ### Configuration Schema
22
-
23
- ```json
24
- {
25
- "version": "3.0.0",
26
- "models": {
27
- "<tool-id>": ["<model-1>", "<model-2>", ...]
28
- },
29
- "tools": {
30
- "<tool-id>": {
31
- "enabled": true|false,
32
- "primaryModel": "<model-id>",
33
- "secondaryModel": "<model-id>",
34
- "tags": ["<tag-1>", "<tag-2>", ...]
35
- }
36
- },
37
- "customEndpoints": [
38
- {
39
- "id": "<endpoint-id>",
40
- "name": "<display-name>",
41
- "enabled": true|false,
42
- "tags": ["<tag-1>", "<tag-2>", ...]
43
- }
44
- ]
45
- }
46
- ```
47
-
48
21
  ### Configuration Fields
49
22
 
50
23
  | Field | Description |
@@ -492,20 +465,6 @@ RULES: $(cat ~/.claude/workflows/cli-templates/protocols/write-protocol.md) $(ca
492
465
 
493
466
  ---
494
467
 
495
- ## Execution Configuration
496
-
497
- ### Dynamic Timeout Allocation
498
-
499
- **Minimum timeout: 5 minutes (300000ms)** - Never set below this threshold.
500
-
501
- **Timeout Ranges**:
502
- - **Simple** (analysis, search): 5-10min (300000-600000ms)
503
- - **Medium** (refactoring, documentation): 10-20min (600000-1200000ms)
504
- - **Complex** (implementation, migration): 20-60min (1200000-3600000ms)
505
- - **Heavy** (large codebase, multi-file): 60-120min (3600000-7200000ms)
506
-
507
- **Auto-detection**: Analyze PURPOSE and TASK fields to determine timeout
508
-
509
468
  ### Permission Framework
510
469
 
511
470
  **Single-Use Authorization**: Each execution requires explicit user instruction. Previous authorization does NOT carry over.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Execute all solutions from issue queue with git commit after each solution
3
- argument-hint: "[--worktree [<existing-path>]] [--queue <queue-id>]"
3
+ argument-hint: "--queue <queue-id> [--worktree [<existing-path>]]"
4
4
  ---
5
5
 
6
6
  # Issue Execute (Codex Version)
@@ -9,6 +9,49 @@ argument-hint: "[--worktree [<existing-path>]] [--queue <queue-id>]"
9
9
 
10
10
  **Serial Execution**: Execute solutions ONE BY ONE from the issue queue via `ccw issue next`. For each solution, complete all tasks sequentially (implement → test → verify), then commit once per solution with formatted summary. Continue autonomously until queue is empty.
11
11
 
12
+ ## Queue ID Requirement (MANDATORY)
13
+
14
+ **Queue ID is REQUIRED.** You MUST specify which queue to execute via `--queue <queue-id>`.
15
+
16
+ ### If Queue ID Not Provided
17
+
18
+ When `--queue` parameter is missing, you MUST:
19
+
20
+ 1. **List available queues** by running:
21
+ ```javascript
22
+ const result = shell_command({ command: "ccw issue queue list --brief --json" })
23
+ ```
24
+
25
+ 2. **Parse and display queues** to user:
26
+ ```
27
+ Available Queues:
28
+ ID Status Progress Issues
29
+ -----------------------------------------------------------
30
+ → QUE-20251215-001 active 3/10 ISS-001, ISS-002
31
+ QUE-20251210-002 active 0/5 ISS-003
32
+ QUE-20251205-003 completed 8/8 ISS-004
33
+ ```
34
+
35
+ 3. **Stop and ask user** to specify which queue to execute:
36
+ ```javascript
37
+ AskUserQuestion({
38
+ questions: [{
39
+ question: "Which queue would you like to execute?",
40
+ header: "Queue",
41
+ multiSelect: false,
42
+ options: [
43
+ // Generate from parsed queue list - only show active/pending queues
44
+ { label: "QUE-20251215-001", description: "active, 3/10 completed, Issues: ISS-001, ISS-002" },
45
+ { label: "QUE-20251210-002", description: "active, 0/5 completed, Issues: ISS-003" }
46
+ ]
47
+ }]
48
+ })
49
+ ```
50
+
51
+ 4. **After user selection**, continue execution with the selected queue ID.
52
+
53
+ **DO NOT auto-select queues.** Explicit user confirmation is required to prevent accidental execution of wrong queue.
54
+
12
55
  ## Worktree Mode (Recommended for Parallel Execution)
13
56
 
14
57
  When `--worktree` is specified, create or use a git worktree to isolate work.
@@ -77,7 +120,8 @@ cd "${WORKTREE_PATH}"
77
120
 
78
121
  **Worktree Execution Pattern**:
79
122
  ```
80
- 1. [WORKTREE] ccw issue next auto-redirects to main repo's .workflow/
123
+ 0. [MAIN REPO] Validate queue ID (--queue required, or prompt user to select)
124
+ 1. [WORKTREE] ccw issue next --queue <queue-id> → auto-redirects to main repo's .workflow/
81
125
  2. [WORKTREE] Implement all tasks, run tests, git commit
82
126
  3. [WORKTREE] ccw issue done <item_id> → auto-redirects to main repo
83
127
  4. Repeat from step 1
@@ -177,10 +221,12 @@ echo "Branch '${WORKTREE_NAME}' kept. Merge manually when ready."
177
221
  ## Execution Flow
178
222
 
179
223
  ```
180
- INIT: Fetch first solution via ccw issue next
224
+ STEP 0: Validate queue ID (--queue required, or prompt user to select)
225
+
226
+ INIT: Fetch first solution via ccw issue next --queue <queue-id>
181
227
 
182
228
  WHILE solution exists:
183
- 1. Receive solution JSON from ccw issue next
229
+ 1. Receive solution JSON from ccw issue next --queue <queue-id>
184
230
  2. Execute all tasks in solution.tasks sequentially:
185
231
  FOR each task:
186
232
  - IMPLEMENT: Follow task.implementation steps
@@ -188,7 +234,7 @@ WHILE solution exists:
188
234
  - VERIFY: Check task.acceptance criteria
189
235
  3. COMMIT: Stage all files, commit once with formatted summary
190
236
  4. Report completion via ccw issue done <item_id>
191
- 5. Fetch next solution via ccw issue next
237
+ 5. Fetch next solution via ccw issue next --queue <queue-id>
192
238
 
193
239
  WHEN queue empty:
194
240
  Output final summary
@@ -196,11 +242,14 @@ WHEN queue empty:
196
242
 
197
243
  ## Step 1: Fetch First Solution
198
244
 
245
+ **Prerequisite**: Queue ID must be determined (either from `--queue` argument or user selection in Step 0).
246
+
199
247
  Run this command to get your first solution:
200
248
 
201
249
  ```javascript
202
250
  // ccw auto-detects worktree and uses main repo's .workflow/
203
- const result = shell_command({ command: "ccw issue next" })
251
+ // QUEUE_ID is required - obtained from --queue argument or user selection
252
+ const result = shell_command({ command: `ccw issue next --queue ${QUEUE_ID}` })
204
253
  ```
205
254
 
206
255
  This returns JSON with the full solution definition:
@@ -494,11 +543,12 @@ shell_command({
494
543
 
495
544
  ## Step 5: Continue to Next Solution
496
545
 
497
- Fetch next solution:
546
+ Fetch next solution (using same QUEUE_ID from Step 0/1):
498
547
 
499
548
  ```javascript
500
549
  // ccw auto-detects worktree
501
- const result = shell_command({ command: "ccw issue next" })
550
+ // Continue using the same QUEUE_ID throughout execution
551
+ const result = shell_command({ command: `ccw issue next --queue ${QUEUE_ID}` })
502
552
  ```
503
553
 
504
554
  **Output progress:**
@@ -567,18 +617,28 @@ When `ccw issue next` returns `{ "status": "empty" }`:
567
617
 
568
618
  | Command | Purpose |
569
619
  |---------|---------|
570
- | `ccw issue next` | Fetch next solution from queue (auto-selects from active queues) |
571
- | `ccw issue next --queue QUE-xxx` | Fetch from specific queue |
620
+ | `ccw issue queue list --brief --json` | List all queues (for queue selection) |
621
+ | `ccw issue next --queue QUE-xxx` | Fetch next solution from specified queue (**--queue required**) |
572
622
  | `ccw issue done <id>` | Mark solution complete with result (auto-detects queue) |
573
623
  | `ccw issue done <id> --fail --reason "..."` | Mark solution failed with structured reason |
574
624
  | `ccw issue retry --queue QUE-xxx` | Reset failed items in specific queue |
575
625
 
576
626
  ## Start Execution
577
627
 
578
- Begin by running:
628
+ **Step 0: Validate Queue ID**
629
+
630
+ If `--queue` was NOT provided in the command arguments:
631
+ 1. Run `ccw issue queue list --brief --json`
632
+ 2. Display available queues to user
633
+ 3. Ask user to select a queue via `AskUserQuestion`
634
+ 4. Store selected queue ID for all subsequent commands
635
+
636
+ **Step 1: Fetch First Solution**
637
+
638
+ Once queue ID is confirmed, begin by running:
579
639
 
580
640
  ```bash
581
- ccw issue next
641
+ ccw issue next --queue <queue-id>
582
642
  ```
583
643
 
584
644
  Then follow the solution lifecycle for each solution until queue is empty.
package/README.md CHANGED
@@ -281,6 +281,9 @@ CCW provides comprehensive documentation to help you get started quickly and mas
281
281
  - [**Dashboard Guide**](DASHBOARD_GUIDE.md) - Dashboard user guide and interface overview
282
282
  - [**Dashboard Operations**](DASHBOARD_OPERATIONS_EN.md) - Detailed operation instructions
283
283
 
284
+ ### 🔄 **Workflow Guides**
285
+ - [**Issue Loop Workflow**](docs/workflows/ISSUE_LOOP_WORKFLOW.md) - Batch issue processing with two-phase lifecycle (accumulate → resolve)
286
+
284
287
  ### 🏗️ **Architecture & Design**
285
288
  - [**Architecture Overview**](ARCHITECTURE.md) - System design and core components
286
289
  - [**Project Introduction**](PROJECT_INTRODUCTION.md) - Detailed project overview
@@ -64,6 +64,7 @@ interface DashboardData {
64
64
  liteTasks: {
65
65
  litePlan: unknown[];
66
66
  liteFix: unknown[];
67
+ multiCliPlan: unknown[];
67
68
  };
68
69
  reviewData: ReviewData | null;
69
70
  projectOverview: ProjectOverview | null;
@@ -75,6 +76,7 @@ interface DashboardData {
75
76
  reviewFindings: number;
76
77
  litePlanCount: number;
77
78
  liteFixCount: number;
79
+ multiCliPlanCount: number;
78
80
  };
79
81
  }
80
82
  interface ReviewData {
@@ -1 +1 @@
1
- {"version":3,"file":"data-aggregator.d.ts","sourceRoot":"","sources":["../../src/core/data-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-aggregator.d.ts","sourceRoot":"","sources":["../../src/core/data-aggregator.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,aAAa,EAAE,CAAC;CACnC;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,SAAS,EAAE;QACT,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,YAAY,EAAE,OAAO,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,UAAU,UAAU;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACxE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,OAAO,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED,UAAU,iBAAiB;IACzB,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE;QACf,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IACF,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,EAAE;QAChB,OAAO,EAAE,OAAO,EAAE,CAAC;QACnB,WAAW,EAAE,OAAO,EAAE,CAAC;QACvB,MAAM,EAAE,OAAO,EAAE,CAAC;QAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,IAAI,EAAE,OAAO,EAAE,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACtC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA8F7G"}