Keel Dev — development conductor
User-invoked conductor, not an auto-firing router. You reach for it by name when you're doing dev work; it orchestrates the pipeline and pulls in the right specialist per phase. It carries zero context cost until invoked. It writes no product code itself — the phase skills do that.
Backbone = Pocock (mattpocock/skills). gstack + superpowers = opt-in
power-tools. keel-v2 governs everything.
Deference — keel-v2 is the arbiter
Scan the nine danger surfaces first, record the lane line
(Rigor: FAST/HEAVY — …). keel-v2's /review tripwires, a11y, design
conformance, and human gates outrank every phase and every power-tool. A
power-tool's own ethos (e.g. gstack "boil the ocean") is subordinate to keel-v2.
Comprehension — graphify-first
To understand the code (how X works, what depends on Y, data flow, blast
radius, architecture) query graphify (query/path/explain) instead of
grep+read — it returns a targeted subgraph, not a dozen file reads. Grep only
for an exact known string/symbol, a tiny throwaway scope with no graphify-out/
yet, or an area just edited (graph may be stale). Default graphify; grep is the
deliberate exception.
The pipeline (spine default · power-tools opt-in)
| Phase | Default (Pocock spine) | Opt-in power-tools | Rigor |
|---|---|---|---|
| 0 · Align | grill — one Q at a time, look up facts, recommend answers; HEAVY features also write 00-product.md (problem, success metric, announcement copy, mockup — no technical language) |
gstack /office-hours for product/scope reframes |
HEAVY/ambiguous only; FAST skips |
| 1 · Language | domain-modeling → CONTEXT.md glossary + ADRs |
— | optional, compounding |
| 2 · Spec | to-spec (synthesize conversation → spec) |
gstack /spec (Codex quality gate) |
HEAVY |
| 3 · Decompose | to-tickets → .scratch/<feat>/issues/NN.md, tracer-bullet slices + blocking edges (+ expand/contract for wide refactors) |
— | HEAVY |
| 4 · Build | implement — ticket-by-ticket, tdd at seams |
superpowers autonomous executor (big approved plans) + worktrees / parallel-agents | HEAVY→strict red-green-refactor; FAST→pragmatic. Autonomy stops at commit/deploy gates |
| 5 · Review | code-review — two-axis (Standards+Fowler / Spec), parallel subagents |
gstack /review (prod-bug autofix) + /codex (cross-model) |
always |
| 5b · Security | → keel-secure (VibeSec) | gstack /cso (OWASP+STRIDE) |
mandatory on trust-boundary diffs (keel-v2 tripwire) |
| 6 · Verify/QA | Keel verify (non-UI) |
gstack /qa (real browser, autofix, regression tests); UI → keel-design + /design-shotgun |
HEAVY |
| 7 · Ship | — | gstack /ship → /land-and-deploy → /canary |
HEAVY; stops at human gate, never auto-deploys |
| 8 · Debug | diagnosing-bugs |
superpowers systematic-debugging / gstack /investigate |
as needed |
| 9 · Arch health | improve-codebase-architecture + codebase-design (deep modules) |
— | periodic |
Gates (approval boundaries · keel-v2 decides how hard)
The pipeline is decision-first: settle the expensive calls while context is cheap, before thousands of lines exist. Rigor sets how many boundaries are hard human gates (keel-v2 HEAVY §2.2 approve-before-code / §2.4 stop-for-verification apply at each):
- HEAVY — hard gates after 0·Align → 2·Spec, 2·Spec → 3·Decompose, and 3·Decompose → 4·Build, plus the always-on 7·Ship gate. At each, stop and get the human's explicit approval before advancing.
- FAST — no mid-pipeline gates; only the Ship gate (keel-v2 §1.4: never auto-commit). Don't bureaucratize no-surface work.
Compact at every gate. Before advancing, consolidate the decisions of the
phase you're leaving into its doc (product/spec/CONTEXT.md/tickets) and record
approval in 00-status.md — then the doc is the context; a fresh session
resumes from files, not from the transcript. Calls you're not confident about
go in 00-status.md → Open decisions so a human resolves them, never a
silent guess.
Rules (the locked decisions)
- One spine. Power-tools never auto-fire alongside the spine — reach for them by name. No coin-flip between three methodologies.
- keel-v2 rigor arbitrates completeness. FAST = YAGNI/minimal; HEAVY =
complete (tests, edges, error paths).
lazy-loopis an explicit opt-in. - Execution leash.
implementis default; the superpowers executor is opt-in and runs within an approved plan but stops at keel-v2 gates. - State lives in files —
.scratch/<feat>/issues/NN.mdtracer-bullet tickets +CONTEXT.mdglossary +00-status.mdgate/slice ledger (the single "where are we, what's approved" resume file). Seeconventions/tickets-and-context.md.
Token economy (7 levers)
- this conductor is user-invoked (0 description tax) · 2. progressive disclosure (one phase body at a time) · 3. subagent offload (review / autonomous exec / QA run in fresh contexts, return summaries) · 4. keel-v2 FAST economy ·
- per-project curation (power-tools install only where needed) · 6. lazy-loop/caveman output compression · 7. graphify-first comprehension.
Trade-off honesty (unbiased routing)
When a route trades one axis for another, say so in one line: direction +
rough magnitude (labeled est. unless measured) + the risk. Never hide the
downside. No fake precision — a made-up percentage is the bias we're killing.
E.g. "graphify over reading auth/: est. far fewer tokens, but the graph is ~6
commits stale there, so I grep'd the files you just changed."
If a specialist isn't installed
Say so plainly; fall back to the spine or base Claude Code under keel-v2 — never
pretend a specialist ran. Install: ./install.sh dev (spine + power-tools,
per-project). Power-tools are best installed user-invoked / per-project so
their descriptions don't tax every session (token lever 5).
Sources (unmodified): mattpocock/skills (spine) · obra/superpowers · garrytan/gstack · openai/codex-plugin-cc · heygen-com/hyperframes · antfu/skills · vercel-labs/agent-browser · graphify (local).