@leeovery/claude-technical-workflows 2.0.0

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 (33) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +283 -0
  3. package/agents/chain-verifier.md +129 -0
  4. package/commands/interview.md +54 -0
  5. package/commands/start-discussion.md +36 -0
  6. package/commands/start-implementation.md +107 -0
  7. package/commands/start-planning.md +92 -0
  8. package/commands/start-research.md +21 -0
  9. package/commands/start-specification.md +89 -0
  10. package/package.json +24 -0
  11. package/skills/.gitkeep +0 -0
  12. package/skills/technical-discussion/SKILL.md +68 -0
  13. package/skills/technical-discussion/references/guidelines.md +86 -0
  14. package/skills/technical-discussion/references/meeting-assistant.md +102 -0
  15. package/skills/technical-discussion/references/template.md +127 -0
  16. package/skills/technical-implementation/SKILL.md +167 -0
  17. package/skills/technical-implementation/references/code-quality.md +41 -0
  18. package/skills/technical-implementation/references/environment-setup.md +97 -0
  19. package/skills/technical-implementation/references/plan-execution.md +49 -0
  20. package/skills/technical-implementation/references/tdd-workflow.md +63 -0
  21. package/skills/technical-planning/SKILL.md +46 -0
  22. package/skills/technical-planning/references/formal-planning.md +118 -0
  23. package/skills/technical-planning/references/output-backlog-md.md +227 -0
  24. package/skills/technical-planning/references/output-beads.md +302 -0
  25. package/skills/technical-planning/references/output-formats.md +14 -0
  26. package/skills/technical-planning/references/output-linear.md +211 -0
  27. package/skills/technical-planning/references/output-local-markdown.md +185 -0
  28. package/skills/technical-research/SKILL.md +81 -0
  29. package/skills/technical-review/SKILL.md +107 -0
  30. package/skills/technical-review/references/review-checklist.md +155 -0
  31. package/skills/technical-review/references/template.md +46 -0
  32. package/skills/technical-specification/SKILL.md +51 -0
  33. package/skills/technical-specification/references/specification-guide.md +170 -0
