claude-code-workflow 6.3.4 → 6.3.6

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 (111) hide show
  1. package/.claude/agents/issue-plan-agent.md +859 -0
  2. package/.claude/agents/issue-queue-agent.md +702 -0
  3. package/.claude/commands/issue/execute.md +453 -0
  4. package/.claude/commands/issue/manage.md +865 -0
  5. package/.claude/commands/issue/new.md +484 -0
  6. package/.claude/commands/issue/plan.md +421 -0
  7. package/.claude/commands/issue/queue.md +354 -0
  8. package/.claude/commands/{clean.md → workflow/clean.md} +5 -5
  9. package/.claude/commands/workflow/docs/analyze.md +1467 -0
  10. package/.claude/commands/workflow/docs/copyright.md +1265 -0
  11. package/.claude/commands/workflow/execute.md +0 -1
  12. package/.claude/commands/workflow/tools/conflict-resolution.md +76 -240
  13. package/.claude/commands/workflow/tools/context-gather.md +0 -2
  14. package/.claude/commands/workflow/tools/task-generate-agent.md +81 -8
  15. package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -9
  16. package/.claude/commands/workflow/tools/test-context-gather.md +2 -3
  17. package/.claude/commands/workflow/tools/test-task-generate.md +0 -2
  18. package/.claude/skills/_shared/mermaid-utils.md +584 -0
  19. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -2
  20. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +1 -1
  21. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +1 -2
  22. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +1 -8
  23. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +1 -4
  24. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -2
  25. package/.claude/skills/copyright-docs/SKILL.md +132 -0
  26. package/.claude/skills/copyright-docs/phases/01-metadata-collection.md +78 -0
  27. package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +150 -0
  28. package/.claude/skills/copyright-docs/phases/02-deep-analysis.md +664 -0
  29. package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +192 -0
  30. package/.claude/skills/copyright-docs/phases/04-document-assembly.md +261 -0
  31. package/.claude/skills/copyright-docs/phases/05-compliance-refinement.md +192 -0
  32. package/.claude/skills/copyright-docs/specs/cpcc-requirements.md +121 -0
  33. package/.claude/skills/copyright-docs/templates/agent-base.md +200 -0
  34. package/.claude/skills/project-analyze/SKILL.md +162 -0
  35. package/.claude/skills/project-analyze/phases/01-requirements-discovery.md +79 -0
  36. package/.claude/skills/project-analyze/phases/02-project-exploration.md +176 -0
  37. package/.claude/skills/project-analyze/phases/03-deep-analysis.md +854 -0
  38. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +233 -0
  39. package/.claude/skills/project-analyze/phases/04-report-generation.md +217 -0
  40. package/.claude/skills/project-analyze/phases/05-iterative-refinement.md +124 -0
  41. package/.claude/skills/project-analyze/specs/quality-standards.md +115 -0
  42. package/.claude/skills/project-analyze/specs/writing-style.md +152 -0
  43. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +79 -65
  44. package/.claude/workflows/cli-templates/schemas/issue-task-jsonl-schema.json +136 -0
  45. package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +74 -0
  46. package/.claude/workflows/cli-templates/schemas/queue-schema.json +136 -0
  47. package/.claude/workflows/cli-templates/schemas/registry-schema.json +94 -0
  48. package/.claude/workflows/cli-templates/schemas/solution-schema.json +120 -0
  49. package/.claude/workflows/cli-templates/schemas/solutions-jsonl-schema.json +125 -0
  50. package/.codex/prompts/issue-execute.md +266 -0
  51. package/README.md +11 -1
  52. package/ccw/dist/cli.d.ts.map +1 -1
  53. package/ccw/dist/cli.js +25 -0
  54. package/ccw/dist/cli.js.map +1 -1
  55. package/ccw/dist/commands/cli.d.ts.map +1 -1
  56. package/ccw/dist/commands/cli.js +46 -8
  57. package/ccw/dist/commands/cli.js.map +1 -1
  58. package/ccw/dist/commands/issue.d.ts +21 -0
  59. package/ccw/dist/commands/issue.d.ts.map +1 -0
  60. package/ccw/dist/commands/issue.js +895 -0
  61. package/ccw/dist/commands/issue.js.map +1 -0
  62. package/ccw/dist/core/dashboard-generator-patch.js +1 -0
  63. package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
  64. package/ccw/dist/core/routes/cli-routes.js +2 -2
  65. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  66. package/ccw/dist/core/routes/issue-routes.d.ts +34 -0
  67. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -0
  68. package/ccw/dist/core/routes/issue-routes.js +487 -0
  69. package/ccw/dist/core/routes/issue-routes.js.map +1 -0
  70. package/ccw/dist/core/server.d.ts.map +1 -1
  71. package/ccw/dist/core/server.js +17 -2
  72. package/ccw/dist/core/server.js.map +1 -1
  73. package/ccw/dist/tools/claude-cli-tools.d.ts +7 -3
  74. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  75. package/ccw/dist/tools/claude-cli-tools.js +31 -17
  76. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  77. package/ccw/dist/tools/smart-search.d.ts +25 -0
  78. package/ccw/dist/tools/smart-search.d.ts.map +1 -1
  79. package/ccw/dist/tools/smart-search.js +121 -17
  80. package/ccw/dist/tools/smart-search.js.map +1 -1
  81. package/ccw/src/cli.ts +26 -0
  82. package/ccw/src/commands/cli.ts +49 -7
  83. package/ccw/src/commands/issue.ts +1184 -0
  84. package/ccw/src/core/dashboard-generator-patch.ts +1 -0
  85. package/ccw/src/core/routes/cli-routes.ts +3 -3
  86. package/ccw/src/core/routes/issue-routes.ts +559 -0
  87. package/ccw/src/core/server.ts +17 -2
  88. package/ccw/src/templates/dashboard-css/32-issue-manager.css +2544 -0
  89. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +467 -0
  90. package/ccw/src/templates/dashboard-js/components/cli-history.js +40 -13
  91. package/ccw/src/templates/dashboard-js/components/cli-status.js +26 -2
  92. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +461 -0
  93. package/ccw/src/templates/dashboard-js/components/navigation.js +8 -0
  94. package/ccw/src/templates/dashboard-js/components/notifications.js +16 -0
  95. package/ccw/src/templates/dashboard-js/i18n.js +290 -2
  96. package/ccw/src/templates/dashboard-js/views/cli-manager.js +5 -0
  97. package/ccw/src/templates/dashboard-js/views/history.js +19 -4
  98. package/ccw/src/templates/dashboard-js/views/hook-manager.js +11 -5
  99. package/ccw/src/templates/dashboard-js/views/issue-manager.js +1546 -0
  100. package/ccw/src/templates/dashboard.html +55 -0
  101. package/ccw/src/tools/claude-cli-tools.ts +37 -20
  102. package/ccw/src/tools/smart-search.ts +157 -16
  103. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  104. package/codex-lens/src/codexlens/config.py +5 -0
  105. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  106. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  107. package/codex-lens/src/codexlens/search/hybrid_search.py +144 -11
  108. package/codex-lens/src/codexlens/search/ranking.py +267 -1
  109. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  110. package/codex-lens/src/codexlens/semantic/chunker.py +55 -10
  111. package/package.json +2 -2
