@leeovery/claude-technical-workflows 2.0.54 → 2.1.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 (36) hide show
  1. package/README.md +34 -7
  2. package/agents/implementation-task-executor.md +1 -1
  3. package/agents/planning-dependency-grapher.md +140 -0
  4. package/agents/planning-phase-designer.md +1 -1
  5. package/agents/planning-task-author.md +1 -1
  6. package/agents/planning-task-designer.md +1 -1
  7. package/agents/{chain-verifier.md → review-task-verifier.md} +3 -3
  8. package/commands/link-dependencies.md +5 -5
  9. package/commands/workflow/view-plan.md +5 -5
  10. package/package.json +1 -1
  11. package/skills/technical-implementation/SKILL.md +4 -2
  12. package/skills/technical-implementation/references/environment-setup.md +3 -3
  13. package/skills/technical-implementation/references/steps/task-loop.md +2 -2
  14. package/skills/technical-planning/SKILL.md +17 -9
  15. package/skills/technical-planning/references/dependencies.md +3 -3
  16. package/skills/technical-planning/references/output-formats/linear/about.md +48 -0
  17. package/skills/technical-planning/references/output-formats/linear/authoring.md +82 -0
  18. package/skills/technical-planning/references/output-formats/linear/graph.md +68 -0
  19. package/skills/technical-planning/references/output-formats/linear/reading.md +35 -0
  20. package/skills/technical-planning/references/output-formats/linear/updating.md +25 -0
  21. package/skills/technical-planning/references/output-formats/local-markdown/about.md +40 -0
  22. package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +64 -0
  23. package/skills/technical-planning/references/output-formats/local-markdown/graph.md +44 -0
  24. package/skills/technical-planning/references/output-formats/local-markdown/reading.md +29 -0
  25. package/skills/technical-planning/references/output-formats/local-markdown/updating.md +22 -0
  26. package/skills/technical-planning/references/output-formats.md +6 -30
  27. package/skills/technical-planning/references/steps/analyze-task-graph.md +89 -0
  28. package/skills/technical-planning/references/steps/author-tasks.md +3 -3
  29. package/skills/technical-planning/references/steps/review-integrity.md +4 -5
  30. package/skills/technical-planning/references/task-design.md +10 -0
  31. package/skills/technical-review/SKILL.md +3 -3
  32. package/skills/technical-review/references/review-checklist.md +10 -10
  33. package/skills/technical-planning/references/output-formats/output-backlog-md.md +0 -369
  34. package/skills/technical-planning/references/output-formats/output-beads.md +0 -455
  35. package/skills/technical-planning/references/output-formats/output-linear.md +0 -328
  36. package/skills/technical-planning/references/output-formats/output-local-markdown.md +0 -318
package/README.md CHANGED
@@ -14,6 +14,14 @@
14
14
 
15
15
  ---
16
16
 
17
+ <p align="center">
18
+ <a href="https://leeovery.github.io/claude-technical-workflows/"><strong>Open the Interactive Workflow Explorer</strong></a>
19
+ </p>
20
+
21
+ > **Workflow Explorer** — A visual, interactive guide to every phase, skill, and command in this toolkit. See how commands route to skills, trace decision logic through flowcharts, and understand the full pipeline at a glance. No install required — runs in your browser.
22
+
23
+ ---
24
+
17
25
  ## What is this?
18
26
 
19
27
  A complete development workflow for Claude Code: explore ideas, capture decisions, build actionable plans, implement via strict TDD, and validate the result.
@@ -195,7 +203,7 @@ When using the full workflow, it progresses through six distinct phases:
195
203
 
196
204
  **Phase 3 - Specification:** Transforms discussion(s) into validated, standalone specifications. Automatically analyses multiple discussions for natural groupings, filters hallucinations and inaccuracies, enriches gaps, and builds documents that planning can execute against without referencing other sources.
197
205
 
198
- **Phase 4 - Planning:** Converts specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear, Backlog.md).
206
+ **Phase 4 - Planning:** Converts specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear).
199
207
 
200
208
  **Phase 5 - Implementation:** Executes the plan using strict TDD. Writes tests first, implements to pass, commits frequently, with per-task approval gates (auto mode available).
201
209
 
@@ -235,6 +243,7 @@ skills/ # Input-agnostic processors
235
243
  └── technical-review/ # Validate against artefacts
236
244
 
237
245
  commands/ # Input layer (gather context → invoke skills)
246
+ ├── migrate.md # Keep workflow files in sync with system design
238
247
  ├── start-feature.md # Standalone: spec from inline context