@@ -0,0 +1,92 @@
1
+ ---
2
+ description: Start a planning session from an existing specification. Discovers available specifications, asks where to store the plan, and invokes the technical-planning skill.
3
+ ---
4
+
5
+ Invoke the **technical-planning** skill for this conversation.
6
+
7
+ ## Instructions
8
+
9
+ Follow these steps EXACTLY as written. Do not skip steps or combine them. Present output using the EXACT format shown in examples - do not simplify or alter the formatting.
10
+
11
+ Before beginning, discover existing work and gather necessary information.
12
+
13
+ ## Important
14
+
15
+ Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
16
+
17
+ ## Step 1: Discover Existing Work
18
+
19
+ Scan the codebase for specifications and plans:
20
+
21
+ 1. **Find specifications**: Look in `docs/workflow/specification/`
22
+ - Run `ls docs/workflow/specification/` to list specification files
23
+ - Each file is named `{topic}.md`
24
+
25
+ 2. **Check specification status**: For each specification file
26
+ - Run `head -20 docs/workflow/specification/{topic}.md` to read the frontmatter and extract the `status:` field
27
+ - Do NOT use bash loops - run separate `head` commands for each topic
28
+
29
+ 3. **Check for existing plans**: Look in `docs/workflow/planning/`
30
+ - Identify specifications that don't have corresponding plans
31
+
32
+ ## Step 2: Check Prerequisites
33
+
34
+ **If no specifications exist:**
35
+
36
+ ```
37
+ โš ๏ธ No specifications found in docs/workflow/specification/
38
+
39
+ The planning phase requires a completed specification. Please run /start-specification first to validate and refine the discussion content into a standalone specification before creating a plan.
40
+ ```
41
+
42
+ Stop here and wait for the user to acknowledge.
43
+
44
+ ## Step 3: Present Options to User
45
+
46
+ Show what you found using a list like below:
47
+
48
+ ```
49
+ ๐Ÿ“‚ Specifications found:
50
+ โš ๏ธ {topic-1} - Building specification - not ready for planning
51
+ โœ… {topic-2} - Complete - ready for planning
52
+ โœ… {topic-3} - Complete - plan exists
53
+
54
+ Which specification would you like to create a plan for?
55
+ ```
56
+
57
+ **Important:** Only completed specifications should proceed to planning. If a specification is still being built, advise the user to complete the specification phase first.
58
+
59
+ Ask: **Which specification would you like to plan?**
60
+
61
+ ## Step 4: Choose Output Destination
62
+
63
+ Ask: **Where should this plan live?**
64
+
65
+ Load **[output-formats.md](skills/technical-planning/references/output-formats.md)** and present the available formats to help the user choose. Then load the corresponding output adapter for that format's setup requirements.
66
+
67
+ ## Step 5: Gather Additional Context
68
+
69
+ - Any additional context or priorities to consider?
70
+ - Any constraints since the specification was completed?
71
+
72
+ ## Step 6: Invoke Planning Skill
73
+
74
+ Pass to the technical-planning skill with:
75
+ - Specification path
76
+ - Output format chosen
77
+ - Additional context gathered
78
+
79
+ **Example handoff:**
80
+ ```
81
+ Planning session for: {topic}
82
+ Specification: docs/workflow/specification/{topic}.md
83
+ Output format: {format}
84
+
85
+ Begin planning using the technical-planning skill.
86
+ ```
87
+
88
+ ## Notes
89
+
90
+ - Ask questions clearly and wait for responses before proceeding
91
+ - The specification is the sole source of truth for planning - do not reference discussions
92
+ - Commit the plan files when complete
@@ -0,0 +1,21 @@
1
+ ---
2
+ description: Start a research exploration using the technical-research skill. For early-stage ideas, feasibility checks, and broad exploration before formal discussion.
3
+ ---
4
+
5
+ Invoke the **technical-research** skill for this conversation.
6
+
7
+ Then ask these questions to kickstart the exploration:
8
+
9
+ 1. **What's on your mind?**
10
+ - What idea or topic do you want to explore?
11
+ - What prompted this - a problem, opportunity, curiosity?
12
+
13
+ 2. **What do you already know?**
14
+ - Any initial thoughts or research you've done?
15
+ - Constraints or context I should be aware of?
16
+
17
+ 3. **Where should we start?**
18
+ - Technical feasibility? Market landscape? Business model?
19
+ - Or just talk it through and see where it goes?
20
+
21
+ Ask these questions clearly and wait for responses before proceeding. The skill handles everything else.
@@ -0,0 +1,89 @@
1
+ ---
2
+ description: Start a specification session from an existing discussion. Discovers available discussions, checks for existing specifications, and invokes the technical-specification skill.
3
+ ---
4
+
5
+ Invoke the **technical-specification** skill for this conversation.
6
+
7
+ ## Instructions
8
+
9
+ Follow these steps EXACTLY as written. Do not skip steps or combine them. Present output using the EXACT format shown in examples - do not simplify or alter the formatting.
10
+
11
+ Before beginning, discover existing work and gather necessary information.
12
+
13
+ ## Important
14
+
15
+ Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
16
+
17
+ ## Step 1: Discover Existing Work
18
+
19
+ Scan the codebase for discussions and specifications:
20
+
21
+ 1. **Find discussions**: Look in `docs/workflow/discussion/`
22
+ - Run `ls docs/workflow/discussion/` to list discussion files
23
+ - Each file is named `{topic}.md`
24
+
25
+ 2. **Check discussion status**: For each discussion file
26
+ - Run `head -20 docs/workflow/discussion/{topic}.md` to read the frontmatter and extract the `status:` field
27
+ - Do NOT use bash loops - run separate `head` commands for each topic
28
+
29
+ 3. **Check for existing specifications**: Look in `docs/workflow/specification/`
30
+ - Identify discussions that don't have corresponding specifications
31
+
32
+ ## Step 2: Check Prerequisites
33
+
34
+ **If no discussions exist:**
35
+
36
+ ```
37
+ โš ๏ธ No discussions found in docs/workflow/discussion/
38
+
39
+ The specification phase requires a completed discussion. Please run /start-discussion first to document the technical decisions, edge cases, and rationale before creating a specification.
40
+ ```
41
+
42
+ Stop here and wait for the user to acknowledge.
43
+
44
+ ## Step 3: Present Options to User
45
+
46
+ Show what you found using a list like below:
47
+
48
+ ```
49
+ ๐Ÿ“‚ Discussions found:
50
+ โœ… {topic-1} - Concluded - ready for specification
51
+ โš ๏ธ {topic-2} - Exploring - not ready for specification
52
+ โœ… {topic-3} - Concluded - specification exists
53
+
54
+ Which discussion would you like to create a specification for?
55
+ ```
56
+
57
+ **Important:** Only concluded discussions should proceed to specification. If a discussion is still exploring, advise the user to complete the discussion phase first.
58
+
59
+ Ask: **Which discussion would you like to specify?**
60
+
61
+ ## Step 4: Gather Additional Context
62
+
63
+ Ask:
64
+ - Any additional context or priorities to consider?
65
+ - Any constraints or changes since the discussion concluded?
66
+ - Are there any existing partial plans or related documentation I should review?
67
+
68
+ ## Step 5: Invoke Specification Skill
69
+
70
+ Pass to the technical-specification skill:
71
+ - Discussion: `docs/workflow/discussion/{topic}.md`
72
+ - Output: `docs/workflow/specification/{topic}.md`
73
+ - Additional context gathered
74
+
75
+ **Example handoff:**
76
+ ```
77
+ Specification session for: {topic}
78
+ Discussion: docs/workflow/discussion/{topic}.md
79
+ Output: docs/workflow/specification/{topic}.md
80
+
81
+ Begin specification using the technical-specification skill.
82
+ Reference: specification-guide.md
83
+ ```
84
+
85
+ ## Notes
86
+
87
+ - Ask questions clearly and wait for responses before proceeding
88
+ - The specification phase validates and refines discussion content into a standalone document
89
+ - Commit the specification files frequently during the session
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@leeovery/claude-technical-workflows",
3
+ "version": "2.0.0",
4
+ "description": "Technical workflow skills & commands for Claude Code",
5
+ "license": "MIT",
6
+ "author": "Lee Overy <me@leeovery.com>",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/leeovery/claude-technical-workflows.git"
10
+ },
11
+ "type": "module",
12
+ "scripts": {
13
+ "postinstall": "claude-plugins add"
14
+ },
15
+ "dependencies": {
16
+ "@leeovery/claude-manager": "^2.0.0"
17
+ },
18
+ "files": [
19
+ "skills",
20
+ "commands",
21
+ "agents",
22
+ "hooks"
23
+ ]
24
+ }
File without changes
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: technical-discussion
3
+ description: "Document technical discussions as expert architect and meeting assistant. Capture context, decisions, edge cases, debates, and rationale without jumping to specification or implementation. Second phase of research-discussion-specification-plan-implement-review workflow. Use when: (1) Users discuss/explore/debate architecture or design, (2) Working through edge cases before specification, (3) Need to document technical decisions and their rationale, (4) Capturing competing solutions and why choices were made. Creates documentation in docs/workflow/discussion/{topic}.md that technical-specification uses to build validated specifications."
4
+ ---
5
+
6
+ # Technical Discussion
7
+
8
+ Act as **expert software architect** participating in discussions AND **documentation assistant** capturing them. Do both simultaneously. Engage deeply while documenting for planning teams.
9
+
10
+ ## Six-Phase Workflow
11
+
12
+ 1. **Research** (previous): EXPLORE - ideas, feasibility, market, business, learning
13
+ 2. **Discussion** (YOU): WHAT and WHY - decisions, architecture, edge cases
14
+ 3. **Specification** (next): REFINE - validate and build standalone spec
15
+ 4. **Planning** (after): HOW - phases, tasks, acceptance criteria
16
+ 5. **Implementation** (after): DOING - tests first, then code
17
+ 6. **Review** (final): VALIDATING - check work against artifacts
18
+
19
+ You're at step 2. Capture context. Don't jump to specs, plans, or code.
20
+
21
+ ## What to Capture
22
+
23
+ - **Back-and-forth debates**: Challenging, prolonged discussions show how we decided X over Y
24
+ - **Small details**: If discussed, it mattered - edge cases, constraints, concerns
25
+ - **Competing solutions**: Why A won over B and C when all looked good
26
+ - **The journey**: False paths, "aha" moments, course corrections
27
+ - **Goal**: Solve edge cases and problems before planning
28
+
29
+ **On length**: Discussions can be thousands of lines. Length = whatever needed to fully capture discussion, debates, edge cases, false paths. Terseness preferred, but comprehensive documentation more important. Don't summarize - document.
30
+
31
+ See **[meeting-assistant.md](references/meeting-assistant.md)** for detailed approach.
32
+
33
+ ## Structure
34
+
35
+ **Output**: `docs/workflow/discussion/{topic}.md`
36
+
37
+ Use **[template.md](references/template.md)** for structure:
38
+
39
+ - **Document-level**: Context, references, questions list
40
+ - **Per-question**: Each question gets its own section with options, journey, and decision
41
+ - **Summary**: Key insights, current state, next steps
42
+
43
+ **Per-question structure** keeps the reasoning contextual. Options considered, false paths, debates, and "aha" moments belong with the specific question they relate to - not as separate top-level sections. This preserves the journey alongside the decision.
44
+
45
+ ## Do / Don't
46
+
47
+ **Do**: Capture debates, edge cases, why solutions won/lost, high-level context, focus on "why"
48
+
49
+ **Don't**: Transcribe verbatim, write code/implementation, create build phases, skip context
50
+
51
+ See **[guidelines.md](references/guidelines.md)** for best practices and anti-hallucination techniques.
52
+
53
+ ## Commit Frequently
54
+
55
+ **Commit discussion docs often**:
56
+
57
+ - At natural breaks in discussion
58
+ - When solutions to problems are identified
59
+ - When discussion branches/forks to new topics
60
+ - Before context refresh (prevents hallucination/memory loss)
61
+
62
+ **Why**: You lose memory on context refresh. Commits help you track, backtrack, and fill gaps. Critical for avoiding hallucination.
63
+
64
+ ## Quick Reference
65
+
66
+ - **Approach**: **[meeting-assistant.md](references/meeting-assistant.md)** - Dual role, workflow
67
+ - **Template**: **[template.md](references/template.md)** - Structure
68
+ - **Guidelines**: **[guidelines.md](references/guidelines.md)** - Best practices
@@ -0,0 +1,86 @@
1
+ # Discussion Documentation Guidelines
2
+
3
+ *Part of **[technical-discussion](../SKILL.md)** | See also: **[meeting-assistant.md](meeting-assistant.md)** ยท **[template.md](template.md)***
4
+
5
+ ---
6
+
7
+ Best practices for documenting discussions. For DOCUMENTATION only - no plans or code.
8
+
9
+ ## Core Principles
10
+
11
+ **One question at a time**: Don't overwhelm with multiple questions. Focus on single issue, get answer, move forward.
12
+
13
+ **Multiple-choice preferred**: Easier to answer than open-ended. Present 2-3 options with trade-offs.
14
+
15
+ **YAGNI ruthlessly**: Remove unnecessary features from all designs. If not discussed, don't add it.
16
+
17
+ **Explore alternatives**: Always propose 2-3 approaches before settling. Show trade-offs.
18
+
19
+ **Be flexible**: Go back and clarify when something doesn't make sense. Don't forge ahead on assumptions.
20
+
21
+ **Ask questions**: Clarify ambiguity. Better to ask than assume.
22
+
23
+ **Journey over destination**: "Explored MySQL, PostgreSQL, MongoDB. MySQL familiar but PostgreSQL better for JSON + ACID. Deciding factor: complex joins + JSON support" not just "Use PostgreSQL"
24
+
25
+ **"Why" over "what"**: "Repository pattern lets us swap data sources (DB/API/cache) without changing actions. Eloquent would tightly couple us" not just "Use repository"
26
+
27
+ **False paths valuable**: "Tried query scopes - don't cascade to relationships, security hole. Learning: need global scopes for isolation"
28
+
29
+ ## Anti-Hallucination
30
+
31
+ **Don't assume**: If uncertain, say "Need to research cache race conditions" not "Cache handles race conditions with atomic locks"
32
+
33
+ **Document uncertainty**: "Confidence: Medium. Confirmed throughput OK. Uncertain on memory/cost at scale"
34
+
35
+ **Facts vs assumptions**: Label what's verified, what's assumed, what needs validation
36
+
37
+ ## When to Document
38
+
39
+ **Create discussion doc when**:
40
+ - Multiple valid approaches exist
41
+ - Architectural/technical decisions needed
42
+ - User explicitly asks to "discuss" or "explore"
43
+
44
+ **Skip for**:
45
+ - Obvious/trivial decisions
46
+ - Following established patterns
47
+ - Pure implementation tasks
48
+
49
+ ## Structure
50
+
51
+ **Context**: Why discussing, problem, pain point
52
+ **Options**: Approaches with trade-offs
53
+ **Debates**: Back-and-forth, what mattered
54
+ **Decisions**: What chosen, why, deciding factor
55
+ **False Paths**: What didn't work, why
56
+ **Impact**: Who benefits, what enabled
57
+
58
+ ## Update as Discussing
59
+
60
+ - Check off answered questions
61
+ - Add options as explored
62
+ - Document false paths immediately
63
+ - Record decisions with rationale
64
+ - Keep "Current Thinking" updated
65
+
66
+ ## Common Pitfalls
67
+
68
+ **Jumping to implementation**: Discussion ends at decisions, not at "here's how to build it"
69
+
70
+ **Erasing false paths**: "Tried file cache, too slow for 1000+ users. Redis 10x faster. Lesson: file cache doesn't scale for high-frequency reads"
71
+
72
+ **Missing "why"**: "Chose PostgreSQL because need JSON queries + ACID at scale + complex joins. MySQL JSON support limited" not just "Use PostgreSQL"
73
+
74
+ **Too much detail too soon**: "Need user-specific cache keys with query params" not "Cache key: metrics:{user_id}:{date}:{SHA256(params)}"
75
+
76
+ ## Quality Check
77
+
78
+ Before marking discussion complete:
79
+ - โœ… Context clear
80
+ - โœ… Questions answered (or parked)
81
+ - โœ… Options explored with trade-offs
82
+ - โœ… False paths documented
83
+ - โœ… Decisions have rationale
84
+ - โœ… Impact explained
85
+ - โœ… Confidence stated
86
+ - โœ… No hallucination
@@ -0,0 +1,102 @@
1
+ # Discussion Documentation Approach
2
+
3
+ *Part of **[technical-discussion](../SKILL.md)** | See also: **[template.md](template.md)** ยท **[guidelines.md](guidelines.md)***
4
+
5
+ ---
6
+
7
+ Capture technical discussions for planning teams to build from.
8
+
9
+ ## Dual Role
10
+
11
+ Wear **two hats simultaneously**:
12
+
13
+ 1. **Expert Architect** - Participate deeply, challenge approaches, identify edge cases, provide insights
14
+ 2. **Documentation Assistant** - Capture discussion, decisions, debates, rationale, edge cases, false paths
15
+
16
+ You're an AI - do both. Engage fully while documenting. Don't dumb down.
17
+
18
+ ## Workflow
19
+
20
+ **Your role: phases 1-2 only**
21
+
22
+ 1. **Discuss** - Participate
23
+ 2. **Document** - Capture
24
+ 3. **Plan** - โŒ Planning team's job
25
+ 4. **Implement** - โŒ Developers' job
26
+
27
+ Stop after documentation. No plans, implementation steps, or code.
28
+
29
+ ## Capture Debates
30
+
31
+ When discussions are challenging/prolonged - document thoroughly. Back-and-forth shows:
32
+ - How we challenged approaches
33
+ - Why solutions won over alternatives
34
+ - Small details that mattered
35
+ - Edge cases identified
36
+
37
+ **More discussion = More documentation.**
38
+
39
+ ## What You Are / Aren't
40
+
41
+ **Active Participant**: Architect providing insights, challenging approaches, identifying edge cases, solving problems
42
+
43
+ **Documentation**: Capturing debates, decisions, rationale, "why", edge cases
44
+
45
+ **NOT**: Verbatim transcriber, planner, coder (unless examples discussed)
46
+
47
+ ## What to Capture
48
+
49
+ ### Context
50
+ Problem, why now, pain point.
51
+
52
+ Example: "Slow dashboards (3-5s) affecting 200 enterprise users. Impacting renewals. Need fix before Q1."
53
+
54
+ ### Options
55
+ Approaches, pros/cons, trade-offs.
56
+
57
+ Example:
58
+ - DB optimization: Helps but only gets to 2s
59
+ - Caching: <500ms, users OK with staleness
60
+ - Pre-aggregates: Fastest but months of work
61
+
62
+ ### Journey
63
+ What didn't work, what changed thinking, "aha" moments.
64
+
65
+ Example: "Thought DB optimization was answer. Profiling showed queries optimal - volume is problem. User research revealed they check every 10-15min, making caching viable."
66
+
67
+ ### Decisions
68
+ What chosen, why, deciding factor, trade-offs.
69
+
70
+ Example: "Redis caching with 5min TTL. Why: Gets target perf in 1 week vs months for alternatives. Trade-off: stale data acceptable per users."
71
+
72
+ ### Impact
73
+ Who affected, problem solved, what enabled.
74
+
75
+ Example: "200 enterprise users + sales get performant experience. Enables Q1 renewals."
76
+
77
+ ## Commit Often
78
+
79
+ **Git commit discussion docs frequently:**
80
+
81
+ - Natural breaks in discussion
82
+ - When problems solved
83
+ - When discussion forks to new topics
84
+ - Before context refresh
85
+
86
+ **Why**: Memory loss on context refresh causes hallucination. Commits help track, backtrack, fill gaps.
87
+
88
+ ## Principles
89
+
90
+ **High-level over detailed**: "Queries taking 3-5s for 200 users" not "At 10:15am query took 3.2s average..."
91
+
92
+ **Context over transcript**: "Explored caching. Key question: TTL length. Users check every 10-15min, so 5min TTL works" not verbatim dialogue.
93
+
94
+ **Reasoning over conclusions**: "Redis caching because: users accept staleness, 4-week timeline, reversible" not just "Use Redis"
95
+
96
+ **Journey over destination**: "Thought DB optimization was answer. Profiling showed queries optimal. User research revealed periodic checks, making caching viable" not just "Using caching"
97
+
98
+ ## For Planning Team
99
+
100
+ Give them: Context (why), direction (what), trade-offs (constraints), rationale (why X over Y), false paths (what not to try)
101
+
102
+ Your job ends at documentation. Planning team creates implementation plan.
@@ -0,0 +1,127 @@
1
+ # Discussion Document Template
2
+
3
+ *Part of **[technical-discussion](../SKILL.md)** | See also: **[meeting-assistant.md](meeting-assistant.md)** ยท **[guidelines.md](guidelines.md)***
4
+
5
+ ---
6
+
7
+ Standard structure for `docs/workflow/discussion/{topic}.md`. DOCUMENT only - no plans or code.
8
+
9
+ This is a single file per topic.
10
+
11
+ **This is a guide, not a form.** Use the structure to capture what naturally emerges from discussion. Don't force sections that didn't come up. The goal is to document the reasoning journey, not fill in every field.
12
+
13
+ ## Template
14
+
15
+ ```markdown
16
+ # Discussion: {Topic}
17
+
18
+ **Date**: YYYY-MM-DD
19
+ **Status**: Exploring | Deciding | Concluded
20
+
21
+ ## Context
22
+
23
+ What this is about, why we're discussing it, the problem or opportunity, current state.
24
+
25
+ ### References
26
+
27
+ - [Related spec or doc](link)
28
+ - [Prior discussion](link)
29
+
30
+ ## Questions
31
+
32
+ - [ ] How should we handle X?
33
+ - Sub-question about edge case
34
+ - Context: brief note if needed
35
+ - [ ] What's the right approach for Y?
36
+ - [ ] Should Z be separate or combined with W?
37
+ - Related: how does this affect A?
38
+ - [ ] ...
39
+
40
+ ---
41
+
42
+ *Each question above gets its own section below. Check off as concluded.*
43
+
44
+ ---
45
+
46
+ ## How should we handle X?
47
+
48
+ ### Context
49
+ Why this question matters, what's at stake.
50
+
51
+ ### Options Considered
52
+ The approaches we looked at. If pros/cons naturally emerged:
53
+
54
+ **Option A**
55
+ - Pros: ...
56
+ - Cons: ...
57
+
58
+ **Option B**
59
+ - Pros: ...
60
+ - Cons: ...
61
+
62
+ ### Journey
63
+ The back-and-forth exploration. What we initially thought. What changed our thinking. False paths - "We considered A but realised B because C." The "aha" moments. Small details that mattered.
64
+
65
+ If there was notable debate:
66
+ - **Positions**: What each side argued
67
+ - **Resolution**: What made us choose, what detail tipped it
68
+
69
+ ### Decision
70
+ What we chose, why, the deciding factor, trade-offs accepted, confidence level.
71
+
72
+ ---
73
+
74
+ ## What's the right approach for Y?
75
+
76
+ *(Same structure: Context โ†’ Options โ†’ Journey โ†’ Decision)*
77
+
78
+ ---
79
+
80
+ ## Summary
81
+
82
+ ### Key Insights
83
+ 1. Cross-cutting learning from the discussion
84
+ 2. Something that applies broadly
85
+
86
+ ### Current State
87
+ - What's resolved
88
+ - What's still uncertain
89
+
90
+ ### Next Steps
91
+ - [ ] Research X
92
+ - [ ] Validate Y
93
+ ```
94
+
95
+ ## Usage Notes
96
+
97
+ **When creating**:
98
+ 1. Ensure discussion directory exists: `docs/workflow/discussion/`
99
+ 2. Create file: `{topic}.md`
100
+ 3. Fill header: date, status
101
+ 4. Start with context: why discussing?
102
+ 5. List questions: what needs deciding?
103
+
104
+ **During discussion**:
105
+ - Work through questions one at a time
106
+ - Document options, journey, and decision for each
107
+ - Check off questions as concluded
108
+ - Keep journey contextual - false paths, debates, and "aha" moments belong with the question they relate to
109
+
110
+ **Per-question structure**:
111
+ - **Context**: Why this specific question matters
112
+ - **Options Considered**: Approaches explored - include pros/cons if they naturally emerged
113
+ - **Journey**: The exploration - what we thought, what changed, false paths, debates, insights
114
+ - **Decision**: What we chose, why, the deciding factor
115
+
116
+ **Flexibility**: Not every question needs all sections. Some questions have clear options with pros/cons. Some have heated debate worth capturing. Some are straightforward. Document what naturally came up - don't force structure onto a simple discussion.
117
+
118
+ **Anti-patterns**:
119
+ - Don't pull false paths into a separate top-level section - keep them with the question they relate to
120
+ - Don't turn into plan (no implementation steps)
121
+ - Don't write code - unless it came up in discussion (e.g., API shape, pattern example) and is relevant to capture
122
+ - Don't summarise the journey - document it
123
+
124
+ **Complete when**:
125
+ - Major questions concluded with rationale
126
+ - Trade-offs understood
127
+ - Path forward clear