claude-code-workflow 7.2.13 → 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.
Files changed (76) hide show
  1. package/.claude/commands/workflow/analyze-with-file.md +61 -40
  2. package/.claude/skills/workflow-lite-plan/SKILL.md +3 -7
  3. package/.codex/skills/analyze-with-file/SKILL.md +1181 -1182
  4. package/.codex/skills/brainstorm/SKILL.md +723 -725
  5. package/.codex/skills/brainstorm-with-file/SKILL.md +10 -5
  6. package/.codex/skills/clean/SKILL.md +33 -26
  7. package/.codex/skills/collaborative-plan-with-file/SKILL.md +830 -831
  8. package/.codex/skills/csv-wave-pipeline/SKILL.md +906 -906
  9. package/.codex/skills/issue-discover/SKILL.md +57 -50
  10. package/.codex/skills/issue-discover/phases/01-issue-new.md +18 -11
  11. package/.codex/skills/issue-discover/phases/02-discover.md +31 -26
  12. package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +13 -11
  13. package/.codex/skills/issue-discover/phases/04-quick-execute.md +32 -27
  14. package/.codex/skills/parallel-dev-cycle/SKILL.md +402 -402
  15. package/.codex/skills/project-documentation-workflow/SKILL.md +13 -3
  16. package/.codex/skills/roadmap-with-file/SKILL.md +901 -897
  17. package/.codex/skills/session-sync/SKILL.md +222 -212
  18. package/.codex/skills/spec-add/SKILL.md +620 -613
  19. package/.codex/skills/spec-generator/SKILL.md +2 -2
  20. package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +10 -10
  21. package/.codex/skills/spec-generator/phases/01-discovery.md +11 -18
  22. package/.codex/skills/spec-generator/phases/02-product-brief.md +5 -5
  23. package/.codex/skills/spec-generator/phases/03-requirements.md +7 -7
  24. package/.codex/skills/spec-generator/phases/04-architecture.md +4 -4
  25. package/.codex/skills/spec-generator/phases/05-epics-stories.md +5 -6
  26. package/.codex/skills/spec-generator/phases/06-readiness-check.md +10 -17
  27. package/.codex/skills/spec-generator/phases/07-issue-export.md +326 -329
  28. package/.codex/skills/spec-setup/SKILL.md +669 -657
  29. package/.codex/skills/team-arch-opt/SKILL.md +50 -50
  30. package/.codex/skills/team-arch-opt/agents/completion-handler.md +3 -3
  31. package/.codex/skills/team-brainstorm/SKILL.md +724 -725
  32. package/.codex/skills/team-coordinate/SKILL.md +51 -51
  33. package/.codex/skills/team-coordinate/agents/completion-handler.md +3 -3
  34. package/.codex/skills/team-coordinate/agents/plan-reviewer.md +4 -4
  35. package/.codex/skills/team-designer/SKILL.md +691 -691
  36. package/.codex/skills/team-designer/agents/requirement-clarifier.md +11 -12
  37. package/.codex/skills/team-executor/SKILL.md +45 -45
  38. package/.codex/skills/team-frontend/SKILL.md +45 -45
  39. package/.codex/skills/team-frontend/agents/completion-handler.md +3 -3
  40. package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +4 -4
  41. package/.codex/skills/team-frontend-debug/SKILL.md +50 -50
  42. package/.codex/skills/team-frontend-debug/agents/completion-handler.md +3 -3
  43. package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +4 -4
  44. package/.codex/skills/team-issue/SKILL.md +751 -740
  45. package/.codex/skills/team-iterdev/SKILL.md +825 -826
  46. package/.codex/skills/team-lifecycle-v4/SKILL.md +775 -775
  47. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -165
  48. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -163
  49. package/.codex/skills/team-perf-opt/SKILL.md +50 -50
  50. package/.codex/skills/team-perf-opt/agents/completion-handler.md +3 -3
  51. package/.codex/skills/team-planex-v2/SKILL.md +652 -637
  52. package/.codex/skills/team-quality-assurance/SKILL.md +51 -52
  53. package/.codex/skills/team-review/SKILL.md +40 -40
  54. package/.codex/skills/team-roadmap-dev/SKILL.md +51 -51
  55. package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +8 -8
  56. package/.codex/skills/team-tech-debt/SKILL.md +50 -50
  57. package/.codex/skills/team-tech-debt/agents/plan-approver.md +5 -5
  58. package/.codex/skills/team-testing/SKILL.md +51 -52
  59. package/.codex/skills/team-uidesign/SKILL.md +40 -40
  60. package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -177
  61. package/.codex/skills/team-ultra-analyze/SKILL.md +786 -787
  62. package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +8 -8
  63. package/.codex/skills/team-ux-improve/SKILL.md +51 -52
  64. package/.codex/skills/team-ux-improve/agents/ux-designer.md +2 -2
  65. package/.codex/skills/team-ux-improve/agents/ux-explorer.md +1 -1
  66. package/.codex/skills/unified-execute-with-file/SKILL.md +797 -796
  67. package/.codex/skills/workflow-execute/SKILL.md +1117 -1118
  68. package/.codex/skills/workflow-lite-planex/SKILL.md +1144 -1141
  69. package/.codex/skills/workflow-plan/SKILL.md +631 -636
  70. package/.codex/skills/workflow-tdd-plan/SKILL.md +753 -759
  71. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -392
  72. package/README.md +25 -0
  73. package/ccw/dist/commands/install.d.ts.map +1 -1
  74. package/ccw/dist/commands/install.js +12 -0
  75. package/ccw/dist/commands/install.js.map +1 -1
  76. package/package.json +1 -1
