@leeovery/claude-technical-workflows 2.0.44 → 2.0.46

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 (39) hide show
  1. package/commands/link-dependencies.md +2 -2
  2. package/commands/workflow/start-discussion.md +5 -1
  3. package/commands/workflow/start-implementation.md +5 -1
  4. package/commands/workflow/start-planning.md +5 -1
  5. package/commands/workflow/start-research.md +5 -1
  6. package/commands/workflow/start-review.md +5 -1
  7. package/commands/workflow/start-specification.md +65 -11
  8. package/commands/workflow/status.md +5 -1
  9. package/commands/workflow/view-plan.md +1 -9
  10. package/package.json +1 -1
  11. package/scripts/discovery-for-specification.sh +62 -8
  12. package/scripts/migrate.sh +3 -1
  13. package/scripts/migrations/003-planning-frontmatter.sh +5 -3
  14. package/scripts/migrations/004-sources-object-format.sh +204 -0
  15. package/skills/technical-discussion/SKILL.md +7 -1
  16. package/skills/technical-implementation/SKILL.md +13 -2
  17. package/skills/technical-implementation/references/environment-setup.md +1 -1
  18. package/skills/technical-planning/SKILL.md +83 -20
  19. package/skills/technical-planning/references/{output-backlog-md.md → output-formats/output-backlog-md.md} +4 -4
  20. package/skills/technical-planning/references/{output-beads.md → output-formats/output-beads.md} +4 -4
  21. package/skills/technical-planning/references/{output-linear.md → output-formats/output-linear.md} +4 -4
  22. package/skills/technical-planning/references/{output-local-markdown.md → output-formats/output-local-markdown.md} +3 -3
  23. package/skills/technical-planning/references/output-formats.md +33 -6
  24. package/skills/technical-planning/references/phase-design.md +146 -0
  25. package/skills/technical-planning/references/planning-principles.md +44 -0
  26. package/skills/technical-planning/references/steps/author-tasks.md +63 -0
  27. package/skills/technical-planning/references/steps/define-phases.md +40 -0
  28. package/skills/technical-planning/references/steps/define-tasks.md +43 -0
  29. package/skills/technical-planning/references/steps/plan-review.md +96 -0
  30. package/skills/technical-planning/references/steps/resolve-dependencies.md +56 -0
  31. package/skills/technical-planning/references/steps/review-integrity.md +217 -0
  32. package/skills/technical-planning/references/steps/review-traceability.md +194 -0
  33. package/skills/technical-planning/references/task-design.md +158 -0
  34. package/skills/technical-research/SKILL.md +9 -1
  35. package/skills/technical-research/references/template.md +1 -0
  36. package/skills/technical-review/SKILL.md +9 -1
  37. package/skills/technical-specification/SKILL.md +10 -1
  38. package/skills/technical-specification/references/specification-guide.md +44 -0
  39. package/skills/technical-planning/references/formal-planning.md +0 -235
@@ -22,40 +22,103 @@ Either way: Transform specifications into actionable phases, tasks, and acceptan
22
22
  - **Specification content** (required) - The validated decisions and requirements to plan from
23
23
  - **Topic name** (optional) - Will derive from specification if not provided
24
24
  - **Output format preference** (optional) - Will ask if not specified
25
- - **Cross-cutting references** (optional) - List of cross-cutting specifications that inform this plan
25
+ - **Cross-cutting references** (optional) - Cross-cutting specifications that inform technical decisions in this plan
26
26
 
27
- **If missing:** Will ask user for specification location or content.
27
+ **Before proceeding**, verify the required input is available and unambiguous. If anything is missing or unclear, **STOP** do not proceed until resolved.
28
28
 
29
- ### Cross-Cutting References
29
+ - **No specification content provided?**
30
+ > "I need the specification content to plan from. Could you point me to the specification file (e.g., `docs/workflow/specification/{topic}.md`), or provide the content directly?"
30
31
 
31
- If cross-cutting specifications are provided (e.g., caching strategy, rate limiting policy), incorporate their decisions into the plan:
32
+ - **Specification seems incomplete or not concluded?**
33
+ > "The specification at {path} appears to be {concern — e.g., 'still in-progress' or 'missing sections that are referenced elsewhere'}. Should I proceed with this, or is there a more complete version?"
32
34
 
