tuncss-plan-kit 0.1.1 → 0.3.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.
- package/.opencode/plugins/tuncss-plan-kit.js +48 -44
- package/README.md +123 -113
- package/bin/cli.js +484 -429
- package/commands/codex/brainstorm.md +1 -1
- package/commands/codex/changelog.md +1 -0
- package/commands/codex/handoff-plan.md +1 -1
- package/commands/codex/plan-universal.md +1 -1
- package/commands/opencode/brainstorm.md +5 -5
- package/commands/opencode/changelog.md +5 -0
- package/commands/opencode/handoff-plan.md +5 -5
- package/commands/opencode/plan-universal.md +5 -5
- package/package.json +36 -36
- package/skills/brainstorm/SKILL.md +132 -132
- package/skills/changelog/SKILL.md +95 -0
- package/skills/handoff-plan/SKILL.md +78 -77
- package/skills/plan-universal/SKILL.md +139 -138
- package/templates/instructions-block.md +3 -2
|
@@ -1,77 +1,78 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: handoff-plan
|
|
3
|
-
description: Use after writing a plan when the user wants a short briefing message to paste into another LLM agent (Codex, Cursor, Copilot, etc.) so it can pick up execution. Triggered by /handoff-plan.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Handoff Plan
|
|
7
|
-
|
|
8
|
-
Produce a short, paste-ready briefing message that another LLM agent can use to pick up an existing plan in this repo. The receiving agent is assumed to have filesystem access — the message points at files rather than inlining them.
|
|
9
|
-
|
|
10
|
-
**Announce at start:** "Generating handoff message."
|
|
11
|
-
|
|
12
|
-
## Inputs
|
|
13
|
-
|
|
14
|
-
- **If the user passes a plan path** (e.g. `/handoff-plan docs/plans/2026-05-13-foo.md`), use that file.
|
|
15
|
-
- **Otherwise** pick the most recently modified `*.md` in `docs/plans/`. If `docs/plans/` doesn't exist or is empty, stop and tell the user to run `/plan-universal` first.
|
|
16
|
-
|
|
17
|
-
If a spec matching the plan's slug exists in `docs/specs/`, include its path too. Best-effort match by filename slug; don't fabricate a path — omit the spec line if there's no clear match.
|
|
18
|
-
|
|
19
|
-
## What to extract from the plan
|
|
20
|
-
|
|
21
|
-
Read the plan file and pull:
|
|
22
|
-
- **Goal** — the one-line goal from the header
|
|
23
|
-
- **Tech / dependencies** — the tech line from the header
|
|
24
|
-
- **Task list** — every `### TASK-NN: <name>` heading (just the numbers and names, not the bodies)
|
|
25
|
-
|
|
26
|
-
## Repo context
|
|
27
|
-
|
|
28
|
-
Get a one-line project descriptor:
|
|
29
|
-
- Prefer `package.json` `name` + `description`
|
|
30
|
-
- Fall back to the first non-empty line of `README.md`
|
|
31
|
-
- One short sentence — no marketing language
|
|
32
|
-
|
|
33
|
-
## Output
|
|
34
|
-
|
|
35
|
-
Write the message to `docs/handoffs/YYYY-MM-DD-<feature-slug>.md` (date = today, slug = same slug as the plan file). Create `docs/handoffs/` if missing.
|
|
36
|
-
|
|
37
|
-
After writing, print only a single confirmation line to chat:
|
|
38
|
-
|
|
39
|
-
> Handoff written to `docs/handoffs/<filename>.md`.
|
|
40
|
-
|
|
41
|
-
Do not echo the message contents — the user will open the file.
|
|
42
|
-
|
|
43
|
-
## Message template
|
|
44
|
-
|
|
45
|
-
````text
|
|
46
|
-
You're picking up an implementation plan in this repo.
|
|
47
|
-
|
|
48
|
-
**Project:** <project name> — <one-line description>
|
|
49
|
-
|
|
50
|
-
**Plan:** `<path/to/plan.md>`
|
|
51
|
-
**Spec:** `<path/to/spec.md>` ← omit this line entirely if no spec found
|
|
52
|
-
|
|
53
|
-
**Goal:** <goal line from plan>
|
|
54
|
-
|
|
55
|
-
**Tech:** <tech line from plan>
|
|
56
|
-
|
|
57
|
-
**Tasks:**
|
|
58
|
-
- TASK-01: <name>
|
|
59
|
-
- TASK-02: <name>
|
|
60
|
-
- ...
|
|
61
|
-
|
|
62
|
-
**How to execute (full execution contract is at the top of the plan file):**
|
|
63
|
-
1. When I ask for a task ("do TASK-03"), read **only** that task's block in the plan.
|
|
64
|
-
2. Stay strictly inside its **Targets** — don't edit files outside that list.
|
|
65
|
-
3. Follow the **Implementation Notes**; don't invent extra scope.
|
|
66
|
-
4. When **Done When** and **Verification** are satisfied, **stop and report**. Wait for my approval before moving on.
|
|
67
|
-
5. If verification fails, report and stop. Don't attempt fixes outside the task's Targets.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- Don't
|
|
76
|
-
-
|
|
77
|
-
-
|
|
1
|
+
---
|
|
2
|
+
name: handoff-plan
|
|
3
|
+
description: Use after writing a plan when the user wants a short briefing message to paste into another LLM agent (Codex, Cursor, Copilot, etc.) so it can pick up execution. Triggered by /handoff-plan.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Handoff Plan
|
|
7
|
+
|
|
8
|
+
Produce a short, paste-ready briefing message that another LLM agent can use to pick up an existing plan in this repo. The receiving agent is assumed to have filesystem access — the message points at files rather than inlining them.
|
|
9
|
+
|
|
10
|
+
**Announce at start:** "Generating handoff message."
|
|
11
|
+
|
|
12
|
+
## Inputs
|
|
13
|
+
|
|
14
|
+
- **If the user passes a plan path** (e.g. `/handoff-plan docs/plans/2026-05-13-foo.md`), use that file.
|
|
15
|
+
- **Otherwise** pick the most recently modified `*.md` in `docs/plans/`. If `docs/plans/` doesn't exist or is empty, stop and tell the user to run `/plan-universal` first.
|
|
16
|
+
|
|
17
|
+
If a spec matching the plan's slug exists in `docs/specs/`, include its path too. Best-effort match by filename slug; don't fabricate a path — omit the spec line if there's no clear match.
|
|
18
|
+
|
|
19
|
+
## What to extract from the plan
|
|
20
|
+
|
|
21
|
+
Read the plan file and pull:
|
|
22
|
+
- **Goal** — the one-line goal from the header
|
|
23
|
+
- **Tech / dependencies** — the tech line from the header
|
|
24
|
+
- **Task list** — every `### TASK-NN: <name>` heading (just the numbers and names, not the bodies)
|
|
25
|
+
|
|
26
|
+
## Repo context
|
|
27
|
+
|
|
28
|
+
Get a one-line project descriptor:
|
|
29
|
+
- Prefer `package.json` `name` + `description`
|
|
30
|
+
- Fall back to the first non-empty line of `README.md`
|
|
31
|
+
- One short sentence — no marketing language
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
Write the message to `docs/handoffs/YYYY-MM-DD-<feature-slug>.md` (date = today, slug = same slug as the plan file). Create `docs/handoffs/` if missing.
|
|
36
|
+
|
|
37
|
+
After writing, print only a single confirmation line to chat:
|
|
38
|
+
|
|
39
|
+
> Handoff written to `docs/handoffs/<filename>.md`.
|
|
40
|
+
|
|
41
|
+
Do not echo the message contents — the user will open the file.
|
|
42
|
+
|
|
43
|
+
## Message template
|
|
44
|
+
|
|
45
|
+
````text
|
|
46
|
+
You're picking up an implementation plan in this repo.
|
|
47
|
+
|
|
48
|
+
**Project:** <project name> — <one-line description>
|
|
49
|
+
|
|
50
|
+
**Plan:** `<path/to/plan.md>`
|
|
51
|
+
**Spec:** `<path/to/spec.md>` ← omit this line entirely if no spec found
|
|
52
|
+
|
|
53
|
+
**Goal:** <goal line from plan>
|
|
54
|
+
|
|
55
|
+
**Tech:** <tech line from plan>
|
|
56
|
+
|
|
57
|
+
**Tasks:**
|
|
58
|
+
- TASK-01: <name>
|
|
59
|
+
- TASK-02: <name>
|
|
60
|
+
- ...
|
|
61
|
+
|
|
62
|
+
**How to execute (full execution contract is at the top of the plan file):**
|
|
63
|
+
1. When I ask for a task ("do TASK-03"), read **only** that task's block in the plan.
|
|
64
|
+
2. Stay strictly inside its **Targets** — don't edit files outside that list.
|
|
65
|
+
3. Follow the **Implementation Notes**; don't invent extra scope.
|
|
66
|
+
4. When **Done When** and **Verification** are satisfied, write the changelog entry (rule 6), then **stop and report**. Wait for my approval before moving on.
|
|
67
|
+
5. If verification fails, report and stop. Don't attempt fixes outside the task's Targets, and don't write a changelog entry.
|
|
68
|
+
6. **Changelog entry:** use the `changelog` skill to append this task's entry to `docs/CHANGELOG.md`. Base it on the actual diff, not on what you set out to do.
|
|
69
|
+
|
|
70
|
+
Start by reading `<plan path>` end-to-end, then wait for me to ask for the first task. Don't begin TASK-01 until I ask.
|
|
71
|
+
````
|
|
72
|
+
|
|
73
|
+
## Rules
|
|
74
|
+
|
|
75
|
+
- Don't summarize task bodies. The receiving agent reads the plan file itself.
|
|
76
|
+
- Don't reformat the execution contract beyond the 6 numbered rules above. They are the contract; the plan file is the source of truth.
|
|
77
|
+
- Keep the message under ~50 lines. If you're tempted to add more context, you're inlining the plan — stop.
|
|
78
|
+
- Don't include this skill's name, your model name, or any Claude-specific framing in the output. The receiver doesn't need to know how the message was generated.
|
|
@@ -1,138 +1,139 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: plan-universal
|
|
3
|
-
description: Use when you have an approved spec or a clear multi-step task and need to write the implementation plan before any code is written. Invoked via /plan-universal, usually after the brainstorm skill.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Writing Plans
|
|
7
|
-
|
|
8
|
-
Turn a spec into a plan an engineer can execute task by task without re-reading the spec. Assume they're capable but have zero context on this codebase or problem domain — every task must stand on its own.
|
|
9
|
-
|
|
10
|
-
**Announce at start:** "Writing the implementation plan."
|
|
11
|
-
|
|
12
|
-
**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md` (override if the user has set a different location). Create `docs/plans/` if it doesn't exist.
|
|
13
|
-
|
|
14
|
-
## Scope check
|
|
15
|
-
|
|
16
|
-
If the spec covers multiple independent subsystems, that should have been caught during brainstorming. If it slipped through, stop and propose splitting it into one plan per subsystem before writing tasks. Each plan should produce working, testable software on its own.
|
|
17
|
-
|
|
18
|
-
## File structure first
|
|
19
|
-
|
|
20
|
-
Before defining tasks, map every file the plan will create or modify and what each is responsible for. Decomposition decisions get locked in here, not inside individual tasks.
|
|
21
|
-
|
|
22
|
-
- One clear responsibility per file. Files that change together live together; split by responsibility, not technical layer.
|
|
23
|
-
- Smaller, focused files are easier to edit reliably than large ones doing many things.
|
|
24
|
-
- In an existing codebase, follow the patterns already there. If a file you're modifying has grown unwieldy and the work touches it heavily, including a focused split in the plan is reasonable. Don't bundle unrelated restructuring.
|
|
25
|
-
|
|
26
|
-
This map is what makes the task list coherent. Each task should produce changes that make sense as a self-contained unit.
|
|
27
|
-
|
|
28
|
-
## Plan document structure
|
|
29
|
-
|
|
30
|
-
Every plan starts with this header:
|
|
31
|
-
|
|
32
|
-
````markdown
|
|
33
|
-
# <Feature Name> — Implementation Plan
|
|
34
|
-
|
|
35
|
-
<!-- EXECUTION CONTRACT — read before touching any task -->
|
|
36
|
-
> When the user asks for a specific task (e.g. "do TASK-03"):
|
|
37
|
-
> 1. Read **only** that task's block. Do not preview other tasks.
|
|
38
|
-
> 2. Stay strictly inside its **Targets** — do not edit files outside that list.
|
|
39
|
-
> 3. Follow the **Implementation Notes**; do not invent extra scope.
|
|
40
|
-
> 4. When **Done When** and **Verification** are satisfied, **stop and report**. Wait for approval before moving to the next task.
|
|
41
|
-
> 5. If verification fails, report the failure and stop. Do not attempt fixes outside the task's Targets.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- `path/to/
|
|
52
|
-
- `
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
64
|
-
- **
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
- `exact/path/to/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
- E.g. "
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
- The
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
- "
|
|
117
|
-
- "
|
|
118
|
-
- "
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
1
|
+
---
|
|
2
|
+
name: plan-universal
|
|
3
|
+
description: Use when you have an approved spec or a clear multi-step task and need to write the implementation plan before any code is written. Invoked via /plan-universal, usually after the brainstorm skill.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Writing Plans
|
|
7
|
+
|
|
8
|
+
Turn a spec into a plan an engineer can execute task by task without re-reading the spec. Assume they're capable but have zero context on this codebase or problem domain — every task must stand on its own.
|
|
9
|
+
|
|
10
|
+
**Announce at start:** "Writing the implementation plan."
|
|
11
|
+
|
|
12
|
+
**Save plans to:** `docs/plans/YYYY-MM-DD-<feature-name>.md` (override if the user has set a different location). Create `docs/plans/` if it doesn't exist.
|
|
13
|
+
|
|
14
|
+
## Scope check
|
|
15
|
+
|
|
16
|
+
If the spec covers multiple independent subsystems, that should have been caught during brainstorming. If it slipped through, stop and propose splitting it into one plan per subsystem before writing tasks. Each plan should produce working, testable software on its own.
|
|
17
|
+
|
|
18
|
+
## File structure first
|
|
19
|
+
|
|
20
|
+
Before defining tasks, map every file the plan will create or modify and what each is responsible for. Decomposition decisions get locked in here, not inside individual tasks.
|
|
21
|
+
|
|
22
|
+
- One clear responsibility per file. Files that change together live together; split by responsibility, not technical layer.
|
|
23
|
+
- Smaller, focused files are easier to edit reliably than large ones doing many things.
|
|
24
|
+
- In an existing codebase, follow the patterns already there. If a file you're modifying has grown unwieldy and the work touches it heavily, including a focused split in the plan is reasonable. Don't bundle unrelated restructuring.
|
|
25
|
+
|
|
26
|
+
This map is what makes the task list coherent. Each task should produce changes that make sense as a self-contained unit.
|
|
27
|
+
|
|
28
|
+
## Plan document structure
|
|
29
|
+
|
|
30
|
+
Every plan starts with this header:
|
|
31
|
+
|
|
32
|
+
````markdown
|
|
33
|
+
# <Feature Name> — Implementation Plan
|
|
34
|
+
|
|
35
|
+
<!-- EXECUTION CONTRACT — read before touching any task -->
|
|
36
|
+
> When the user asks for a specific task (e.g. "do TASK-03"):
|
|
37
|
+
> 1. Read **only** that task's block. Do not preview other tasks.
|
|
38
|
+
> 2. Stay strictly inside its **Targets** — do not edit files outside that list.
|
|
39
|
+
> 3. Follow the **Implementation Notes**; do not invent extra scope.
|
|
40
|
+
> 4. When **Done When** and **Verification** are satisfied, write the changelog entry (rule 6), then **stop and report**. Wait for approval before moving to the next task.
|
|
41
|
+
> 5. If verification fails, report the failure and stop. Do not attempt fixes outside the task's Targets, and do not write a changelog entry.
|
|
42
|
+
> 6. **Changelog entry:** use the `changelog` skill to append this task's entry to `docs/CHANGELOG.md`. Base it on the actual diff, not on what you set out to do.
|
|
43
|
+
|
|
44
|
+
**Goal:** <one sentence>
|
|
45
|
+
|
|
46
|
+
**Architecture:** <2-3 sentences on the approach>
|
|
47
|
+
|
|
48
|
+
**Tech / dependencies:** <key libraries, runtimes, services>
|
|
49
|
+
|
|
50
|
+
**File map:**
|
|
51
|
+
- `path/to/a.ts` — <responsibility>
|
|
52
|
+
- `path/to/b.ts` — <responsibility>
|
|
53
|
+
- `tests/...` — <what's covered, if anything>
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
````
|
|
57
|
+
|
|
58
|
+
## Model tiers
|
|
59
|
+
|
|
60
|
+
Every task gets a recommended tier. These are the cost/capability brackets for the model that should execute it:
|
|
61
|
+
|
|
62
|
+
- **T1 — Fast:** trivial edits, renames, formatting, single-file boilerplate
|
|
63
|
+
- **T2 — Balanced:** standard feature work in one component, contained logic
|
|
64
|
+
- **T3 — Power:** multi-file changes, non-trivial logic, refactors with consequence
|
|
65
|
+
- **T4 — Reasoning:** architecture decisions, gnarly debugging, cross-cutting design
|
|
66
|
+
|
|
67
|
+
When in doubt, pick the lower tier. Upgrades are cheap; over-spending isn't.
|
|
68
|
+
|
|
69
|
+
## Task structure
|
|
70
|
+
|
|
71
|
+
Every task uses this shape:
|
|
72
|
+
|
|
73
|
+
````markdown
|
|
74
|
+
### TASK-01: <short name>
|
|
75
|
+
|
|
76
|
+
**Targets:**
|
|
77
|
+
- `exact/path/to/file.ts` (create | modify | delete)
|
|
78
|
+
- `exact/path/to/other.ts` (modify)
|
|
79
|
+
|
|
80
|
+
**Model Tier:** T2 <!-- T1 Fast | T2 Balanced | T3 Power | T4 Reasoning -->
|
|
81
|
+
|
|
82
|
+
**Implementation Notes:**
|
|
83
|
+
- What this task does, in plain language
|
|
84
|
+
- Any non-obvious decision and why
|
|
85
|
+
- Concrete code, types, function signatures, or commands the engineer needs — not "implement the handler" but the actual handler shape
|
|
86
|
+
- If a public interface from an earlier task is consumed here, restate its signature; don't make the reader page back
|
|
87
|
+
|
|
88
|
+
**Done When:**
|
|
89
|
+
- Bullet list of observable outcomes
|
|
90
|
+
- E.g. "endpoint returns 200 with `{ id, status }` body for valid input"
|
|
91
|
+
- E.g. "type `Foo` exported from `src/foo.ts`"
|
|
92
|
+
|
|
93
|
+
**Verification:**
|
|
94
|
+
- Manual: <commands the engineer runs and what they should see>
|
|
95
|
+
- Automated (optional): <test files, scripts, or `npm test -- foo` commands and expected output, only if automated coverage genuinely belongs here>
|
|
96
|
+
````
|
|
97
|
+
|
|
98
|
+
Tasks are self-contained because the executor reads exactly one block per turn (see the Execution Contract). If TASK-07 needs the shape of something defined in TASK-02, restate it in TASK-07 — don't make the reader scroll.
|
|
99
|
+
|
|
100
|
+
## Granularity
|
|
101
|
+
|
|
102
|
+
Each task should be a self-contained slice that produces something testable. Not microsteps like "write the failing test" / "make it pass" — that's noise. A task is roughly: a feature surface, a module, an endpoint, a screen, a migration. Split when:
|
|
103
|
+
- Targets cross unrelated areas
|
|
104
|
+
- The verification step would need multiple unrelated checks
|
|
105
|
+
- The Implementation Notes start branching ("either X or Y depending on…")
|
|
106
|
+
|
|
107
|
+
Merge when a task is so small it has no meaningful Done When of its own.
|
|
108
|
+
|
|
109
|
+
## Tests are not mandatory
|
|
110
|
+
|
|
111
|
+
Don't dictate TDD or per-task test coverage. Add Automated Verification only when an automated check genuinely belongs in that task (a regression test for a known-bug fix, a contract test for a new public API). For most tasks, **Done When** + Manual Verification is enough. Let the executor judge whether more coverage pays for itself.
|
|
112
|
+
|
|
113
|
+
## No placeholders
|
|
114
|
+
|
|
115
|
+
These are **plan failures**. Never write them:
|
|
116
|
+
- "TBD", "TODO", "implement later", "fill in details"
|
|
117
|
+
- "Add appropriate error handling" / "validate input" / "handle edge cases" — name the cases
|
|
118
|
+
- "Write tests for the above" without the actual test names and what they assert
|
|
119
|
+
- "Similar to TASK-N" — repeat what's needed; the executor reads tasks out of order
|
|
120
|
+
- Steps that describe *what* without showing *how* — if a task changes code, show the code shape, the type, or the exact command
|
|
121
|
+
- References to types, functions, or files not defined in any task or in the file map
|
|
122
|
+
|
|
123
|
+
## Self-review
|
|
124
|
+
|
|
125
|
+
After the plan is written, re-read it against the spec with fresh eyes. Fix issues inline; no second review pass.
|
|
126
|
+
|
|
127
|
+
1. **Spec coverage** — go through each requirement in the spec. Can you point to the task that implements it? Add tasks for any gap.
|
|
128
|
+
2. **Placeholder scan** — anything from the "No placeholders" list? Fix.
|
|
129
|
+
3. **Name and type consistency** — a function called `clearLayers()` in TASK-03 but `clearFullLayers()` in TASK-07 is a bug. Same for types, file paths, env vars, table names.
|
|
130
|
+
4. **Targets isolation** — does any task's Targets list overlap awkwardly with another in a way that will force out-of-order edits? If so, resequence or merge.
|
|
131
|
+
5. **Verification reality** — every Done When has a corresponding Verification step that an engineer can actually run.
|
|
132
|
+
|
|
133
|
+
## After the plan
|
|
134
|
+
|
|
135
|
+
Save the plan, commit it, and tell the user:
|
|
136
|
+
|
|
137
|
+
> Plan saved to `<path>` and committed. To execute, ask for tasks one at a time (e.g. "do TASK-01") — I'll stay inside that task's Targets and stop for approval before moving on, per the execution contract at the top of the plan. Or, if you want to hand this off to another LLM agent, run `/handoff-plan`.
|
|
138
|
+
|
|
139
|
+
Do not start implementing in the same turn. Wait for the user to request the first task.
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<!-- tuncss-plan-kit:start -->
|
|
2
2
|
## Plan Kit
|
|
3
3
|
|
|
4
|
-
This project uses tuncss-plan-kit.
|
|
4
|
+
This project uses tuncss-plan-kit. Four slash commands are available:
|
|
5
5
|
|
|
6
6
|
- `/brainstorm` — turn an idea into an approved spec (writes to `docs/specs/`)
|
|
7
7
|
- `/plan-universal` — turn a spec into an executable plan (writes to `docs/plans/`)
|
|
8
8
|
- `/handoff-plan` — generate a paste-ready handoff for another LLM agent (writes to `docs/handoffs/`)
|
|
9
|
+
- `/changelog` — record what changed, in plain sentences (writes to `docs/CHANGELOG.md`)
|
|
9
10
|
|
|
10
|
-
Plans contain an execution contract at the top. When asked for a specific task ("do TASK-03"), read only that task's block, stay inside its Targets, stop and report when Done When + Verification are satisfied.
|
|
11
|
+
Plans contain an execution contract at the top. When asked for a specific task ("do TASK-03"), read only that task's block, stay inside its Targets, write the changelog entry, then stop and report when Done When + Verification are satisfied.
|
|
11
12
|
<!-- tuncss-plan-kit:end -->
|