@@ -72,6 +72,12 @@ All `AskUserQuestion` calls MUST comply:
72
72
 
73
73
  **Principles**: Immediacy (record as-it-happens), Completeness (context+options+chosen+reason+rejected), Traceability (later phases trace back), Depth (capture reasoning, not just outcomes)
74
74
 
75
+ **Technical Solution Triggers** — record using Technical Solution Record Format when ANY of:
76
+ - An implementation approach is described with specific files/patterns/code changes
77
+ - Two or more alternatives are compared with trade-offs
78
+ - User confirms, modifies, or rejects a proposed approach
79
+ - A concrete code change strategy emerges (what to modify, how, why)
80
+
75
81
  ### Output Artifacts
76
82
 
77
83
  | Phase | Artifact | Description |
@@ -325,36 +331,7 @@ CONSTRAINTS: Focus on ${dimensions.join(', ')} | Do NOT re-discover files — us
325
331
  - Present to user at beginning of Phase 3: "初始探索完成后,以下意图的覆盖情况:[list]。接下来的讨论将重点关注未覆盖的部分。"
326
332
  - Purpose: Early course correction — catch drift before spending multiple interactive rounds
327
333
 
328
- **exploration-codebase.json Schema** (shared Layer 1):
329
- - `session_id`, `timestamp`, `topic`, `dimensions[]`
330
- - `relevant_files[]`: {path, annotation, dimensions[]}
331
- - `patterns[]`, `module_map`: {}
332
- - `questions_for_user[]`, `_metadata`
333
-
334
- **research.json Schema** (external research findings):
335
- - `topic`, `mode` (detail-verification|api-research|design-research), `timestamp`
336
- - `findings[]`: {finding, detail, confidence, source_url}
337
- - `best_practices[]`: {practice, rationale, source}
338
- - `alternatives[]`: {option, pros, cons, verdict}
339
- - `pitfalls[]`: {issue, mitigation, source}
340
- - `codebase_gaps[]`: {gap, current_approach, recommended_approach}
341
- - `sources[]`: {title, url, key_takeaway}
342
- - `_metadata`: {queries_executed, results_found}
343
-
344
- **explorations.json Schema** (single — Layer 1 + CLI analysis + research merged):
345
- - `session_id`, `timestamp`, `topic`, `dimensions[]`
346
- - `sources[]`: {type, file/summary}
347
- - `key_findings[]`, `code_anchors[]`: {file, lines, snippet, significance}
348
- - `call_chains[]`: {entry, chain, files}
349
- - `discussion_points[]`, `open_questions[]`
350
- - `technical_solutions[]`: {round, solution, problem, rationale, alternatives, status: proposed|validated|rejected, evidence_refs[], next_action}
351
- - `external_research`: {findings[], best_practices[], codebase_gaps[], sources[]} — merged from research.json if available
352
-
353
- **perspectives.json Schema** (multi — Layer 1 shared + per-perspective Layer 2-3 + research):
354
- - `shared_discovery`: {relevant_files[], patterns[], module_map}
355
- - `perspectives[]`: [{name, tool, findings, insights, questions, code_anchors[], call_chains[]}]
356
- - `external_research`: {findings[], best_practices[], codebase_gaps[], sources[]} — merged from research.json if available
357
- - `synthesis`: {convergent_themes, conflicting_views, unique_contributions}
334
+ > All JSON schemas consolidated in `<schemas>` section below.
358
335
 
359
336
  | Condition | Action |
360
337
  |-----------|--------|
