skill: rename plan to planner

Anthropic now reserves /plan as a UI command, so the Skill tool refuses to
dispatch it. Rename the project's plan skill to planner, update the symlink
under .claude/skills/, and adjust references in CLAUDE.md, DESIGN.md,
skills/README.md, and the cross-references between brainstorm / implement /
audit / fieldtest / fieldtester. Plan files themselves (docs/plans/*.md)
keep their name — only the skill ID changes.
This commit is contained in:
2026-05-11 11:05:36 +02:00
parent adcea02e85
commit 61ed6d47c8
12 changed files with 24 additions and 24 deletions
-1
View File
@@ -1 +0,0 @@
../../skills/plan
+1
View File
@@ -0,0 +1 @@
../../skills/planner
+1 -1
View File
@@ -266,7 +266,7 @@ Existing entries are not retroactively renamed.
plan or code work for the milestone.
- **`docs/plans/<iteration>.md`** (since 2026-05-09): per-iteration
bite-sized executable plan produced by `skills/plan`, consumed
bite-sized executable plan produced by `skills/planner`, consumed
by `skills/implement`.
- **`docs/WhatsNew.md`** (since 2026-05-11): the user-facing
+1 -1
View File
@@ -40,7 +40,7 @@ evolving in lockstep with the language:
- **Examples** (`examples/`): canonical `.ail.json` programs. They are
specification anchors, not demos — the E2E suite hangs off them.
- **Skills** (`skills/`): specialised disciplines
(`brainstorm`, `plan`, `implement`, `audit`, `debug`,
(`brainstorm`, `planner`, `implement`, `audit`, `debug`,
`fieldtest`) plus the agent rosters they dispatch
(`skills/<name>/agents/`). They form the project's own
development methodology and are versioned with the codebase.
@@ -531,7 +531,7 @@ single commit (or one commit per category, atomically).
- **Worker model downgrade** (cheap models for simple subagents).
User has explicitly excluded this; all roles stay at Opus 4.7.
- **Stats aggregation tool** — written once empirical data exists.
- **Plan-drafter sub-agent** for the `/plan` skill. Separate hebel,
- **Plan-drafter sub-agent** for the `/planner` skill. Separate hebel,
separate spec.
- **`/brainstorm` spec-drafter** — usage statistic shows
`/brainstorm` at 2%, not cost-effective.
+2 -2
View File
@@ -15,7 +15,7 @@ The system was bootstrapped on 2026-05-09. See
| Skill | Trigger | Output | Mandatory? |
|-------|---------|--------|------------|
| [`brainstorm`](brainstorm/SKILL.md) | New milestone starting | `docs/specs/<milestone>.md` | Hard-gate before plan |
| [`plan`](plan/SKILL.md) | New iteration within an open milestone | `docs/plans/<iteration>.md` | Hard-gate before implement |
| [`planner`](planner/SKILL.md) | New iteration within an open milestone | `docs/plans/<iteration>.md` | Hard-gate before implement |
| [`implement`](implement/SKILL.md) | Plan exists | Code + tests + per-task commits + JOURNAL entry | Standard iteration path |
| [`audit`](audit/SKILL.md) | Milestone closing OR baseline drift suspected | Drift report + bench-regression report + rustdoc audit | **Mandatory** at milestone close |
| [`fieldtest`](fieldtest/SKILL.md) | After audit closes a milestone that touched user-visible surface | 2-4 `.ailx` example fixtures + `docs/specs/<date>-fieldtest-<milestone>.md` | Standard milestone-close path; skipped only for purely internal milestones |
@@ -115,7 +115,7 @@ Two symlink sets, both tracked in git, no setup needed after clone:
```
.claude/skills/brainstorm -> skills/brainstorm
.claude/skills/plan -> skills/plan
.claude/skills/planner -> skills/planner
.claude/skills/implement -> skills/implement
.claude/skills/audit -> skills/audit
.claude/skills/fieldtest -> skills/fieldtest
+2 -2
View File
@@ -87,7 +87,7 @@ into one report to the orchestrator (me). Each item is one of:
### Step 5 — Resolve
The orchestrator picks per item:
- **fix path:** dispatch `plan` + `implement` for a tidy iteration.
- **fix path:** dispatch `planner` + `implement` for a tidy iteration.
Commit pattern: `iter <X>.tidy: <fix>`.
- **ratify path:** `--update-baseline` + JOURNAL entry. The entry
names the iter that moved the metric and the language reason
@@ -138,7 +138,7 @@ self-resolve.
- `skills/audit/agents/ailang-bencher.md` — bench-regression
diagnostics if a metric needs localising
- `skills/audit/agents/ailang-docwriter.md` — rustdoc cleanup
- **Hand-off target:** orchestrator (me), or `plan` + `implement`
- **Hand-off target:** orchestrator (me), or `planner` + `implement`
for a tidy iteration.
- **Project source:** former CLAUDE.md sections "Iter cycle / Tidy-iter
at family boundaries" and "Performance regressions" are superseded
+5 -5
View File
@@ -165,9 +165,9 @@ Tell the user:
Wait for the user's response. If they request changes, make them
and re-run Step 7. Only proceed to the next step after approval.
### Step 9 — Hand off to `plan`
### Step 9 — Hand off to `planner`
The terminal state of `brainstorm` is invoking `plan`. NO other
The terminal state of `brainstorm` is invoking `planner`. NO other
skill is invoked from `brainstorm`. NO direct jump to `implement`.
Hand off carries:
@@ -180,7 +180,7 @@ Hand off carries:
| Direction | Carrier |
|-----------|---------|
| user → `brainstorm` | new milestone request |
| `brainstorm``plan` | path to spec + iteration scope |
| `brainstorm``planner` | path to spec + iteration scope |
## Common Rationalisations
@@ -200,7 +200,7 @@ Hand off carries:
- "User said it's clear, who am I to push back"
- "The 2-3 approaches all suck, just pick one"
- Skipping Step 7 self-review because "I wrote it carefully"
- Jumping straight from spec to `implement` (must go via `plan`)
- Jumping straight from spec to `implement` (must go via `planner`)
- Inventing a design rationale that's actually about effort, not
semantics
@@ -208,6 +208,6 @@ Hand off carries:
- **Project source:** `docs/DESIGN.md` "Feature-acceptance
criterion" — gate this skill applies during spec writing.
- **Output target:** `skills/plan/SKILL.md` — only valid next
- **Output target:** `skills/planner/SKILL.md` — only valid next
skill.
- **No private agents.** This skill is dialogue-driven.
+3 -3
View File
@@ -19,7 +19,7 @@ that real code immediately exercises, the milestone has shipped a
latent debt — even when audit reports `clean`.
The skill produces a friction-and-bug spec that the next iteration's
`plan` consumes as a reference. The spec sits next to milestone-design
`planner` consumes as a reference. The spec sits next to milestone-design
specs at `docs/specs/<date>-fieldtest-<milestone>.md`.
The substantive process — read DESIGN.md + JOURNAL + milestone spec,
@@ -102,7 +102,7 @@ variation); five is too many for one report to stay readable.
The orchestrator drives downstream:
- `bug``debug` (RED-first; GREEN via `implement` mini-mode)
- `friction` → next `brainstorm` or a tidy iteration via `plan`
- `friction` → next `brainstorm` or a tidy iteration via `planner`
- `spec_gap` → ratify in JOURNAL + DESIGN.md, or tighten DESIGN.md
- `working` → carry-on (worth recording, no follow-up)
@@ -118,7 +118,7 @@ The orchestrator drives downstream:
comes after a clean (or ratified) audit.
- **Downstream targets:**
- `skills/debug/SKILL.md` — for each `bug` finding
- `skills/brainstorm/SKILL.md` or `skills/plan/SKILL.md` — for
- `skills/brainstorm/SKILL.md` or `skills/planner/SKILL.md` — for
`friction` and `spec_gap` findings worth a follow-up iteration
- **Project source:** `docs/DESIGN.md` "Feature-acceptance criterion"
— the field test is the empirical complement to brainstorm's
@@ -203,7 +203,7 @@ Per finding, one entry:
- Recommended downstream action
## Recommendation summary
A short table mapping finding → action (`debug` / `plan` / `ratify` /
A short table mapping finding → action (`debug` / `planner` / `ratify` /
`carry-on`).
```
+3 -3
View File
@@ -90,7 +90,7 @@ reviewer; loop until `compliant`.
If `unclear`: the task text is ambiguous. Resolve at the orchestrator
level — either by re-stating the task to the implementer with the
ambiguity removed, or by bouncing back to `plan` if the spec itself
ambiguity removed, or by bouncing back to `planner` if the spec itself
is the source of the ambiguity.
#### 2.4 — Code quality review
@@ -152,7 +152,7 @@ summary:
| Source | Carrier |
|--------|---------|
| from `plan` | path to `docs/plans/<iteration>.md` + optional task focus |
| from `planner` | path to `docs/plans/<iteration>.md` + optional task focus |
| from `debug` | RED-test path + cause summary + minimal-fix constraint |
`implement` produces: per-task commits + JOURNAL entry. No further
@@ -202,7 +202,7 @@ Reviewer subagents typically need at least the standard model.
is the diff well-built?
- `skills/implement/agents/ailang-tester.md` — Step 3, E2E coverage
- **Input sources:**
- `skills/plan/SKILL.md` — produces the plan files this skill
- `skills/planner/SKILL.md` — produces the plan files this skill
consumes
- `skills/debug/SKILL.md` — produces the RED-test handoff for
mini-mode
@@ -1,5 +1,5 @@
---
name: plan
name: planner
description: Use when a milestone spec exists in docs/specs/ and a new iteration is starting. Produces a placeholder-free, bite-sized implementation plan in docs/plans/ that the implement skill can execute task-by-task. Hard-gate before any implementation work.
---
@@ -178,9 +178,9 @@ task focus ("only Tasks 1-3 this run").
| Direction | Carrier |
|-----------|---------|
| `brainstorm``plan` | path to `docs/specs/<milestone>.md` + iteration scope ("this iteration covers spec section X+Y") |
| `plan``implement` | path to `docs/plans/<iteration>.md` + optional task-range focus |
| `plan``brainstorm` (bounce) | spec contains placeholders or contradictions: name the offending section, request revision |
| `brainstorm``planner` | path to `docs/specs/<milestone>.md` + iteration scope ("this iteration covers spec section X+Y") |
| `planner``implement` | path to `docs/plans/<iteration>.md` + optional task-range focus |
| `planner``brainstorm` (bounce) | spec contains placeholders or contradictions: name the offending section, request revision |
## Common Rationalisations