@@ -0,0 +1,354 @@
1
+ ---
2
+ name: queue
3
+ description: Form execution queue from bound solutions using issue-queue-agent
4
+ argument-hint: "[--rebuild] [--issue <id>]"
5
+ allowed-tools: TodoWrite(*), Task(*), Bash(*), Read(*), Write(*)
6
+ ---
7
+
8
+ # Issue Queue Command (/issue:queue)
9
+
10
+ ## Overview
11
+
12
+ Queue formation command using **issue-queue-agent** that analyzes all bound solutions, resolves conflicts, determines dependencies, and creates an ordered execution queue. The queue is global across all issues.
13
+
14
+ **Core capabilities:**
15
+ - **Agent-driven**: issue-queue-agent handles all ordering logic
16
+ - ACE semantic search for relationship discovery
17
+ - Dependency DAG construction and cycle detection
18
+ - File conflict detection and resolution
19
+ - Semantic priority calculation (0.0-1.0)
20
+ - Parallel/Sequential group assignment
21
+ - Output global queue.json
22
+
23
+ ## Storage Structure (Queue History)
24
+
25
+ ```
26
+ .workflow/issues/
27
+ ├── issues.jsonl # All issues (one per line)
28
+ ├── queues/ # Queue history directory
29
+ │ ├── index.json # Queue index (active + history)
30
+ │ ├── {queue-id}.json # Individual queue files
31
+ │ └── ...
32
+ └── solutions/
33
+ ├── {issue-id}.jsonl # Solutions for issue
34
+ └── ...
35
+ ```
36
+
37
+ ### Queue Index Schema
38
+
39
+ ```json
40
+ {
41
+ "active_queue_id": "QUE-20251227-143000",
42
+ "queues": [
43
+ {
44
+ "id": "QUE-20251227-143000",
45
+ "status": "active",
46
+ "issue_ids": ["GH-123", "GH-124"],
47
+ "total_tasks": 8,
48
+ "completed_tasks": 3,
49
+ "created_at": "2025-12-27T14:30:00Z"
50
+ },
51
+ {
52
+ "id": "QUE-20251226-100000",
53
+ "status": "completed",
54
+ "issue_ids": ["GH-120"],
55
+ "total_tasks": 5,
56
+ "completed_tasks": 5,
57
+ "created_at": "2025-12-26T10:00:00Z",
58
+ "completed_at": "2025-12-26T12:30:00Z"
59
+ }
60
+ ]
61
+ }
62
+ ```
63
+
64
+ ## Usage
65
+
66
+ ```bash
67
+ /issue:queue [FLAGS]
68
+
69
+ # Examples
70
+ /issue:queue # Form NEW queue from all bound solutions
71
+ /issue:queue --issue GH-123 # Form queue for specific issue only
72
+ /issue:queue --append GH-124 # Append to active queue
73
+ /issue:queue --list # List all queues (history)
74
+ /issue:queue --switch QUE-xxx # Switch active queue
75
+ /issue:queue --archive # Archive completed active queue
76
+
77
+ # Flags
78
+ --issue <id> Form queue for specific issue only
79
+ --append <id> Append issue to active queue (don't create new)
80
+ --list List all queues with status
81
+ --switch <queue-id> Switch active queue
82
+ --archive Archive current queue (mark completed)
83
+ --clear <queue-id> Delete a queue from history
84
+ ```
85
+
86
+ ## Execution Process
87
+
88
+ ```
89
+ Phase 1: Solution Loading
90
+ ├─ Load issues.jsonl
91
+ ├─ Filter issues with bound_solution_id
92
+ ├─ Read solutions/{issue-id}.jsonl for each issue
93
+ ├─ Find bound solution by ID
94
+ └─ Extract tasks from bound solutions
95
+
96
+ Phase 2-4: Agent-Driven Queue Formation (issue-queue-agent)
97
+ ├─ Launch issue-queue-agent with all tasks
98
+ ├─ Agent performs:
99
+ │ ├─ Build dependency DAG from depends_on
100
+ │ ├─ Detect circular dependencies
101
+ │ ├─ Identify file modification conflicts
102
+ │ ├─ Resolve conflicts using ordering rules
103
+ │ ├─ Calculate semantic priority (0.0-1.0)
104
+ │ └─ Assign execution groups (parallel/sequential)
105
+ └─ Output: queue JSON with ordered tasks
106
+
107
+ Phase 5: Queue Output
108
+ ├─ Write queue.json
109
+ ├─ Update issue statuses in issues.jsonl
110
+ └─ Display queue summary
111
+ ```
112
+
113
+ ## Implementation
114
+
115
+ ### Phase 1: Solution Loading
116
+
117
+ ```javascript
118
+ // Load issues.jsonl
119
+ const issuesPath = '.workflow/issues/issues.jsonl';
120
+ const allIssues = Bash(`cat "${issuesPath}" 2>/dev/null || echo ''`)
121
+ .split('\n')
122
+ .filter(line => line.trim())
123
+ .map(line => JSON.parse(line));
124
+
125
+ // Filter issues with bound solutions
126
+ const plannedIssues = allIssues.filter(i =>
127
+ i.status === 'planned' && i.bound_solution_id
128
+ );
129
+
130
+ if (plannedIssues.length === 0) {
131
+ console.log('No issues with bound solutions found.');
132
+ console.log('Run /issue:plan first to create and bind solutions.');
133
+ return;
134
+ }
135
+
136
+ // Load all tasks from bound solutions
137
+ const allTasks = [];
138
+ for (const issue of plannedIssues) {
139
+ const solPath = `.workflow/issues/solutions/${issue.id}.jsonl`;
140
+ const solutions = Bash(`cat "${solPath}" 2>/dev/null || echo ''`)
141
+ .split('\n')
142
+ .filter(line => line.trim())
143
+ .map(line => JSON.parse(line));
144
+
145
+ // Find bound solution
146
+ const boundSol = solutions.find(s => s.id === issue.bound_solution_id);
147
+
148
+ if (!boundSol) {
149
+ console.log(`⚠ Bound solution ${issue.bound_solution_id} not found for ${issue.id}`);
150
+ continue;
151
+ }
152
+
153
+ for (const task of boundSol.tasks || []) {
154
+ allTasks.push({
155
+ issue_id: issue.id,
156
+ solution_id: issue.bound_solution_id,
157
+ task,
158
+ exploration_context: boundSol.exploration_context
159
+ });
160
+ }
161
+ }
162
+
163
+ console.log(`Loaded ${allTasks.length} tasks from ${plannedIssues.length} issues`);
164
+ ```
165
+
166
+ ### Phase 2-4: Agent-Driven Queue Formation
167
+
168
+ ```javascript
169
+ // Launch issue-queue-agent to handle all ordering logic
170
+ const agentPrompt = `
171
+ ## Tasks to Order
172
+
173
+ ${JSON.stringify(allTasks, null, 2)}
174
+
175
+ ## Project Root
176
+ ${process.cwd()}
177
+
178
+ ## Requirements
179
+ 1. Build dependency DAG from depends_on fields
180
+ 2. Detect circular dependencies (abort if found)
181
+ 3. Identify file modification conflicts
182
+ 4. Resolve conflicts using ordering rules:
183
+ - Create before Update/Implement
184
+ - Foundation scopes (config/types) before implementation
185
+ - Core logic before tests
186
+ 5. Calculate semantic priority (0.0-1.0) for each task
187
+ 6. Assign execution groups (parallel P* / sequential S*)
188
+ 7. Output queue JSON
189
+ `;
190
+
191
+ const result = Task(
192
+ subagent_type="issue-queue-agent",
193
+ run_in_background=false,
194
+ description=`Order ${allTasks.length} tasks from ${plannedIssues.length} issues`,
195
+ prompt=agentPrompt
196
+ );
197
+
198
+ // Parse agent output
199
+ const agentOutput = JSON.parse(result);
200
+
201
+ if (!agentOutput.success) {
202
+ console.error(`Queue formation failed: ${agentOutput.error}`);
203
+ if (agentOutput.cycles) {
204
+ console.error('Circular dependencies:', agentOutput.cycles.join(', '));
205
+ }
206
+ return;
207
+ }
208
+ ```
209
+
210
+ ### Phase 5: Queue Output & Summary
211
+
212
+ ```javascript
213
+ const queueOutput = agentOutput.output;
214
+
215
+ // Write queue.json
216
+ Write('.workflow/issues/queue.json', JSON.stringify(queueOutput, null, 2));
217
+
218
+ // Update issue statuses in issues.jsonl
219
+ const updatedIssues = allIssues.map(issue => {
220
+ if (plannedIssues.find(p => p.id === issue.id)) {
221
+ return {
222
+ ...issue,
223
+ status: 'queued',
224
+ queued_at: new Date().toISOString(),
225
+ updated_at: new Date().toISOString()
226
+ };
227
+ }
228
+ return issue;
229
+ });
230
+
231
+ Write(issuesPath, updatedIssues.map(i => JSON.stringify(i)).join('\n'));
232
+
233
+ // Display summary
234
+ console.log(`
235
+ ## Queue Formed
236
+
237
+ **Total Tasks**: ${queueOutput.queue.length}
238
+ **Issues**: ${plannedIssues.length}
239
+ **Conflicts**: ${queueOutput.conflicts?.length || 0} (${queueOutput._metadata?.resolved_conflicts || 0} resolved)
240
+
241
+ ### Execution Groups
242
+ ${(queueOutput.execution_groups || []).map(g => {
243
+ const type = g.type === 'parallel' ? 'Parallel' : 'Sequential';
244
+ return `- ${g.id} (${type}): ${g.task_count} tasks`;
245
+ }).join('\n')}
246
+
247
+ ### Next Steps
248
+ 1. Review queue: \`ccw issue queue list\`
249
+ 2. Execute: \`/issue:execute\`
250
+ `);
251
+ ```
252
+
253
+ ## Queue Schema
254
+
255
+ Output `queues/{queue-id}.json`:
256
+
257
+ ```json
258
+ {
259
+ "id": "QUE-20251227-143000",
260
+ "name": "Auth Feature Queue",
261
+ "status": "active",
262
+ "issue_ids": ["GH-123", "GH-124"],
263
+
264
+ "queue": [
265
+ {
266
+ "queue_id": "Q-001",
267
+ "issue_id": "GH-123",
268
+ "solution_id": "SOL-001",
269
+ "task_id": "T1",
270
+ "status": "pending",
271
+ "execution_order": 1,
272
+ "execution_group": "P1",
273
+ "depends_on": [],
274
+ "semantic_priority": 0.7,
275
+ "queued_at": "2025-12-26T10:00:00Z"
276
+ }
277
+ ],
278
+
279
+ "conflicts": [
280
+ {
281
+ "type": "file_conflict",
282
+ "file": "src/auth.ts",
283
+ "tasks": ["GH-123:T1", "GH-124:T2"],
284
+ "resolution": "sequential",
285
+ "resolution_order": ["GH-123:T1", "GH-124:T2"],
286
+ "rationale": "T1 creates file before T2 updates",
287
+ "resolved": true
288
+ }
289
+ ],
290
+
291
+ "execution_groups": [
292
+ { "id": "P1", "type": "parallel", "task_count": 3, "tasks": ["GH-123:T1", "GH-124:T1", "GH-125:T1"] },
293
+ { "id": "S2", "type": "sequential", "task_count": 2, "tasks": ["GH-123:T2", "GH-124:T2"] }
294
+ ],
295
+
296
+ "_metadata": {
297
+ "version": "2.0",
298
+ "total_tasks": 5,
299
+ "pending_count": 3,
300
+ "completed_count": 2,
301
+ "failed_count": 0,
302
+ "created_at": "2025-12-26T10:00:00Z",
303
+ "updated_at": "2025-12-26T11:00:00Z",
304
+ "source": "issue-queue-agent"
305
+ }
306
+ }
307
+ ```
308
+
309
+ ### Queue ID Format
310
+
311
+ ```
312
+ QUE-YYYYMMDD-HHMMSS
313
+ 例如: QUE-20251227-143052
314
+ ```
315
+
316
+ ## Semantic Priority Rules
317
+
318
+ | Factor | Priority Boost |
319
+ |--------|---------------|
320
+ | Create action | +0.2 |
321
+ | Configure action | +0.15 |
322
+ | Implement action | +0.1 |
323
+ | Config/Types scope | +0.1 |
324
+ | Refactor action | -0.05 |
325
+ | Test action | -0.1 |
326
+ | Delete action | -0.15 |
327
+
328
+ ## Error Handling
329
+
330
+ | Error | Resolution |
331
+ |-------|------------|
332
+ | No bound solutions | Display message, suggest /issue:plan |
333
+ | Circular dependency | List cycles, abort queue formation |
334
+ | Unresolved conflicts | Agent resolves using ordering rules |
335
+ | Invalid task reference | Skip and warn |
336
+
337
+ ## Agent Integration
338
+
339
+ The command uses `issue-queue-agent` which:
340
+ 1. Builds dependency DAG from task depends_on fields
341
+ 2. Detects circular dependencies (aborts if found)
342
+ 3. Identifies file modification conflicts across issues
343
+ 4. Resolves conflicts using semantic ordering rules
344
+ 5. Calculates priority (0.0-1.0) for each task
345
+ 6. Assigns parallel/sequential execution groups
346
+ 7. Outputs structured queue JSON
347
+
348
+ See `.claude/agents/issue-queue-agent.md` for agent specification.
349
+
350
+ ## Related Commands
351
+
352
+ - `/issue:plan` - Plan issues and bind solutions
353
+ - `/issue:execute` - Execute queue with codex
354
+ - `ccw issue queue list` - View current queue
@@ -5,7 +5,7 @@ argument-hint: "[--dry-run] [\"focus area\"]"
5
5
  allowed-tools: TodoWrite(*), Task(*), AskUserQuestion(*), Read(*), Glob(*), Bash(*), Write(*)
6
6
  ---
7
7
 
8
- # Clean Command (/clean)
8
+ # Clean Command (/workflow:clean)
9
9
 
10
10
  ## Overview
11
11
 
@@ -20,9 +20,9 @@ Intelligent cleanup command that explores the codebase to identify the developme
20
20
  ## Usage
21
21
 
22
22
  ```bash
23
- /clean # Full intelligent cleanup (explore → analyze → confirm → execute)
24
- /clean --dry-run # Explore and analyze only, no execution
25
- /clean "auth module" # Focus cleanup on specific area
23
+ /workflow:clean # Full intelligent cleanup (explore → analyze → confirm → execute)
24
+ /workflow:clean --dry-run # Explore and analyze only, no execution
25
+ /workflow:clean "auth module" # Focus cleanup on specific area
26
26
  ```
27
27
 
28
28
  ## Execution Process
@@ -321,7 +321,7 @@ if (flags.includes('--dry-run')) {
321
321
  **Dry-run mode**: No changes made.
322
322
  Manifest saved to: ${sessionFolder}/cleanup-manifest.json
323
323
 
324
- To execute cleanup: /clean
324
+ To execute cleanup: /workflow:clean
325
325
  `)
326
326
  return
327
327
  }