@@ -402,12 +379,23 @@ const priorContext = `
402
379
 
403
380
  4. **Process Response** (always record user choice + impact to discussion.md):
404
381
 
382
+ **Record-Before-Continue Rule**: Each path below MUST write findings and discussion synthesis to `discussion.md` BEFORE proceeding to Step 5. Specifically, after agent/CLI returns results:
383
+ - Append the exploration results, reasoning, and any technical approaches discussed to the current round section
384
+ - Apply **Technical Solution Triggers** (see Decision Recording Protocol) — if triggered, record using Technical Solution Record Format
385
+ - **Ambiguity Check**: For each Technical Solution with Status `Proposed`, verify no unresolved alternatives remain. If a solution lists 2+ options without a chosen one (e.g., "A or B"), record as:
386
+ ```markdown
387
+ > **⚠️ Ambiguity**: [Solution] has [N] unresolved alternatives: [list]
388
+ > - **Needs**: [Decision criteria or exploration to resolve]
389
+ ```
390
+ Surface unresolved ambiguities to user in the next feedback round.
391
+ - Only THEN proceed to Step 5 for Current Understanding replacement and TOC update
392
+
405
393
  **继续深入** -> Sub-question to choose direction (AskUserQuestion, single-select, header: "深入方向"):
406
394
  - Dynamically generate **max 3** context-driven options from: unresolved questions, low-confidence findings, unexplored dimensions, user-highlighted areas
407
395
  - Add **1** heuristic option that breaks current frame (e.g., "compare with best practices", "review from security perspective", "explore simpler alternatives")
408
396
  - Total: **max 4 options**. Each specifies: label, description, tool (cli-explore-agent for code-level / Gemini CLI for pattern-level), scope
409
397
  - **"Other" is auto-provided** by AskUserQuestion — covers user-specified custom direction (no need for separate "suggest next step" option)
410
- - Execute selected direction -> merge new code_anchors/call_chains -> record confirmed assumptions + deepen angle
398
+ - Execute selected direction -> merge new code_anchors/call_chains into explorations.json -> **write exploration results, analysis reasoning, and any proposed approaches to discussion.md** -> record confirmed assumptions + deepen angle
411
399
 
412
400
  **外部研究** -> Spawn workflow-research-agent for targeted research:
413
401
  - AskUserQuestion (header: "研究主题", freetext via "Other"): What specific technology/pattern/approach needs external research?
@@ -420,9 +408,7 @@ const priorContext = `
420
408
 
421
409
  **分析完成** -> Exit loop -> Record why concluding
422
410
 
423
- 5. **Update discussion.md**:
424
- - **Append** Round N: user input, direction adjustment, Q&A, corrections, new insights
425
- - **Append Technical Solutions** — for every solution proposed, validated, or rejected this round, record immediately using Technical Solution Record Format in `#### Technical Solutions`
411
+ 5. **Update discussion.md** (after Record-Before-Continue writes are done):
426
412
  - **Replace** `## Current Understanding` block with latest consolidated understanding (follow Consolidation Rules)
427
413
  - **Update** `## Table of Contents` with links to new Round N sections
428
414
 
