Skip to content

Commit 72c4709

Browse files
committed
1.4.0: Hand off to fresh Generator/Evaluator sessions
The Planner used to tell the Developer "stay in this session, rename to Generator (M-NNN)", which dragged thousands of investigation and Codex-convergence tokens into the Generator's long implementation loop. Step 5 now hands off to two fresh Claude sessions instead, so each role starts with a clean context budget. Step 5 also drops the Planner's pre-emptive rename copy-paste blocks for the Generator and Evaluator. Both role skills already print their own rename block as the first thing they output on invocation, so the Planner was duplicating that work. A single short line tells the Developer to expect that rename block when they start each role. Step 4 step 29 converts the plain "Optionally ask: ..." commit prompt into a real AskUserQuestion call with three options: Commit and push (Recommended), Commit only (no push), or Skip and let the Generator bundle the planning artifacts with its first commit. The choice respects the project's git.commitConventions for the message body. The Step 0.8 Planner self-rename to "Planner (M-NNN)" stays — useful for telemetry and session-list legibility while the Planner runs. Bumps the plugin to 1.4.0.
1 parent 84031e5 commit 72c4709

2 files changed

Lines changed: 21 additions & 29 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "tandemkit",
3-
"version": "1.3.1",
3+
"version": "1.4.0",
44
"description": "Describe your goal, approve the spec, then step away — Claude and Codex loop together until it's right.",
55
"author": {
66
"name": "Cihat Gündüz",

skills/planner/SKILL.md

Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -286,68 +286,60 @@ Codex is already running in background from Step 0.9. The `Planner-Discussion/`
286286
3. Wait for Codex's review. If APPROVED, return to step 26 with the new file as the final draft. If NOT APPROVED, address Codex's disagreements and iterate.
287287
4. **Do not skip the Codex review and copy the file directly to `Spec.md`.** The Spec.md baseline must always be a Codex-approved Claude-NN.md.
288288
289-
29. Optionally ask: "The spec and mission structure are ready. Want me to commit them before we start execution?"
289+
29. **Ask via AskUserQuestion** whether to commit the mission folder + `Spec.md` + the `Config.json` flip before handing off to the Generator. The mission folder typically lives inside an umbrella git repo; committing now creates a durable baseline the Generator's worktree branch can fork from, but some projects prefer to bundle the planning artifacts with the Generator's first commit. Use **AskUserQuestion** with three options — never prompt this in plain text:
290+
291+
- **Commit and push (Recommended)** — stage `TandemKit/Config.json` + the entire mission folder, write a planning commit per `Config.json::git.commitConventions`, push to the configured remote.
292+
- **Commit only (no push)** — stage and commit locally; the Developer pushes manually later.
293+
- **Skip — let the Generator bundle it** — leave the planning artifacts uncommitted; the Generator's first commit picks them up.
294+
295+
On **Commit and push** or **Commit only**, write a commit message that follows the project's `git.commitConventions` (typically: imperative subject under ~80 chars, capitalized, no trailing period, no `Co-Authored-By`, body wrapped at 72 explaining the planning outcome — mission scope, rounds run, key decisions locked, target submodule).
290296
291297
════════════════════════════════════════
292298
✓ Spec ready — Your turn to approve
293299
════════════════════════════════════════
294300
295301
## Step 5 — Transition to Execution
296302
297-
30. Update State.json: `"phase": "ready-for-execution"`
303+
30. Update `State.json`: `"phase": "ready-for-execution"`.
298304
299-
**Present the commands below as separate copy-paste blocks — one command per box. Each block must be run one at a time in order; do NOT merge multiple commands into a single box.**
305+
31. **The Planner session's job is done.** Tell the Developer to start the Generator and Evaluator in **fresh** Claude sessions — never reuse the Planner's session. Token budget matters: the Planner has consumed thousands of tokens on investigation, Codex coordination, and convergence rounds; that context bloat would shorten the Generator's implementation runway and the Evaluator's review depth. Each role gets a clean session.
300306
301-
### Generator session (stay in this session)
307+
Both the Generator and Evaluator skills print their own rename blocks as the **first thing** they output when invoked. The Planner does not print rename commands here — they would only duplicate what the role skills do.
302308
303-
Substitute `{PROJECT}` with `projectName` from `Config.json` (captured in Step 0.5) and `NNN` with the mission number (3-digit prefix of the mission name, e.g., `005-AddDarkMode` → `005`).
309+
Present these two copy-paste blocks (one per role). Substitute `<mission>` with the mission folder name (e.g. `005-AddDarkMode`).
304310
305-
╔═══ 1/2 — RENAME THIS SESSION ════════════════════════════════════════╗
306-
307-
```
308-
/rename {PROJECT}: Generator (M-NNN)
309-
```
310-
311-
╚══════════════════════════════════════════════════════════════════════╝
311+
### Generator — open a new Claude session in any terminal at the project root
312312
313-
╔═══ 2/2 — START THE GENERATOR ════════════════════════════════════════╗
313+
╔═══ START THE GENERATOR ══════════════════════════════════════════════╗
314314
315315
```
316-
/tandemkit:generator NNN-MissionName
316+
/tandemkit:generator <mission>
317317
```
318318
319319
╚══════════════════════════════════════════════════════════════════════╝
320320
321-
### Evaluator session (open a new terminal at the project root)
321+
### Evaluator open another terminal at the project root and start Claude with the Evaluator system prompt
322322
323-
Same `{PROJECT}` and `NNN` substitution applies to the Evaluator rename block.
324-
325-
╔═══ 1/3 — OPEN A NEW CLAUDE SESSION (in a new terminal) ══════════════╗
323+
╔═══ 1/2 — START CLAUDE WITH THE EVALUATOR SYSTEM PROMPT ══════════════╗
326324
327325
```
328326
claude --append-system-prompt-file TandemKit/ClaudeEvaluatorPrompt.md
329327
```
330328
331329
╚══════════════════════════════════════════════════════════════════════╝
332330
333-
╔═══ 2/3 — IN THAT NEW SESSION, RENAME IT ═════════════════════════════╗
331+
╔═══ 2/2 — IN THAT NEW SESSION, START THE EVALUATOR ═══════════════════╗
334332
335333
```
336-
/rename {PROJECT}: Evaluator (M-NNN)
334+
/tandemkit:evaluator <mission>
337335
```
338336
339337
╚══════════════════════════════════════════════════════════════════════╝
340338
341-
╔═══ 3/3 — THEN START THE EVALUATOR ═══════════════════════════════════╗
342-
343-
```
344-
/tandemkit:evaluator NNN-MissionName
345-
```
346-
347-
╚══════════════════════════════════════════════════════════════════════╝
339+
Both the Generator and Evaluator print a `/rename` block as their first response — just copy-paste it to keep your session list legible.
348340
349341
════════════════════════════════════════
350-
✓ Planning Complete — Start Generator and Evaluator sessions
342+
✓ Planning Complete — Generator and Evaluator run in fresh sessions
351343
════════════════════════════════════════
352344
353345
## What the Spec Is NOT

0 commit comments

Comments
 (0)