239
248
  ├── link-dependencies.md # Standalone: wire cross-topic deps
240
249
  └── workflow/ # Sequential workflow commands
@@ -248,12 +257,24 @@ commands/ # Input layer (gather context → invoke sk
248
257
  └── view-plan.md # View plan tasks
249
258
 
250
259
  agents/
251
- └── chain-verifier.md # Parallel task verification for review
260
+ ├── review-task-verifier.md # Verifies single task implementation for review
261
+ ├── implementation-task-executor.md # TDD executor for single plan tasks
262
+ ├── implementation-task-reviewer.md # Post-task review for spec conformance
263
+ ├── planning-phase-designer.md # Design phases from specification
264
+ ├── planning-task-designer.md # Break phases into task lists
265
+ ├── planning-task-author.md # Write full task detail
266
+ └── planning-dependency-grapher.md # Analyze task dependencies and priorities
252
267
 
253
268
  scripts/ # Helper scripts for commands
254
269
  ├── migrate.sh # Migration orchestrator
255
- ├── specification-discovery.sh # Discovery for specification command
270
+ ├── discovery-for-discussion.sh # Discovery for discussion command
271
+ ├── discovery-for-specification.sh # Discovery for specification command
272
+ ├── discovery-for-planning.sh # Discovery for planning command
273
+ ├── discovery-for-implementation-and-review.sh # Discovery for impl/review
256
274
  └── migrations/ # Individual migration scripts (numbered)