@@ -477,6 +463,7 @@ const priorContext = `
477
463
  - Compile Decision Trail from all phases
478
464
  - Key conclusions with evidence + confidence (high/medium/low)
479
465
  - Recommendations with rationale + priority (high/medium/low) — **merge validated `technical_solutions[]` from explorations.json as high-priority recommendations**
466
+ - **Solution Readiness Gate**: For each recommendation, check if all key choices are resolved. Flag `ambiguity_resolved: false` on any recommendation that still contains unresolved alternatives. Present unresolved items to user before proceeding to Step 3.
480
467
  - Open questions, follow-up suggestions
481
468
  - Decision summary linking conclusions back to decisions
482
469
  - Write to conclusions.json
@@ -621,7 +608,45 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
621
608
 
622
609
  **TodoWrite**: Update `next-step` -> `"completed"` after user selection is handled
623
610
 
624
- **conclusions.json Schema**:
611
+ > conclusions.json schema: see `<schemas>` section below.
612
+ </step>
613
+
614
+ </process>
615
+
616
+ <schemas>
617
+
618
+ **exploration-codebase.json** (shared Layer 1):
619
+ - `session_id`, `timestamp`, `topic`, `dimensions[]`
620
+ - `relevant_files[]`: {path, annotation, dimensions[]}
621
+ - `patterns[]`, `module_map`: {}
622
+ - `questions_for_user[]`, `_metadata`
623
+
624
+ **research.json** (external research findings):
625
+ - `topic`, `mode` (detail-verification|api-research|design-research), `timestamp`
626
+ - `findings[]`: {finding, detail, confidence, source_url}
627
+ - `best_practices[]`: {practice, rationale, source}
628
+ - `alternatives[]`: {option, pros, cons, verdict}
629
+ - `pitfalls[]`: {issue, mitigation, source}
630
+ - `codebase_gaps[]`: {gap, current_approach, recommended_approach}
631
+ - `sources[]`: {title, url, key_takeaway}
632
+ - `_metadata`: {queries_executed, results_found}
633
+
634
+ **explorations.json** (single — Layer 1 + CLI analysis + research merged):
635
+ - `session_id`, `timestamp`, `topic`, `dimensions[]`
636
+ - `sources[]`: {type, file/summary}
637
+ - `key_findings[]`, `code_anchors[]`: {file, lines, snippet, significance}
638
+ - `call_chains[]`: {entry, chain, files}
639
+ - `discussion_points[]`, `open_questions[]`
640
+ - `technical_solutions[]`: {round, solution, problem, rationale, alternatives, status: proposed|validated|rejected, evidence_refs[], next_action}
641
+ - `external_research`: {findings[], best_practices[], codebase_gaps[], sources[]} — merged from research.json if available
642
+
643
+ **perspectives.json** (multi — Layer 1 shared + per-perspective Layer 2-3 + research):
644
+ - `shared_discovery`: {relevant_files[], patterns[], module_map}
645
+ - `perspectives[]`: [{name, tool, findings, insights, questions, code_anchors[], call_chains[]}]
646
+ - `external_research`: {findings[], best_practices[], codebase_gaps[], sources[]} — merged from research.json if available
647
+ - `synthesis`: {convergent_themes, conflicting_views, unique_contributions}
648
+
649
+ **conclusions.json**:
625
650
  - `session_id`, `topic`, `completed`, `total_rounds`, `summary`
626
651
  - `key_conclusions[]`: {point, evidence, confidence, code_anchor_refs[]}
627
652
  - `code_anchors[]`: {file, lines, snippet, significance}
@@ -631,9 +656,8 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
631
656
  - `decision_trail[]`: {round, decision, context, options_considered, chosen, rejected_reasons, reason, impact}
632
657
  - `narrative_trail[]`: {round, starting_point, key_progress, hypothesis_impact, updated_understanding, remaining_questions}
633
658
  - `intent_coverage[]`: {intent, status, where_addressed, notes}
634
- </step>
635
659
 
636
- </process>
660
+ </schemas>
637
661
 
638
662
  <error_codes>
639
663
 
@@ -721,9 +745,6 @@ Present 2-3 top directions per dimension, allow multi-select + custom.
721
745
  | Preserve key learnings | Keep insights valuable for future reference |
722
746
 
723
747
  </configuration>
724
-
725
- > **Lite-plan handoff**: Phase 4「执行任务」builds structured `handoff-spec` JSON (implementation_scope with acceptance_criteria, code_anchors, key_findings) embedded in `## Prior Analysis` block. lite-plan parses `json:handoff-spec` to directly map scope items → tasks, skipping exploration and using acceptance_criteria as convergence.criteria.
726
-
727
748
  ---
728
749
 
729
750
  **Now execute analyze-with-file for**: $ARGUMENTS
@@ -340,9 +340,6 @@ Generate implementation plan and write plan.json.
340
340
  - ${sessionFolder}/plan.json (plan overview — NO embedded tasks[])
341
341
  - ${sessionFolder}/.task/TASK-*.json (independent task files, one per task)
342
342
 
343
- ## Schema Reference
344
- Execute: cat ~/.ccw/workflows/cli-templates/schemas/plan-overview-base-schema.json
345
-
346
343
  ## Project Context (MANDATORY)
347
344
  Execute: ccw spec load --category planning
348
345
  **CRITICAL**: All generated tasks MUST comply with constraints in specs/*.md
@@ -392,7 +389,6 @@ ${complexity}
392
389
  ## Requirements
393
390
  - _metadata.exploration_angles: ${JSON.stringify(manifest.explorations.map(e => e.angle))}
394
391
  - Two-layer output: plan.json (task_ids[], NO tasks[]) + .task/TASK-*.json
395
- - Follow plan-overview-base-schema.json for plan.json, task-schema.json for .task/*.json
396
392
  - Field names: files[].change (not modification_points), convergence.criteria (not acceptance)
397
393
 
398
394
  ## Task Grouping Rules
@@ -405,9 +401,9 @@ ${complexity}
405
401
  7. **Prefer parallel**: Most tasks should be independent
406
402
 
407
403
  ## Execution
408
- 1. Read schema → 2. ccw spec load → 3. Read ALL exploration files → 4. Synthesize + generate
409
- 5. Write: planning-context.md, .task/TASK-*.json, plan.json (task_ids[], NO tasks[])
410
- 6. Return brief completion summary
404
+ 1. ccw spec load → 2. Read ALL exploration files → 3. Synthesize + generate
405
+ 4. Write: planning-context.md, .task/TASK-*.json, plan.json (task_ids[], NO tasks[])
406
+ 5. Return brief completion summary
411
407
  `
412
408
  )
413
409
  ```