33
- 1. **Include a "Cross-Cutting References" section** in the plan linking to these specifications
34
- 2. **Apply their patterns** when designing phases and tasks (e.g., if caching strategy says "cache API responses for 5 minutes", include that in relevant tasks)
35
- 3. **Note where patterns apply** - when a task implements a cross-cutting pattern, reference it
35
+ ---
36
36
 
37
- Cross-cutting specifications are architectural decisions that inform HOW features are built. They don't have their own implementation plans - instead, their patterns are applied within feature plans.
37
+ ## The Process
38
38
 
39
- ## Source Material
39
+ Follow every step in sequence. No steps are optional.
40
40
 
41
- **The specification is your sole input.** Everything you need should be in the specification - do not request details from prior source material. If information is missing, ask for clarification on the specification itself.
41
+ ---
42
42
 
43
- ## The Process
43
+ ## Step 1: Choose Output Format
44
+
45
+ Present the formats from **[output-formats.md](references/output-formats.md)** to the user as written — including description, pros, cons, and "best for" — so they can make an informed choice. Number each format and ask the user to pick a number.
46
+
47
+ **STOP.** Wait for the user to choose. After they pick, confirm the choice and load the corresponding `output-{format}.md` adapter from **[output-formats/](references/output-formats/)**.
48
+
49
+ → Proceed to **Step 2**.
50
+
51
+ ---
52
+
53
+ ## Step 2: Load Planning Principles
54
+
55
+ Load **[planning-principles.md](references/planning-principles.md)** — this contains the planning principles, rules, and quality standards that apply throughout the process.
56
+
57
+ → Proceed to **Step 3**.
58
+
59
+ ---
60
+
61
+ ## Step 3: Read Specification Content
62
+
63
+ Now read the specification content **in full**. Not a scan, not a summary — read every section, every decision, every edge case. The specification must be fully digested before any structural decisions are made. If a document is too large for a single read, read it in sequential chunks until you have consumed the entire file. Never summarise or skip sections to fit within tool limits.
64
+
65
+ The specification contains validated decisions. Your job is to translate it into an actionable plan, not to review or reinterpret it.
66
+
67
+ **The specification is your sole input.** Everything you need is in the specification — do not reference other documents or prior source materials. If cross-cutting specifications are provided, read them alongside the specification so their patterns are available during planning.
68
+
69
+ From the specification, absorb:
70
+ - Key decisions and rationale
71
+ - Architectural choices
72
+ - Edge cases identified
73
+ - Constraints and requirements
74
+ - Whether a Dependencies section exists (you will handle these in Step 7)
44
75
 
45
- **Load**: [formal-planning.md](references/formal-planning.md)
76
+ Do not present or summarize the specification back to the user — it has already been signed off.
46
77
 
47
- **Choose output format**: Ask user which format, then load the appropriate output adapter. See **[output-formats.md](references/output-formats.md)** for available formats.
78
+ Proceed to **Step 4**.
48
79
 
49
- **Output**: Implementation plan in chosen format
80
+ ---
81
+
82
+ ## Step 4: Define Phases
83
+
84
+ Load **[steps/define-phases.md](references/steps/define-phases.md)** and follow its instructions as written.
85
+
86
+ ---
87
+
88
+ ## Step 5: Define Tasks
89
+
90
+ Load **[steps/define-tasks.md](references/steps/define-tasks.md)** and follow its instructions as written.
91
+
92
+ ---
93
+
94
+ ## Step 6: Author Tasks
50
95
 
51
- ## Critical Rules
96
+ Load **[steps/author-tasks.md](references/steps/author-tasks.md)** and follow its instructions as written.
52
97
 
53
- **Capture immediately**: After each user response, update the planning document BEFORE your next question. Never let more than 2-3 exchanges pass without writing.
98
+ ---
99
+
100
+ ## Step 7: Resolve External Dependencies
101
+
102
+ Load **[steps/resolve-dependencies.md](references/steps/resolve-dependencies.md)** and follow its instructions as written.
103
+
104
+ ---
105
+
106
+ ## Step 8: Plan Review
107
+
108
+ Load **[steps/plan-review.md](references/steps/plan-review.md)** and follow its instructions as written.
109
+
110
+ ---
54
111
 