275
+
276
+ tests/
277
+ └── scripts/ # Shell script tests for discovery and migrations
257
278
  ```
258
279
 
259
280
  ## Skills
@@ -282,7 +303,7 @@ Sequential commands in `commands/workflow/`. They expect files from previous pha
282
303
  | [**/start-research**](commands/workflow/start-research.md) | Begin research exploration. For early-stage ideas, feasibility checks, and broad exploration before formal discussion. |
283
304
  | [**/start-discussion**](commands/workflow/start-discussion.md) | Begin a new technical discussion. Gathers topic, context, background information, and relevant codebase areas before starting documentation. |
284
305
  | [**/start-specification**](commands/workflow/start-specification.md) | Start a specification session from existing discussion(s). Automatically analyses multiple discussions for natural groupings and consolidates them into unified specifications. |
285
- | [**/start-planning**](commands/workflow/start-planning.md) | Start a planning session from an existing specification. Creates implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (markdown, Linear, Backlog.md, Beads). |
306
+ | [**/start-planning**](commands/workflow/start-planning.md) | Start a planning session from an existing specification. Creates implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear). |
286
307
  | [**/start-implementation**](commands/workflow/start-implementation.md) | Start implementing a plan. Executes tasks via strict TDD, committing after each passing test. |
287
308
  | [**/start-review**](commands/workflow/start-review.md) | Start reviewing completed work. Validates implementation against plan tasks and acceptance criteria. |
288
309
 
@@ -318,9 +339,15 @@ See `/start-feature` as an example: it provides inline context to the specificat
318
339
 
319
340
  Subagents that skills can spawn for parallel task execution.
320
341
 
321
- | Agent | Used By | Description |
322
- |------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
323
- | [**chain-verifier**](agents/chain-verifier.md) | technical-review | Verifies a single plan task was implemented correctly. Checks implementation, tests (not under/over-tested), and code quality. Multiple chain-verifiers run in parallel to verify ALL tasks efficiently. |
342
+ | Agent | Used By | Description |
343
+ |-------|---------|-------------|
344
+ | [**review-task-verifier**](agents/review-task-verifier.md) | technical-review | Verifies a single plan task was implemented correctly. Checks implementation, tests, and code quality. Multiple run in parallel. |
345
+ | [**implementation-task-executor**](agents/implementation-task-executor.md) | technical-implementation | Implements a single plan task via strict TDD. |
346
+ | [**implementation-task-reviewer**](agents/implementation-task-reviewer.md) | technical-implementation | Reviews a completed task for spec conformance, acceptance criteria, and architectural quality. |
347
+ | [**planning-phase-designer**](agents/planning-phase-designer.md) | technical-planning | Designs implementation phases from a specification. |
348
+ | [**planning-task-designer**](agents/planning-task-designer.md) | technical-planning | Breaks a single phase into a task list with edge cases. |
349
+ | [**planning-task-author**](agents/planning-task-author.md) | technical-planning | Writes full detail for a single plan task. |
350
+ | [**planning-dependency-grapher**](agents/planning-dependency-grapher.md) | technical-planning | Analyzes authored tasks to establish internal dependencies and priorities. |
324
351
 
325
352
  ## Requirements
326
353
 
@@ -2,7 +2,7 @@
2
2
  name: implementation-task-executor
3
3
  description: Implements a single plan task via strict TDD. Invoked by technical-implementation skill for each task.
4
4
  tools: Read, Glob, Grep, Edit, Write, Bash
5
- model: inherit
5
+ model: opus
6
6
  ---
7
7
 
8
8
  # Implementation Task Executor
@@ -0,0 +1,140 @@
1
+ ---
2
+ name: planning-dependency-grapher
3
+ description: Analyzes authored tasks to establish internal dependencies and priorities. Invoked by technical-planning skill after plan construction.
4
+ tools: Read, Glob, Grep, Edit
5
+ model: opus
6
+ ---
7
+
8
+ # Planning Dependency Grapher
9
+
10
+ Act as an **expert technical architect** analyzing a complete implementation plan to establish task dependencies and priorities.
11
+
12
+ ## Your Input
13
+
14
+ You receive file paths via the orchestrator's prompt:
15
+
16
+ 1. **Plan Index File path** — The plan with phases, task tables, and frontmatter
17
+ 2. **reading.md** — The output format's reading reference (how to list and read tasks)
18
+ 3. **graph.md** — The output format's graph reference (priority + dependency CRUD instructions)
19
+
20
+ On **re-invocation after feedback**, you also receive:
21
+ - **Previous output** — Your prior dependency/priority analysis
22
+ - **User feedback** — What to change
23
+
24
+ ## Your Process
25
+
26
+ 1. Read `reading.md` — understand how to list and read tasks for this format
27
+ 2. Read `graph.md` — understand how to record priorities and dependencies for this format
28
+ 3. Read the Plan Index File — understand phase structure and task tables
29
+ 4. List all authored task files using the method described in reading.md
30
+ 5. **Clear existing graph data** — using graph.md's removal instructions, remove all existing dependencies and priorities from every task. This ensures a clean slate on every invocation (first run, re-invocation after feedback, or `continue` of a previous session).
31
+ 6. Read every authored task file — absorb each task's Problem, Solution, Do steps, and Acceptance Criteria
32
+ 7. Analyze dependencies — follow the methodology in "Detecting Dependencies" below
33
+ 8. Assign priorities — follow the methodology in "Assigning Priorities" below
34
+ 9. Detect cycles — verify the dependency graph is acyclic (see "Cycle Detection" below)
35
+ 10. If no cycles: **apply all changes** — follow graph.md instructions to record dependencies and priorities on each task
36
+ 11. If cycles detected: **do not apply any changes** — report the cycle chain and stop
37
+
38
+ If this is a **re-invocation after feedback**: read your previous output and the user's feedback, then revise accordingly. Step 5 (clearing) ensures previous analysis doesn't bias the new run.
39
+
40
+ ## Detecting Dependencies
41
+
42
+ Dependencies and priorities are **optional**. In the absence of both, tasks execute in natural order — top to bottom by task ID. Only add dependencies or priorities when they change the execution order in a way that matters.
43
+
44
+ Your job is to look at the complete plan from above and ask two questions about each task: **"What must exist before this task can start?"** and **"What does this task produce that other tasks need?"**
45
+
46
+ ### What constitutes a dependency
47
+
48
+ A dependency exists when Task B **cannot start** until Task A is **complete**. The relationship is always finish-to-start: A must finish before B can begin. Specifically, look for:
49
+
50
+ - **Data dependencies** — Task B reads, queries, or extends something that Task A creates. Example: a task that builds an API endpoint for a model depends on the task that creates that model and its migration.
51
+ - **Capability dependencies** — Task B's tests require functionality that Task A implements. Example: a task testing error handling on an endpoint depends on the task that creates the working endpoint.
52
+ - **Infrastructure dependencies** — Task B needs configuration, setup, or scaffolding that Task A provides. Example: tasks that use a service class depend on the task that creates the service class.
53
+
54
+ ### How to identify them
55
+
56
+ For each task, read its **Do** steps and **Acceptance Criteria** carefully. Identify:
57
+
58
+ 1. **What it produces** — what files, classes, endpoints, configurations, or behaviours does this task create or modify?
59
+ 2. **What it requires** — what must already exist for this task's Do steps to be executable and its tests to be writable?
60
+
61
+ Then match produces→requires across all tasks. If Task A produces something that Task B requires, and Task B would fail or be impossible to implement without it, that's a dependency.
62
+
63
+ ### When NOT to add a dependency
64
+
65
+ - **Natural order already handles it.** If task 2 depends on task 1 and they're already in sequence, don't add an explicit dependency — the natural execution order already ensures the right sequence. Only wire dependencies that the natural order wouldn't catch.
66
+ - **Same-phase sequential tasks.** Tasks within a phase are designed to flow foundation → happy path → errors → edge cases. If task 3 depends on task 2 depends on task 1 and they're already ordered that way, explicit dependencies add noise without value.
67
+ - **Vague relatedness.** Two tasks being "in the same area" doesn't make one depend on the other. The question is: would Task B's implementation or tests literally fail if Task A hadn't been completed?
68
+ - **Cross-phase implicit ordering.** Earlier phases complete before later phases by default. A task in Phase 2 doesn't need explicit dependencies on Phase 1 tasks unless it depends on a *specific* task that might not be obvious from phase ordering alone.
69
+
70
+ ### When dependencies ARE valuable
71
+
72
+ - **Out-of-sequence dependencies.** Task 5 requires something that Task 6 produces. Without an explicit dependency, Task 5 would execute first and fail. The dependency corrects the execution order.
73
+ - **Cross-phase specificity.** A task in Phase 3 depends on a specific task in Phase 1 (not the whole phase). Making this explicit ensures that if task ordering ever changes, the constraint survives.
74
+ - **Convergence points.** A task that integrates work from multiple earlier tasks — it depends on all of them, not just the one immediately before it.
75
+
76
+ ## Assigning Priorities
77
+
78
+ Priority determines execution order among tasks that are equally ready (not blocked by dependencies). Like dependencies, priority is optional — if natural task ID ordering produces the right sequence, skip it.
79
+
80
+ ### When to assign priority
81
+
82
+ - **Bottleneck tasks** — If a task unblocks three or more other tasks, give it higher priority. It's a critical path node; delaying it delays everything downstream.
83
+ - **Foundation tasks** — Tasks that set up infrastructure, models, or configuration that many other tasks build on. Higher priority ensures the foundation is laid early.
84
+ - **Independent leaf tasks** — Tasks that nothing else depends on can receive lower priority. They can execute whenever capacity allows.
85
+
86
+ ### When NOT to assign priority
87
+
88
+ - **Natural order is sufficient.** If the task table is already well-ordered and dependencies handle the necessary constraints, priorities add no value.
89
+ - **Uniform importance.** If all tasks in a phase are roughly equal and should execute in sequence, don't assign priorities.
90
+ - **Never use priority for "importance."** Priority controls execution order, not business value. A critical business feature doesn't get higher priority unless it also unblocks other tasks.
91
+
92
+ ### Priority based on graph position
93
+
94
+ Count each task's **fan-out** — the number of tasks (directly or transitively) that depend on it. Tasks with higher fan-out get higher priority because they're bottlenecks. Tasks with zero fan-out (leaf nodes) get lower priority or no priority at all.
95
+
96
+ ## Cycle Detection
97
+
98
+ After building the complete dependency graph, verify it contains no cycles. A cycle means Task A depends on B, B depends on C, and C depends on A — an impossible execution order.
99
+
100
+ Use a topological sort: process tasks with no incoming dependencies first, remove them, repeat. If any tasks remain unprocessed, they form a cycle.
101
+
102
+ If a cycle is detected: **do not apply any changes**. Report the cycle chain in your output so the orchestrator can present it to the user for resolution.
103
+
104
+ ## Your Output
105
+
106
+ Return a structured summary:
107
+
108
+ ```
109
+ STATUS: complete | blocked | no-changes
110
+ DEPENDENCIES:
111
+ - {task-id} depends on {task-id} — {one-line reason}
112
+ - {task-id} depends on {task-id}, {task-id} — {one-line reason}
113
+
114
+ PRIORITIES:
115
+ - {task-id}: {priority-value} — {one-line reason}
116
+ - {task-id}: {priority-value} — {one-line reason}
117
+
118
+ CYCLES: none | {description of cycle chain}
119
+
120
+ NOTES: {any observations — tasks with no dependencies, isolated tasks, etc.}
121
+ ```
122
+
123
+ If STATUS is `blocked`, CYCLES must explain the circular chain. Do not apply any changes when a cycle is detected.
124
+
125
+ If STATUS is `no-changes`, explain why — typically because the natural task order is already correct and no dependencies or priorities would improve execution order.
126
+
127
+ DEPENDENCIES and PRIORITIES sections may be empty if none are needed. This is a valid outcome — not every plan needs explicit graph edges.
128
+
129
+ ## Rules
130
+
131
+ **MANDATORY. No exceptions. Violating these rules invalidates the work.**
132
+
133
+ 1. **Clean slate every time** — always clear all existing dependencies and priorities from all tasks before analyzing. This prevents previous runs from biasing the current analysis. Use graph.md's removal instructions.
134
+ 2. **Tasks are your source of truth** — determine dependencies from what tasks produce and consume. Each task is self-contained. Do not request or reference the specification.
135
+ 3. **graph.md is your recording interface** — follow its instructions for all writes and removals. Do not assume frontmatter fields, API calls, or file formats.
136
+ 4. **reading.md is your reading interface** — follow its instructions for listing and reading tasks. Do not assume file paths or API calls.
137
+ 5. **No cross-topic dependencies** — only wire dependencies between tasks in the same plan. Cross-topic dependencies are handled separately.
138
+ 6. **Cycle detection before writing** — detect cycles in your analysis before applying any changes. If a cycle exists, report it and stop.
139
+ 7. **Less is more** — only add dependencies and priorities that change execution order in a way that matters. An empty graph is a valid result.
140
+ 8. **Do not modify task content** — only add/update priority and dependency fields. Do not change titles, descriptions, acceptance criteria, or any other task content.
@@ -2,7 +2,7 @@
2
2
  name: planning-phase-designer
3
3
  description: Designs implementation phases from a specification. Invoked by technical-planning skill during plan construction.
4
4
  tools: Read, Glob, Grep
5
- model: inherit
5
+ model: opus
6
6
  ---
7
7
 
8
8
  # Planning Phase Designer
@@ -2,7 +2,7 @@
2
2
  name: planning-task-author
3
3
  description: Writes full detail for a single plan task. Invoked by technical-planning skill during plan construction.
4
4
  tools: Read, Glob, Grep
5
- model: inherit
5
+ model: opus
6
6
  ---
7
7
 
8
8
  # Planning Task Author
@@ -2,7 +2,7 @@
2
2
  name: planning-task-designer
3
3
  description: Breaks a single phase into a task list with edge cases. Invoked by technical-planning skill during plan construction.
4
4
  tools: Read, Glob, Grep
5
- model: inherit
5
+ model: opus
6
6
  ---
7
7
 
8
8
  # Planning Task Designer
@@ -1,11 +1,11 @@
1
1
  ---
2
- name: chain-verifier
2
+ name: review-task-verifier
3
3
  description: Verifies a single plan task was implemented correctly. Checks implementation, tests, and code quality against the task's acceptance criteria and spec context. Invoked by technical-review to verify ALL plan tasks in PARALLEL.
4
4
  tools: Read, Glob, Grep
5
- model: haiku
5
+ model: opus
6
6
  ---
7
7
 
8
- # Chain Verifier
8
+ # Review Task Verifier
9
9
 
10
10
  Act as a **senior software architect** with deep experience in code review. You verify that ONE plan task was implemented correctly, tested adequately, and meets professional quality standards.
11
11
 
@@ -98,10 +98,10 @@ For each unresolved dependency:
98
98
  1. **Search for matching plan**: Does `docs/workflow/planning/{dependency-topic}.md` exist?
99
99
  - If no match: Mark as "no plan exists" - cannot resolve yet
100
100
 
101
- 2. **If plan exists**: Load the output format reference file
101
+ 2. **If plan exists**: Load the format's reading reference
102
102
  - Read `format:` from the dependency plan's frontmatter
103
- - Load `skills/technical-planning/references/output-formats/output-{format}.md`
104
- - Follow the "Querying Dependencies" section to search for matching tasks
103
+ - Load `.claude/skills/technical-planning/references/output-formats/{format}/reading.md`
104
+ - Use the task extraction instructions to search for matching tasks
105
105
 
106
106
  3. **Handle ambiguous matches**:
107
107
  - If multiple tasks could satisfy the dependency, present options to user
@@ -115,8 +115,8 @@ For each resolved match:
115
115
  - Change the dependency's `state: unresolved` to `state: resolved` and add `task_id: {task-id}`
116
116
 
117
117
  2. **Create dependency in output format**:
118
- - Load `skills/technical-planning/references/output-formats/output-{format}.md`
119
- - Follow the "Cross-Epic Dependencies" or equivalent section to create the blocking relationship
118
+ - Load `.claude/skills/technical-planning/references/output-formats/{format}/graph.md`
119
+ - Follow the "Adding a Dependency" section to create the blocking relationship
120
120
 
121
121
  ## Step 6: Bidirectional Check
122
122
 
@@ -18,19 +18,19 @@ Ask the user which plan to view.
18
18
 
19
19
  Read the plan file from `docs/workflow/planning/{topic}.md` and check the `format:` field in the frontmatter.
20
20
 
21
- ## Step 3: Load Format Reference
21
+ ## Step 3: Load Format Reading Reference
22
22
 
23
- Load the corresponding output format reference:
23
+ Load the format's reading reference:
24
24
 
25
25
  ```
