docs(skills): drop the Mode 2 routing notes, fix the contributing steps
Seven skills carried a `## Mode 2 Routing Note` citing a routing pod ("Plan 6")
that does not exist. Several admitted in their own text that nothing about the
skill changes between modes — so it was roughly ten lines of context on every
load for zero behavioural effect. The content is not worthless, just not
per-skill: it now lives as one table in README.md, with the caveat that nothing
depends on it.
The related line inside the session_log sections stays, because that one does
motivate behaviour — but it no longer cites a component that has never shipped.
It now says what is true: pass-rate is what a future routing decision would be
based on, and a skill that never logs contributes no evidence either way.
While in README: the contributing steps were stale enough to fail CI for anyone
who followed them. They said to add a row to SKILLS_INDEX.md by hand — the table
is generated now, and `task check` fails on a hand-edited diff — and listed none
of the four frontmatter keys the gates require. Step 4 now names the
pressure-test bar from #19 rather than leaving it to be discovered.
Closes #36
Bump-Type: patch
This commit is contained in:
@@ -130,13 +130,48 @@ before `task skills:install`; default is `main` for always-current.
|
||||
|
||||
## Contributing a skill
|
||||
|
||||
1. Add a directory `<short-kebab-name>/`.
|
||||
2. Create `<short-kebab-name>/SKILL.md` — start with one-paragraph
|
||||
purpose, then triggers ("use when …"), then mechanics.
|
||||
3. Add a row to `SKILLS_INDEX.md` (description + use-when).
|
||||
4. Commit directly to `main`. Conventional-commit prefix
|
||||
1. Add a directory `skills/<short-kebab-name>/`.
|
||||
2. Create `skills/<short-kebab-name>/SKILL.md` with this frontmatter — all four
|
||||
keys are gated by `task check`, and the index table is generated from the
|
||||
last three:
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: <short-kebab-name>
|
||||
surfaces: [claude-code, library] # any of claude-code | library | chat
|
||||
summary: "<one line for the index table>"
|
||||
use_when: "<the trigger, for the index table>"
|
||||
description: <the paragraph the model selects on>
|
||||
---
|
||||
```
|
||||
|
||||
Then: one-paragraph purpose, triggers ("use when …"), mechanics.
|
||||
3. Run `task index` and commit the regenerated `SKILLS_INDEX.md`. Do **not**
|
||||
hand-edit the table — `task check` regenerates it and fails on a diff.
|
||||
4. Pressure-test it before shipping: run the scenario against a subagent that
|
||||
does *not* have the skill, write the skill against what that run actually
|
||||
did, then re-run with it. See `superpowers-writing-skills` and #19.
|
||||
5. Commit directly to `main`. Conventional-commit prefix
|
||||
(`feat:` / `fix:` / `docs:`). Add `Bump-Type: minor` footer when
|
||||
adding a new skill or expanding scope; default patch covers edits.
|
||||
|
||||
This repo is markdown-only and public — never include secrets, client
|
||||
names, or anything under NDA in a skill.
|
||||
|
||||
## Mode 2 routing candidates
|
||||
|
||||
These notes used to sit in each SKILL.md as a `## Mode 2 Routing Note` section.
|
||||
They changed nothing about how the skill is invoked — several said so outright —
|
||||
and cost context on every load, so they live here instead. Nothing in the repo
|
||||
depends on this table; it is a record of which skills looked mechanical enough
|
||||
to route to a local model, should a routing layer ever exist.
|
||||
|
||||
| Skill | Note |
|
||||
|---|---|
|
||||
| `cad-babysit` | Phases 2-4 (reading comments/logs, classifying fault vs outcome) are judgment-heavy and should stay Mode 1. Phase 1 (running `cad stuck` and grouping its output) is mechanical and a Mode 2 routing candidate once Plan 6 ships the routing pod. |
|
||||
| `code-review` | This skill is invoked identically in Mode 1 (cloud Claude) and Mode 2 (client-local with supervisor routing). The routing layer (Plan 6) does not exist yet; treat this skill as Mode 1 only for now. Findings format and severity classification are unchanged across modes. |
|
||||
| `debug` | This skill produces high-volume mechanical output (hypothesis enumeration) and is a candidate for Mode 2 routing to a local model in the future. Until Plan 6 ships the routing pod, treat as Mode 1 only. The hypothesis format and discipline are identical regardless of which model generates them. |
|
||||
| `feature-spec` | Spec writing requires interpretation of intent and tradeoff reasoning — work where Claude generally outperforms a 9-13B local model. This skill is intentionally **not** a Mode 2 routing candidate. In Mode 2, the routing layer should leave `feature-spec` calls on Claude. |
|
||||
| `session-retrospective` | Reading long session logs and pulling themes is high-volume, mechanical pattern-recognition work — a strong Mode 2 routing candidate. Until Plan 6 ships the routing pod, treat as Mode 1 only. |
|
||||
| `tdd` | This skill is invoked identically whether the agent is running in Mode 1 (cloud Claude, no routing) or Mode 2 (client-local, supervisor routing layer). The routing pod (Plan 6) does not exist yet; until it does, treat this skill as Mode 1 only. The discipline does not change between modes — only the model behind the call. |
|
||||
| `trainer` | Trainer is the same shape as `session-retrospective` — long-context reading, mechanical filtering — and is a Mode 2 routing candidate. Until Plan 6, treat as Mode 1 only. |
|
||||
|
||||
Reference in New Issue
Block a user