@leeovery/claude-technical-workflows 2.0.54 → 2.0.55
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.
- package/README.md +34 -7
- package/agents/implementation-task-executor.md +1 -1
- package/agents/planning-dependency-grapher.md +140 -0
- package/agents/planning-phase-designer.md +1 -1
- package/agents/planning-task-author.md +1 -1
- package/agents/planning-task-designer.md +1 -1
- package/agents/{chain-verifier.md → review-task-verifier.md} +3 -3
- package/commands/link-dependencies.md +5 -5
- package/commands/workflow/view-plan.md +5 -5
- package/package.json +1 -1
- package/skills/technical-implementation/SKILL.md +4 -2
- package/skills/technical-implementation/references/environment-setup.md +3 -3
- package/skills/technical-implementation/references/steps/task-loop.md +2 -2
- package/skills/technical-planning/SKILL.md +17 -9
- package/skills/technical-planning/references/dependencies.md +3 -3
- package/skills/technical-planning/references/output-formats/linear/about.md +48 -0
- package/skills/technical-planning/references/output-formats/linear/authoring.md +82 -0
- package/skills/technical-planning/references/output-formats/linear/graph.md +68 -0
- package/skills/technical-planning/references/output-formats/linear/reading.md +35 -0
- package/skills/technical-planning/references/output-formats/linear/updating.md +25 -0
- package/skills/technical-planning/references/output-formats/local-markdown/about.md +40 -0
- package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +64 -0
- package/skills/technical-planning/references/output-formats/local-markdown/graph.md +44 -0
- package/skills/technical-planning/references/output-formats/local-markdown/reading.md +29 -0
- package/skills/technical-planning/references/output-formats/local-markdown/updating.md +22 -0
- package/skills/technical-planning/references/output-formats.md +6 -30
- package/skills/technical-planning/references/steps/analyze-task-graph.md +89 -0
- package/skills/technical-planning/references/steps/author-tasks.md +3 -3
- package/skills/technical-planning/references/steps/review-integrity.md +4 -5
- package/skills/technical-planning/references/task-design.md +10 -0
- package/skills/technical-review/SKILL.md +3 -3
- package/skills/technical-review/references/review-checklist.md +10 -10
- package/skills/technical-planning/references/output-formats/output-backlog-md.md +0 -369
- package/skills/technical-planning/references/output-formats/output-beads.md +0 -455
- package/skills/technical-planning/references/output-formats/output-linear.md +0 -328
- 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
|
|
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
|
-
|
|
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
|
-
├──
|
|
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
|
|
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
|
|
322
|
-
|
|
323
|
-
| [**
|
|
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:
|
|
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.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
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:
|
|
5
|
+
model: opus
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
#
|
|
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
|
|
101
|
+
2. **If plan exists**: Load the format's reading reference
|
|
102
102
|
- Read `format:` from the dependency plan's frontmatter
|
|
103
|
-
- Load
|
|
104
|
-
-
|
|
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
|
|
119
|
-
- Follow the "
|
|
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
|
|
23
|
+
Load the format's reading reference:
|
|
24
24
|
|
|
25
25
|
```
|
|
26
|
-
skills/technical-planning/references/output-formats/
|
|
26
|
+
.claude/skills/technical-planning/references/output-formats/{format}/reading.md
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
This
|
|
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
|
|
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
|
@@ -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
|
|
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.
|
|
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
|
|
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/
|
|
58
|
+
.claude/skills/technical-planning/references/output-formats/{format}/about.md
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
-
Each
|
|
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
|
|
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
|
|
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
|
|
96
|
-
2. Follow the
|
|
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
|
|
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
|
|
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:
|
|
188
|
+
## Step 5: Analyze Task Graph
|
|
189
189
|
|
|
190
|
-
Load **[steps/
|
|
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:
|
|
196
|
+
## Step 6: Resolve External Dependencies
|
|
197
197
|
|
|
198
|
-
Load **[steps/
|
|
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:
|
|
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
|
|
9
|
+
Internal dependencies are dependencies within a single topic/epic — where one task depends on another task in the same plan.
|
|
10
10
|
|
|
11
|
-
|
|
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
|
-
|
|
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
|