26
- skills/technical-planning/references/output-formats/output-{format}.md
26
+ .claude/skills/technical-planning/references/output-formats/{format}/reading.md
27
27
  ```
28
28
 
29
- This reference contains instructions for reading plans in that format.
29
+ This file contains instructions for reading plans in that format.
30
30
 
31
31
  ## Step 4: Read Plan Content
32
32
 
33
- Follow the "Reading" or "Implementation" section in the format reference to locate and read the actual plan content.
33
+ Follow the reading reference to locate and read the actual plan content.
34
34
 
35
35
  ## Step 5: Present Summary
36
36
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.0.54",
3
+ "version": "2.1.0",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -100,9 +100,11 @@ Save their instructions to `docs/workflow/environment-setup.md` (or "No special
100
100
 
101
101
  1. Read the plan from the provided location (typically `docs/workflow/planning/{topic}.md`)
102
102
  2. Plans can be stored in various formats. The `format` field in the plan's frontmatter identifies which format this plan uses.
103
- 3. Load the corresponding adapter file: `skills/technical-planning/references/output-formats/output-{format}.md` — this document provides instructions for reading tasks from and writing progress to the plan. Hereafter referred to as the **plan adapter**.
103
+ 3. Load the format's per-concern adapter files from `.claude/skills/technical-planning/references/output-formats/{format}/`:
104
+ - **reading.md** — how to read tasks from the plan
105
+ - **updating.md** — how to write progress to the plan
104
106
  4. If no `format` field exists, ask the user which format the plan uses.
105
- 5. Read the plan adapter's **Implementation** section to understand the instructions — they apply during Step 5.
107
+ 5. These adapter files apply during Step 5 (task loop).
106
108
 
107
109
  → Proceed to **Step 3**.
108
110
 
@@ -52,13 +52,13 @@ If the environment setup document contains only "No special setup required" (or
52
52
 
53
53
  ## Plan Format Setup
54
54
 
55
- Some plan formats require specific tools. Check the plan's `format` field and load the corresponding output adapter from the planning skill for setup instructions:
55
+ Some plan formats require specific tools. Check the plan's `format` field and load the format's about file for setup instructions:
56
56
 
57
57
  ```