55
- **Commit frequently**: Commit at natural breaks, after significant exchanges, and before any context refresh. Context refresh = lost work.
112
+ ## Step 9: Conclude the Plan
56
113
 
57
- **Never invent reasoning**: If it's not in the specification, ask again. The specification is the golden document - all plan content must trace back to it.
114
+ After the review is complete:
58
115
 
59
- **Create plans, not code**: Your job is phases, tasks, and acceptance criteria - not implementation.
116
+ 1. **Update plan status** Update the plan frontmatter to `status: concluded`
117
+ 2. **Final commit** — Commit the concluded plan
118
+ 3. **Present completion summary**:
60
119
 
61
- **Collaborate with the user**: Planning is iterative. Stop and ask when the specification is ambiguous, multiple valid approaches exist, or you're uncertain about task scope. The user expects collaboration - don't guess when you can ask.
120
+ > "Planning is complete for **{topic}**.
121
+ >
122
+ > The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
123
+ >
124
+ > Status has been marked as `concluded`. The plan is ready for implementation."
@@ -1,6 +1,6 @@
1
1
  # Output: Backlog.md
2
2
 
3
- *Output adapter for **[technical-planning](../SKILL.md)***
3
+ *Output adapter for **[technical-planning](../../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -94,8 +94,8 @@ Architectural decisions from cross-cutting specifications that inform this plan:
94
94
 
95
95
  | Specification | Key Decisions | Applies To |
96
96
  |---------------|---------------|------------|
97
- | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
98
- | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
97
+ | [Caching Strategy](../../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
98
+ | [Rate Limiting](../../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
99
99
 
100
100
  *Remove this section if no cross-cutting specifications apply.*
101
101
 
@@ -107,7 +107,7 @@ Architectural decisions from cross-cutting specifications that inform this plan:
107
107
  - {topic}: {description} → {task-id} (resolved)
108
108
  ```
109
109
 
110
- The External Dependencies section tracks what this plan needs from other topics. See `formal-planning.md` for the format and states (unresolved, resolved, satisfied externally).
110
+ The External Dependencies section tracks what this plan needs from other topics. See `../dependencies.md` for the format and states (unresolved, resolved, satisfied externally).
111
111
 
112
112
  ### Task File Format
113
113
 
@@ -1,6 +1,6 @@
1
1
  # Output: Beads
2
2
 
3
- *Output adapter for **[technical-planning](../SKILL.md)***
3
+ *Output adapter for **[technical-planning](../../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -275,8 +275,8 @@ Architectural decisions from cross-cutting specifications that inform this plan:
275
275
 
276
276
  | Specification | Key Decisions | Applies To |
277
277
  |---------------|---------------|------------|
278
- | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
279
- | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
278
+ | [Caching Strategy](../../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
279
+ | [Rate Limiting](../../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
280
280
 
281
281
  *Remove this section if no cross-cutting specifications apply.*
282
282
 
@@ -295,7 +295,7 @@ Architectural decisions from cross-cutting specifications that inform this plan:
295
295
  - {topic}: {description} → {task-id} (resolved)
296
296
  ```
297
297
 
298
- The External Dependencies section tracks what this plan needs from other topics. See `formal-planning.md` for the format and states (unresolved, resolved, satisfied externally).
298
+ The External Dependencies section tracks what this plan needs from other topics. See `../dependencies.md` for the format and states (unresolved, resolved, satisfied externally).
299
299
 
300
300
  ## Frontmatter
301
301
 
@@ -1,6 +1,6 @@
1
1
  # Output: Linear
2
2
 
3
- *Output adapter for **[technical-planning](../SKILL.md)***
3
+ *Output adapter for **[technical-planning](../../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -185,8 +185,8 @@ Architectural decisions from cross-cutting specifications that inform this plan:
185
185
 
186
186
  | Specification | Key Decisions | Applies To |
187
187
  |---------------|---------------|------------|
188
- | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
189
- | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
188
+ | [Caching Strategy](../../specification/caching-strategy.md) | Cache API responses for 5 min | Tasks involving API calls |
189
+ | [Rate Limiting](../../specification/rate-limiting.md) | 100 req/min per user | User-facing endpoints |
190
190
 
191
191
  *Remove this section if no cross-cutting specifications apply.*
192
192
 
@@ -198,7 +198,7 @@ Architectural decisions from cross-cutting specifications that inform this plan:
198
198
  - {topic}: {description} → {issue-id} (resolved)
199
199
  ```
200
200
 
201
- The External Dependencies section tracks what this plan needs from other topics. See `formal-planning.md` for the format and states (unresolved, resolved, satisfied externally).
201
+ The External Dependencies section tracks what this plan needs from other topics. See `../dependencies.md` for the format and states (unresolved, resolved, satisfied externally).
202
202
 
203
203
  ## Frontmatter
204
204
 
@@ -1,6 +1,6 @@
1
1
  # Output: Local Markdown
2
2
 
3
- *Output adapter for **[technical-planning](../SKILL.md)***
3
+ *Output adapter for **[technical-planning](../../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -60,8 +60,8 @@ Architectural decisions from cross-cutting specifications that inform this plan:
60
60
 
61
61
  | Specification | Key Decisions | Applies To |
62
62
  |---------------|---------------|------------|
63
- | [Caching Strategy](../specification/caching-strategy.md) | Cache API responses for 5 min; use Redis | Tasks involving API calls |
64
- | [Rate Limiting](../specification/rate-limiting.md) | 100 req/min per user; sliding window | User-facing endpoints |
63
+ | [Caching Strategy](../../specification/caching-strategy.md) | Cache API responses for 5 min; use Redis | Tasks involving API calls |
64
+ | [Rate Limiting](../../specification/rate-limiting.md) | 100 req/min per user; sliding window | User-facing endpoints |
65
65
 
66
66
  *Remove this section if no cross-cutting specifications apply.*
67
67
 
@@ -4,13 +4,40 @@
4
4
 
5
5
  ---
6
6
 
7
- Plans can be stored in different formats. **Ask the user which format they prefer** - present the benefits from each adapter file and let them decide.
7
+ Plans can be stored in different formats.
8
8
 
9
- **IMPORTANT**: Only offer formats listed below. Do not invent or suggest formats that don't have corresponding `output-*.md` files in this directory.
9
+ **IMPORTANT**: Only offer formats listed below. Do not invent or suggest formats that don't have corresponding `output-*.md` files in the [output-formats/](output-formats/) directory.
10
10
 
11
11
  ## Available Formats
12
12
 
13
- - **[Local Markdown](output-local-markdown.md)** - Single markdown file, no external tools
14
- - **[Linear](output-linear.md)** - Linear project with labeled issues (requires MCP)
15
- - **[Backlog.md](output-backlog-md.md)** - Kanban board with task files
16
- - **[Beads](output-beads.md)** - Git-backed graph issue tracker for AI agents
13
+ ### [Local Markdown](output-formats/output-local-markdown.md)
14
+
15
+ Single markdown file per topic containing all phases, tasks, and progress tracking inline. No external tools or setup required.
16
+
17
+ - **Pros**: Zero setup, works offline, human-readable, easy to edit in any text editor
18
+ - **Cons**: No visual board, everything in one file can get long for complex features, no dependency graph
19
+ - **Best for**: Simple features, small plans, quick iterations
20
+
21
+ ### [Linear](output-formats/output-linear.md)
22
+
23
+ Tasks managed as Linear issues within a Linear project. A thin local plan file points to the Linear project; Linear is the source of truth.
24
+
25
+ - **Pros**: Visual tracking, team collaboration, real-time updates, integrates with existing Linear workflows
26
+ - **Cons**: Requires Linear account and MCP server, external dependency, not fully local
27
+ - **Best for**: Teams already using Linear, collaborative projects needing shared visibility
28
+
29
+ ### [Backlog.md](output-formats/output-backlog-md.md)
30
+
31
+ Individual task files in a `backlog/` directory with a local Kanban board. Each task is a self-contained markdown file with frontmatter for status, priority, labels, and dependencies.
32
+
33
+ - **Pros**: Visual Kanban (terminal + web), individual task files for focused editing, version-controlled, MCP integration, auto-commit
34
+ - **Cons**: Requires npm install, flat directory (phases via labels not folders), external tool dependency
35
+ - **Best for**: Solo developers wanting a local Kanban board with per-task files
36
+
37
+ ### [Beads](output-formats/output-beads.md)
38
+
39
+ Git-backed graph issue tracker with hierarchical tasks (epics → phases → tasks) and native dependency management. Uses JSONL storage with a CLI interface.
40
+
41
+ - **Pros**: Native dependency graph, `bd ready` surfaces unblocked work, hierarchical task structure, multi-agent coordination, hash-based IDs prevent merge conflicts
42
+ - **Cons**: Requires CLI install, JSONL not human-editable, learning curve, less familiar tooling
43
+ - **Best for**: Complex multi-phase features with many dependencies, AI-agent-driven workflows
@@ -0,0 +1,146 @@
1
+ # Phase Design
2
+
3
+ *Reference for **[technical-planning](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ This reference defines the principles for breaking specifications into implementation phases. It is loaded when phases are first proposed and stays in context through phase approval.
8
+
9
+ ## What Makes a Good Phase
10
+
11
+ Each phase should:
12
+
13
+ - **Deliver a working increment** — not a technical layer, but functionality that can be used or tested end-to-end
14
+ - **Have clear acceptance criteria** — checkboxes that are pass/fail verifiable
15
+ - **Follow natural boundaries** — domain, feature, or capability boundaries, not architectural layers
16
+ - **Leave the system working** — every phase ends with a green test suite and deployable code
17
+ - **Be independently valuable** — if the project stopped after this phase, something useful would exist
18
+
19
+ ---
20
+
21
+ ## The Walking Skeleton
22
+
23
+ Phase 1 is always a **walking skeleton** — the thinnest possible end-to-end slice that threads through all system layers and proves the architecture works.
24
+
25
+ The walking skeleton:
26
+
27
+ - Touches every architectural component the system needs (database, API, UI, external services)
28
+ - Delivers one complete flow, however minimal
29
+ - Establishes the patterns subsequent phases will follow
30
+ - Is production code, not throwaway — it becomes the foundation
31
+
32
+ **Example** (Slack clone):
33
+
34
+ > Phase 1: "Any unauthenticated person can post messages in a hardcoded #general room. Messages persist through page refreshes."
35
+ >
36
+ > No auth, no accounts, no multiple rooms. Just the thinnest thread through the entire stack.
37
+
38
+ **Example** (Calendar app):
39
+
40
+ > Phase 1: "A single event can be created with title, start, and end time, persisted, and retrieved by ID."
41
+ >
42
+ > No recurrence, no sharing, no notifications. Just one thing working end-to-end.
43
+
44
+ The skeleton validates architecture assumptions at the cheapest possible moment. If the end-to-end flow doesn't work, you discover it in Phase 1 — not after building three phases of isolated components.
45
+
46
+ This is the **steel thread** principle: never have big-bang integration. By threading through all layers immediately, integration is the first thing you solve, not the last.
47
+
48
+ ---
49
+
50
+ ## Vertical Phases
51
+
52
+ After the walking skeleton, each subsequent phase adds complete functionality — a vertical slice through the relevant layers.
53
+
54
+ **Vertical (prefer):**
55
+
56
+ ```
57
+ Phase 1: Walking skeleton — single event CRUD, end-to-end
58
+ Phase 2: Recurring events — rules, instance generation, single-instance editing
59
+ Phase 3: Sharing and permissions — invite users, permission levels, shared calendars
60
+ Phase 4: Notifications — email and push notifications for event changes
61
+ ```
62
+
63
+ Each phase delivers something a user or test suite can validate independently.
64
+
65
+ **Horizontal (avoid):**
66
+
67
+ ```
68
+ Phase 1: All database models and migrations
69
+ Phase 2: All service classes and business logic
70
+ Phase 3: All API endpoints
71
+ Phase 4: All UI components
72
+ Phase 5: Wire everything together
73
+ ```
74
+
75
+ Nothing works until Phase 5. No phase is independently testable. Integration risk concentrates at the end.
76
+
77
+ A phase may touch multiple architectural layers — that's expected. The test is: **does this phase deliver working functionality, or does it deliver infrastructure that only becomes useful later?**
78
+
79
+ ### Progression
80
+
81
+ **Skeleton → Core features → Edge cases → Refinement**
82
+
83
+ - **Skeleton** (Phase 1): Thinnest end-to-end slice proving the architecture
84
+ - **Core features**: Each phase adds a complete capability, building on what exists
85
+ - **Edge cases**: Handling boundary conditions, error scenarios, unusual inputs
86
+ - **Refinement**: Performance optimisation, UX polish, hardening
87
+
88
+ This ordering means each phase builds on a working system. The skeleton establishes the pattern; core features flesh it out; edge cases harden it; refinement polishes it.
89
+
90
+ ---
91
+
92
+ ## Phase Boundaries
93
+
94
+ A phase boundary belongs where:
95
+
96
+ - **A meaningful state change occurs** — the system gains a new capability
97
+ - **Human validation is needed** — the approach should be confirmed before building more
98
+ - **The risk profile shifts** — different concerns, different complexity, different unknowns
99
+ - **The work's nature changes** — from core functionality to edge cases, from features to optimisation
100
+
101
+ ### When to split
102
+
103
+ - The combined work exceeds what can be reasoned about in a single focused session
104
+ - An intermediate state is independently valuable or testable
105
+ - You need a checkpoint to validate before investing further
106
+ - Different parts have different risk or uncertainty levels
107
+
108
+ ### When to keep together
109
+
110
+ - High cohesion — changes to one part directly affect the other
111
+ - The intermediate state has no independent value
112
+ - Splitting would create phases that aren't meaningful milestones
113
+ - The overhead of phase management exceeds the benefit
114
+
115
+ ### Granularity check
116
+
117
+ If a phase has only 1-2 trivial tasks, it's probably too thin — merge it. If a phase has 8+ tasks spanning multiple concerns, it's probably too thick — split it. Most phases land at 3-6 focused tasks.
118
+
119
+ ---
120
+
121
+ ## Cross-Phase Coupling
122
+
123
+ **Maximize cohesion within a phase, minimize dependencies between phases.**
124
+
125
+ A well-bounded phase could theoretically be reordered or dropped without cascading failures across other phases. In practice, phases have a natural sequence (the skeleton must come first), but each phase should be as self-contained as possible.
126
+
127
+ Strategies:
128
+
129
+ - **Walking skeleton first** — subsequent phases add to a working system rather than depending on future phases
130
+ - **Clear interfaces between phases** — each phase produces defined contracts (API shapes, data models, test suites) that subsequent phases consume
131
+ - **Shared infrastructure in Phase 1** — if multiple phases need the same foundation, it belongs in the skeleton
132
+ - **No forward references** — a phase should never depend on something that hasn't been built yet
133
+
134
+ ---
135
+
136
+ ## Anti-Patterns
137
+
138
+ **Horizontal phases** — organising by technical layer ("all models, then all services, then all controllers"). Defers integration risk, produces phases that aren't independently valuable. The walking skeleton eliminates this by integrating from the start.
139
+
140
+ **God phase** — one massive phase covering too many concerns. Results in unclear success criteria, inability to track progress, and cognitive overload. If you can't summarise a phase's goal in one sentence, it needs splitting.
141
+
142
+ **Trivial phases** — phases so small they're just individual tasks wearing a trenchcoat. Phase management has overhead; don't pay it for work that doesn't warrant a checkpoint.
143
+
144
+ **Infrastructure-only phases** (after Phase 1) — phases that deliver tooling, configuration, or refactoring with no user-facing value. These should be folded into the phase that needs them, unless they're genuinely cross-cutting prerequisites.
145
+
146
+ **Speculative phases** — phases planned for hypothetical future requirements. Plan what the specification defines, not what might be needed later.
@@ -0,0 +1,44 @@
1
+ # Planning Principles
2
+
3
+ *Reference for **[technical-planning](../SKILL.md)***
4
+
5
+ ---
6
+
7
+ This reference defines the principles, rules, and quality standards for creating implementation plans. It is loaded at the start of the planning process and stays in context throughout.
8
+
9
+ ## Planning is a Gated Process
10
+
11
+ Planning translates the specification into actionable structure. This translation requires judgment, and the process is designed to ensure that judgment is exercised carefully and collaboratively — not rushed.
12
+
13
+ ### Process Expectations
14
+
15
+ **This is a step-by-step process with mandatory stop points.** You must work through each step sequentially. Steps end with **STOP** — you must present your work, wait for explicit user confirmation, and only then proceed to the next step.
16
+
17
+ **Never one-shot the plan.** Do not write the entire plan document in a single operation. The plan is built incrementally — one phase at a time, with the user confirming the structure at each stage. A one-shot plan that misses requirements, hallucinates content, or structures tasks poorly wastes more time than a careful, step-by-step process. Go slow to go fast.
18
+
19
+ **Stop and ask when judgment is needed.** Planning is collaborative — not in the sense that every line needs approval, but in the sense that the user guides structural decisions and resolves ambiguity. You must stop and ask when:
20
+
21
+ - The specification is ambiguous about implementation approach
22
+ - Multiple valid ways to structure phases or tasks exist
23
+ - You're uncertain whether a task is appropriately scoped
24
+ - Edge cases aren't fully addressed in the specification
25
+ - You need to make any decision the specification doesn't cover
26
+ - Something doesn't add up or feels like a gap
27
+
28
+ **Never invent to fill gaps.** If the specification doesn't address something, flag it with `[needs-info]` and ask the user. The specification is the golden document — everything in the plan must trace back to it. Assuming or guessing — even when it seems reasonable — is not acceptable. Surface the problem immediately rather than continuing and hoping to address it later.
29
+
30
+ ## Rules
31
+
32
+ **Capture immediately**: After each user response, update the planning document BEFORE your next question. Never let more than 2-3 exchanges pass without writing.
33
+
34
+ **Commit frequently**: Commit at natural breaks, after significant exchanges, and before any context refresh. Context refresh = lost work.
35
+
36
+ **Create plans, not code**: Your job is phases, tasks, and acceptance criteria — not implementation.
37
+
38
+ ## Plan as Source of Truth
39
+
40
+ The plan IS the source of truth. Every phase, every task must contain all information needed to execute it.
41
+
42
+ - **Self-contained**: Each task executable without external context
43
+ - **No assumptions**: Spell out the context, don't assume implementer knows it
44
+
@@ -0,0 +1,63 @@
1
+ # Author Tasks
2
+
3
+ *Reference for **[technical-planning](../../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Load **[task-design.md](../task-design.md)** — the task design principles, template structure, and quality standards for writing task detail.
8
+
9
+ ---
10
+
11
+ Orient the user:
12
+
13
+ > "Task list for Phase {N} is agreed. I'll work through each task one at a time — presenting the full detail, discussing if needed, and logging it to the plan once approved."
14
+
15
+ Work through the agreed task list **one task at a time**.
16
+
17
+ #### Present
18
+
19
+ Write the complete task using the task template — Problem, Solution, Outcome, Do, Acceptance Criteria, Tests, Context.
20
+
21
+ Present it to the user **in the format it will be written to the plan**. The output format adapter determines the exact format. What the user sees is what gets logged — no changes between approval and writing.
22
+
23
+ After presenting, ask:
24
+
25
+ > **Task {M} of {total}: {Task Name}**
26
+ >
27
+ > **To proceed, choose one:**
28
+ > - **"Approve"** — Task is confirmed. I'll log it to the plan verbatim.
29
+ > - **"Adjust"** — Tell me what to change.
30
+
31
+ **STOP.** Wait for the user's response.
32
+
33
+ #### If adjust
34
+
35
+ The user may:
36
+ - Request changes to the task content
37
+ - Ask questions about scope, granularity, or approach
38
+ - Flag that something doesn't match the specification
39
+ - Identify missing edge cases or acceptance criteria
40
+
41
+ Incorporate feedback and re-present the updated task **in full**. Then ask the same choice again. Repeat until approved.
42
+
43
+ #### If approved
44
+
45
+ Log the task to the plan — verbatim, as presented. Do not modify content between approval and writing. The output format adapter determines how tasks are written (appending markdown, creating issues, etc.).
46
+
47
+ After logging, confirm:
48
+
49
+ > "Task {M} of {total}: {Task Name} — logged."
50
+
51
+ #### Next task or phase complete
52
+
53
+ **If tasks remain in this phase:** → Return to the top of **Step 6** with the next task. Present it, ask, wait.
54
+
55
+ **If all tasks in this phase are logged:**
56
+
57
+ ```
58
+ Phase {N}: {Phase Name} — complete ({M} tasks logged).
59
+ ```
60
+
61
+ → Return to **Step 5** for the next phase.
62
+
63
+ **If all phases are complete:** → Proceed to **Step 7**.
@@ -0,0 +1,40 @@
1
+ # Define Phases
2
+
3
+ *Reference for **[technical-planning](../../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Load **[phase-design.md](../phase-design.md)** — the principles for structuring phases as independently valuable, testable increments built on a walking skeleton.
8
+
9
+ ---
10
+
11
+ Orient the user:
12
+
13
+ > "I've read the full specification. I'm going to propose a phase structure — how we break this into independently testable stages. Once we agree on the phases, we'll take each one and break it into tasks."
14
+
15
+ With the full specification understood, break it into logical phases. Understanding what tasks belong in each phase is necessary to determine the right ordering.
16
+
17
+ Present the proposed phase structure using this format:
18
+
19
+ ```
20
+ Phase {N}: {Phase Name}
21
+ Goal: {What this phase accomplishes}
22
+ Why this order: {Why this phase comes at this position in the sequence}
23
+ Acceptance criteria:
24
+ - [ ] {First verifiable criterion}
25
+ - [ ] {Second verifiable criterion}
26
+ ```
27
+
28
+ **STOP.** Present your proposed phase structure and ask:
29
+
30
+ > **To proceed, choose one:**
31
+ > - **"Approve"** — Phase structure is confirmed. I'll proceed to task breakdown.
32
+ > - **"Adjust"** — Tell me what to change: reorder, split, merge, add, or remove phases.
33
+
34
+ #### If Adjust
35
+
36
+ Incorporate feedback, re-present the updated phase structure, and ask again. Repeat until approved.
37
+
38
+ #### If Approved
39
+
40
+ → Proceed to **Step 5**.
@@ -0,0 +1,43 @@
1
+ # Define Tasks
2
+
3
+ *Reference for **[technical-planning](../../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Load **[task-design.md](../task-design.md)** — the principles for breaking phases into well-scoped, vertically-sliced tasks.
8
+
9
+ ---
10
+
11
+ Orient the user:
12
+
13
+ > "Taking Phase {N}: {Phase Name} and breaking it into tasks. Here's the overview — once we agree on the list, I'll write each task out in full detail."
14
+
15
+ Take the first (or next) phase and break it into tasks. Present a high-level overview so the user can see the shape of the phase before committing to the detail of each task.
16
+
17
+ Present the task overview using this format:
18
+
19
+ ```
20
+ Phase {N}: {Phase Name}
21
+
22
+ 1. {Task Name} — {One-line summary}
23
+ Edge cases: {comma-separated list, or "none"}
24
+
25
+ 2. {Task Name} — {One-line summary}
26
+ Edge cases: {comma-separated list, or "none"}
27
+ ```
28
+
29
+ This overview establishes the scope and ordering. The user should be able to see whether the phase is well-structured, whether tasks are in the right order, and whether anything is missing or unnecessary — before investing time in writing out full task detail.
30
+
31
+ **STOP.** Present the phase task overview and ask:
32
+
33
+ > **To proceed, choose one:**
34
+ > - **"Approve"** — Task list is confirmed. I'll begin writing full task detail.
35
+ > - **"Adjust"** — Tell me what to change: reorder, split, merge, add, or remove tasks.
36
+
37
+ #### If Adjust
38
+
39
+ Incorporate feedback, re-present the updated task overview, and ask again. Repeat until approved.
40
+
41
+ #### If Approved
42
+
43
+ → Proceed to **Step 6**.