58
- skills/technical-planning/references/output-formats/output-{format}.md
58
+ .claude/skills/technical-planning/references/output-formats/{format}/about.md
59
59
  ```
60
60
 
61
- Each output adapter contains prerequisites and installation instructions for that format.
61
+ Each format's about.md contains prerequisites and installation instructions.
62
62
 
63
63
  ## Example Setup Document
64
64
 
@@ -23,7 +23,7 @@ E. Update progress + commit
23
23
 
24
24
  ## A. Retrieve Next Task
25
25
 
26
- 1. Follow the plan adapter's Reading instructions to determine the next available task.
26
+ 1. Follow the format's **reading.md** instructions to determine the next available task.
27
27
  2. If no available tasks remain → skip to **When All Tasks Are Complete**.
28
28
  3. Normalise the task content following **[task-normalisation.md](../task-normalisation.md)**.
29
29
 
@@ -132,7 +132,7 @@ Announce the result (one line, no stop):
132
132
 
133
133
  ## E. Update Progress and Commit
134
134
 
135
- **Update task progress in the plan** — follow the plan adapter's Implementation section for instructions on how to mark the task complete.
135
+ **Update task progress in the plan** — follow the format's **updating.md** instructions to mark the task complete.
136
136
 
137
137
  **Mirror to implementation tracking file** (`docs/workflow/implementation/{topic}.md`):
138
138
  - Append the task ID to `completed_tasks`
@@ -92,8 +92,8 @@ If the specification changed, update `spec_commit` in the Plan Index File frontm
92
92
 
93
93
  #### If `restart`
94
94
 
95
- 1. Read **[output-formats.md](references/output-formats.md)**, find the entry matching the `format:` field in the Plan Index File, and load the linked adapter
96
- 2. Follow the adapter's cleanup instructions to remove Authored Tasks for this topic
95
+ 1. Read **[output-formats.md](references/output-formats.md)**, find the entry matching the `format:` field in the Plan Index File, and load the format's **[authoring.md](references/output-formats/{format}/authoring.md)**
96
+ 2. Follow the authoring file's cleanup instructions to remove Authored Tasks for this topic
97
97
  3. Delete the Plan Index File
98
98
  4. Commit: `planning({topic}): restart planning`
99
99
 
@@ -105,7 +105,7 @@ If the specification changed, update `spec_commit` in the Plan Index File frontm
105
105
 
106
106
  #### If Plan Index File already exists
107
107
 
108
- Read **[output-formats.md](references/output-formats.md)**, find the entry matching the `format:` field, and load the linked adapter.
108
+ Read **[output-formats.md](references/output-formats.md)**, find the entry matching the `format:` field, and load the format's **[about.md](references/output-formats/{format}/about.md)** and **[authoring.md](references/output-formats/{format}/authoring.md)**.
109
109
 
110
110
  → Proceed to **Step 2**.
111
111
 
@@ -131,7 +131,7 @@ Present the formats from **[output-formats.md](references/output-formats.md)** t
131
131
 
132
132
  Once selected:
133
133
 
134
- 1. Read **[output-formats.md](references/output-formats.md)**, find the chosen format entry, and load the linked adapter
134
+ 1. Read **[output-formats.md](references/output-formats.md)**, find the chosen format entry, and load the format's **[about.md](references/output-formats/{format}/about.md)** and **[authoring.md](references/output-formats/{format}/authoring.md)**
135
135
  2. Capture the current git commit hash: `git rev-parse HEAD`
136
136
  3. Create the Plan Index File at `docs/workflow/planning/{topic}.md` with the following frontmatter and title:
137
137
 
@@ -185,23 +185,31 @@ Load **[steps/plan-construction.md](references/steps/plan-construction.md)** and
185
185
 
186
186
  ---
187
187
 
188
- ## Step 5: Resolve External Dependencies
188
+ ## Step 5: Analyze Task Graph
189
189
 
190
- Load **[steps/resolve-dependencies.md](references/steps/resolve-dependencies.md)** and follow its instructions as written.
190
+ Load **[steps/analyze-task-graph.md](references/steps/analyze-task-graph.md)** and follow its instructions as written.
191
191
 
192
192
  → Proceed to **Step 6**.
193
193
 
194
194
  ---
195
195
 
196
- ## Step 6: Plan Review
196
+ ## Step 6: Resolve External Dependencies
197
197
 
198
- Load **[steps/plan-review.md](references/steps/plan-review.md)** and follow its instructions as written.
198
+ Load **[steps/resolve-dependencies.md](references/steps/resolve-dependencies.md)** and follow its instructions as written.
199
199
 
200
200
  → Proceed to **Step 7**.
201
201
 
202
202
  ---
203
203
 
204
- ## Step 7: Conclude the Plan
204
+ ## Step 7: Plan Review
205
+
206
+ Load **[steps/plan-review.md](references/steps/plan-review.md)** and follow its instructions as written.
207
+
208
+ → Proceed to **Step 8**.
209
+
210
+ ---
211
+
212
+ ## Step 8: Conclude the Plan
205
213
 
206
214
  After the review is complete:
207
215
 
@@ -6,11 +6,11 @@
6
6
 
7
7
  ## Internal Dependencies
8
8
 
9
- Internal dependencies are dependencies within a single topic/epic - where one task depends on another task in the same plan. These are handled by the planning output format's native dependency system.
9
+ Internal dependencies are dependencies within a single topic/epic where one task depends on another task in the same plan.
10
10
 
11
- During planning, structure tasks in the correct order with appropriate dependencies so work proceeds logically. The output format manages these relationships and ensures tasks are worked in the right sequence.
11
+ These are established during planning by the **Analyze Task Graph** step. After all tasks are authored, a dedicated agent analyzes the full plan, determines which tasks depend on which, assigns priorities based on graph position, and records both via the output format's `graph.md` instructions.
12
12
 
13
- See the relevant output format reference for how to create and query internal dependencies.
13
+ The output format's `graph.md` reference documents how dependencies and priorities are stored and queried for each format.
14
14
 
15
15
  ## External Dependencies
16
16
 
@@ -0,0 +1,48 @@
1
+ # Linear
2
+
3
+ *Output format adapter for **[technical-planning](../../../SKILL.md)***
4
+
5
+ ---
6
+
7
+ Use this output format when you want **Linear as the source of truth** for task management. Tasks are stored as Linear issues and can be updated directly in Linear's UI.
8
+
9
+ ## Benefits
10
+
11
+ - Visual tracking with real-time progress updates
12
+ - Team collaboration with shared visibility
13
+ - Native priority, estimation, and dependency support
14
+ - Update tasks directly in Linear UI without editing markdown
15
+ - Integrates with existing Linear workflows
16
+
17
+ ## Setup
18
+
19
+ Requires the Linear MCP server to be configured in Claude Code.
20
+
21
+ Check if Linear MCP is available by looking for Linear tools. If not configured, inform the user that Linear MCP is required for this format.
22
+
23
+ Ask the user: **Which team should own this project?**
24
+
25
+ ## Structure Mapping
26
+
27
+ | Concept | Linear Entity |
28
+ |---------|---------------|
29
+ | Topic | Project |
30
+ | Phase | Label (e.g., `phase-1`, `phase-2`) |
31
+ | Task | Issue |
32
+ | Dependency | Issue blocking relationship |
33
+
34
+ Each topic becomes its own Linear project. Phases are represented as labels on issues.
35
+
36
+ ## Output Location
37
+
38
+ Tasks are stored as issues in a Linear project:
39
+
40
+ ```
41
+ Linear:
42
+ └── Project: {topic}
43
+ ├── Issue: Task 1 [label: phase-1, priority: urgent]
44
+ ├── Issue: Task 2 [label: phase-1, priority: normal]
45
+ └── Issue: Task 3 [label: phase-2, priority: high]
46
+ ```
47
+
48
+ Linear is the source of truth for task detail and status.
@@ -0,0 +1,82 @@
1
+ # Linear: Authoring
2
+
3
+ ## Project Setup
4
+
5
+ Via MCP, create a project with:
6
+
7
+ - **Name**: Match the topic name
8
+ - **Description**: Brief summary + link to specification file
9
+ - **Team**: As specified by user
10
+
11
+ ## Phase Labels
12
+
13
+ Create labels to denote phases (if they don't already exist):
14
+
15
+ - `phase-1`
16
+ - `phase-2`
17
+ - etc.
18
+
19
+ ## Task Storage
20
+
21
+ For each task, create a Linear issue via MCP:
22
+
23
+ ```
24
+ linear_createIssue(
25
+ teamId: "{team_id}",
26
+ projectId: "{project_id}",
27
+ title: "{Task title}",
28
+ description: "{Task description content}",
29
+ labelIds: ["{phase_label_id}", ...]
30
+ )
31
+ ```
32
+
33
+ ## Task Properties
34
+
35
+ ### Status
36
+
37
+ Linear uses workflow states. Map to these states:
38
+
39
+ | Status | Linear State |
40
+ |--------|-------------|
41
+ | Pending | Todo (or Backlog) |
42
+ | In Progress | In Progress |
43
+ | Completed | Done |
44
+ | Skipped | Cancelled (add comment explaining why) |
45
+ | Cancelled | Cancelled |
46
+
47
+ ### Phase Grouping
48
+
49
+ Apply phase labels to issues: `phase-1`, `phase-2`, etc. All issues in a phase share the same label.
50
+
51
+ ### Labels / Tags
52
+
53
+ Beyond phase labels, apply optional labels for categorisation:
54
+
55
+ - `needs-info` — task requires additional information
56
+ - `edge-case` — edge case handling task
57
+ - `foundation` — setup/infrastructure task
58
+ - `refactor` — cleanup task
59
+
60
+ ## Flagging
61
+
62
+ When creating issues, if something is unclear:
63
+
64
+ 1. **Create the issue anyway** — don't block planning
65
+ 2. **Apply `needs-info` label** — makes gaps visible
66
+ 3. **Note what's missing** in description — add a **Needs Clarification** section
67
+ 4. **Continue planning** — circle back later
68
+
69
+ ## Cleanup (Restart)
70
+
71
+ The official Linear MCP server does not support deletion. Ask the user to delete the Linear project manually via the Linear UI.
72
+
73
+ > "The Linear project **{project name}** needs to be deleted before restarting. Please delete it in the Linear UI (Project Settings → Delete project), then confirm so I can proceed."
74
+
75
+ **STOP.** Wait for the user to confirm.
76
+
77
+ ### Fallback
78
+
79
+ If Linear MCP is unavailable:
80
+ - Inform the user
81
+ - Cannot proceed without MCP access
82
+ - Suggest checking MCP configuration or switching to local markdown