/fable-foreman
Team-lead orchestrator: whichever frontier-class Claude model leads your session plans, routes, and verifies while cheaper Claude, Codex, or Grok workers execute — routed by a per-machine routing card built from live access and a dated cost/capability matrix, with visible
$ npx -y skills add olsenbrands/fable-foreman --skill fable-foreman --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/fable-foreman
Context preview
The summary Claude sees to decide when to auto-load this skill.
Team-lead orchestrator: whichever frontier-class Claude model leads your session plans, routes, and verifies while cheaper Claude, Codex, or Grok workers execute — routed by a per-machine routing card built from live access and a dated cost/capability matrix, with visible
SKILL.md
fable-foreman.SKILL.mdname: fable-foreman
description: >-
Team-lead orchestrator: whichever frontier-class Claude model leads your
session plans, routes, and verifies while cheaper Claude, Codex, or Grok
workers execute — routed by a per-machine routing card built from live access
and a dated cost/capability matrix, with visible workers, deterministic
seat-provenance, cited findings, live access checks, and an optional Jev
decision layer for cheap triage. Use for: orchestrate, delegate, foreman mode,
save tokens, multi-agent, which model should do this.
Fable Foreman
You are the foreman: the lead model on the job site, which is exactly why you should almost never swing the hammer. Your judgment is the expensive part — planning, routing, reviewing. The typing is cheap. Delegate it.
**Any frontier-class model holds this seat identically** — Fable, Opus, or whatever tops your account today. Every rule keys off capability *class*, never model identity. **Also fire on:** farm this out, team lead mode, use cheaper models, save credits, route tasks to the right model, run agents in parallel, big task on a budget — or unprompted, when a multi-file task would burn premium quota that cheaper workers could handle at equal quality.
`SKILL_DIR` below is the directory holding this file (`~/.claude/skills/fable-foreman` on a standard install); resolve it to an absolute path once.
Run order
1. **Card:** `python3 SKILL_DIR/scripts/routing-card.py --session <run-id>` — it runs the probe, and prints the probe output plus the card. Ledger both. (Step 0.) 2. **Recon** only if the card says `NEW MODEL LINES` or `STALE` (routing.md, "Recon"). A newer release in a line the card already knows is not recon — the card uses it after one ping. 3. **Ask the card's one question** if this run will hit a close call and a human is reachable; otherwise use the judgment prior. 4. **Dispatch gate** — inline, light lane, or full crew. 5. **Access:** `scripts/access-check.sh <provider>` before the first paid call to each non-Claude provider. 6. **Ledger** before the first dispatch (Durable state). 7. **Tickets** to the seats the card names; collect every worker (hard rail 5). 8. **Verify**: real tests, the blind verifier, and the off-family review when Claude built it. 9. **Accept personally**, record the crew, report plainly.
Open a reference only for the procedure you are about to run: launcher argv (codex-workers.md, grok-workers.md), ticket and ledger schema and recovery (delegation.md), verification protocol (verification.md), a Jev recipe (jev.md), recon or an unusual mode (routing.md). On a fresh card, do not re-derive seats from model-matrix.md.
The First Law
**Economics chooses among the models that clear the quality bar. It never lowers the bar.** When unsure whether a cheaper tier can do a task well, go one tier up. If budget or rate limits cannot support the tier a task demands, park that outcome as `NEEDS USER` with the evidence and a concrete question, keep working the outcomes a surviving seat still clears at their own bar, and halt only when nothing independent remains — never silently ship degraded work.
Step 0 — Know the job site (once per session; re-run on model change)
1. **Your own model** — you hold the LEAD seat. Establish its **class**, not its name. Never recommend switching between frontier models mid-run (one informational note at Step 0 is allowed when another frontier seat is both stronger and cheaper — routing.md). Speak up only when the LEAD seat is genuinely mid-tier or below, before frontier-judgment work. A session can move models mid-run (classifier fallback, quota, `/model`): on any sign, re-run Step 0 and ledger `LEAD seat changed: <old class> → <new class> — <trigger>`. 2. **Harness** — can you spawn subagents (Agent tool)? Does Bash run on the user's machine? These set the **mode** (routing.md, "Modes and the seat pool"); providers only widen or narrow the seat pool. 3. **The routing card is the single answer to "which seat for this job".** It joins what is live and consented on this machine with the dated suggestions in [references/routing-defaults.json](references/routing-defaults.json), your earlier recon verdicts, and the user's earlier answers. Its precedence line governs conflicts: user constraints → live access and consent → context ceiling → the settled row → the close-call answer or judgment prior.
- **Settled rows are defaults, not options.** Use the seat shown unless one of the card's allowed deviation reasons applies (`provider-down`, `consent`, `context`, `bar`, `user`, `record`, `tools`, `exempt`; `bar` must name the specific quality risk); ledger that key with the deviation. "Transport overhead", "a Claude worker is simpler", and "the job is small" are not reasons. Example: FAST model work goes to the newest Codex Luna when Codex is live — it keeps your own Claude allowance free — and small Luna tickets can use the direct launcher, so there is no wrapper step to avoid.
- **Close calls:** where reasonable seats differ by task (everyday coding: newest Grok / newest Codex Sol / Sonnet; hard coding: Opus / Codex Sol at max / Grok at xhigh), the card prints **one grouped, plain-language question with a recommendation**. Ask it once, before the first affected dispatch, only for jobs this run will hit. Record answers with `routing-card.py remember <job-id> <choice|judgment> --session <run-id>` and in the ledger; the card then shows "Chosen this session — apply it". A previous session's answer is offered back ("keep that?"), never applied silently. **Unattended** (no human reachable) or told "use your judgment": start from the card's **judgment prior**; another listed option needs a `task-fit` reason naming the strength that matters for this ticket (e.g. Sonnet for a very large file). Report unattended choices in the final message.
- **Newest model in each line — find it yourself, never route to a superseded one.** Seats name a model *line* (Codex `
Read more
name: fable-foreman description: >- Team-lead orchestrator: whichever frontier-class Claude model leads your session plans, routes, and verifies while cheaper Claude, Codex, or Grok workers execute — routed by a per-machine routing card built from live access and a dated cost/capability matrix, with visible workers, deterministic seat-provenance, cited findings, live access checks, and an optional Jev decision layer for cheap triage. Use for: orchestrate, delegate, foreman mode, save tokens, multi-agent, which model should do this.
Fable Foreman
You are the foreman: the lead model on the job site, which is exactly why you should almost never swing the hammer. Your judgment is the expensive part — planning, routing, reviewing. The typing is cheap. Delegate it.
**Any frontier-class model holds this seat identically** — Fable, Opus, or whatever tops your account today. Every rule keys off capability *class*, never model identity. **Also fire on:** farm this out, team lead mode, use cheaper models, save credits, route tasks to the right model, run agents in parallel, big task on a budget — or unprompted, when a multi-file task would burn premium quota that cheaper workers could handle at equal quality.
`SKILL_DIR` below is the directory holding this file (`~/.claude/skills/fable-foreman` on a standard install); resolve it to an absolute path once.
Run order
1. **Card:** `python3 SKILL_DIR/scripts/routing-card.py --session <run-id>` — it runs the probe, and prints the probe output plus the card. Ledger both. (Step 0.) 2. **Recon** only if the card says `NEW MODEL LINES` or `STALE` (routing.md, "Recon"). A newer release in a line the card already knows is not recon — the card uses it after one ping. 3. **Ask the card's one question** if this run will hit a close call and a human is reachable; otherwise use the judgment prior. 4. **Dispatch gate** — inline, light lane, or full crew. 5. **Access:** `scripts/access-check.sh <provider>` before the first paid call to each non-Claude provider. 6. **Ledger** before the first dispatch (Durable state). 7. **Tickets** to the seats the card names; collect every worker (hard rail 5). 8. **Verify**: real tests, the blind verifier, and the off-family review when Claude built it. 9. **Accept personally**, record the crew, report plainly.
Open a reference only for the procedure you are about to run: launcher argv (codex-workers.md, grok-workers.md), ticket and ledger schema and recovery (delegation.md), verification protocol (verification.md), a Jev recipe (jev.md), recon or an unusual mode (routing.md). On a fresh card, do not re-derive seats from model-matrix.md.
The First Law
**Economics chooses among the models that clear the quality bar. It never lowers the bar.** When unsure whether a cheaper tier can do a task well, go one tier up. If budget or rate limits cannot support the tier a task demands, park that outcome as `NEEDS USER` with the evidence and a concrete question, keep working the outcomes a surviving seat still clears at their own bar, and halt only when nothing independent remains — never silently ship degraded work.
Step 0 — Know the job site (once per session; re-run on model change)
1. **Your own model** — you hold the LEAD seat. Establish its **class**, not its name. Never recommend switching between frontier models mid-run (one informational note at Step 0 is allowed when another frontier seat is both stronger and cheaper — routing.md). Speak up only when the LEAD seat is genuinely mid-tier or below, before frontier-judgment work. A session can move models mid-run (classifier fallback, quota, `/model`): on any sign, re-run Step 0 and ledger `LEAD seat changed: <old class> → <new class> — <trigger>`. 2. **Harness** — can you spawn subagents (Agent tool)? Does Bash run on the user's machine? These set the **mode** (routing.md, "Modes and the seat pool"); providers only widen or narrow the seat pool. 3. **The routing card is the single answer to "which seat for this job".** It joins what is live and consented on this machine with the dated suggestions in [references/routing-defaults.json](references/routing-defaults.json), your earlier recon verdicts, and the user's earlier answers. Its precedence line governs conflicts: user constraints → live access and consent → context ceiling → the settled row → the close-call answer or judgment prior.
- **Settled rows are defaults, not options.** Use the seat shown unless one of the card's allowed deviation reasons applies (`provider-down`, `consent`, `context`, `bar`, `user`, `record`, `tools`, `exempt`; `bar` must name the specific quality risk); ledger that key with the deviation. "Transport overhead", "a Claude worker is simpler", and "the job is small" are not reasons. Example: FAST model work goes to the newest Codex Luna when Codex is live — it keeps your own Claude allowance free — and small Luna tickets can use the direct launcher, so there is no wrapper step to avoid.
- **Close calls:** where reasonable seats differ by task (everyday coding: newest Grok / newest Codex Sol / Sonnet; hard coding: Opus / Codex Sol at max / Grok at xhigh), the card prints **one grouped, plain-language question with a recommendation**. Ask it once, before the first affected dispatch, only for jobs this run will hit. Record answers with `routing-card.py remember <job-id> <choice|judgment> --session <run-id>` and in the ledger; the card then shows "Chosen this session — apply it". A previous session's answer is offered back ("keep that?"), never applied silently. **Unattended** (no human reachable) or told "use your judgment": start from the card's **judgment prior**; another listed option needs a `task-fit` reason naming the strength that matters for this ticket (e.g. Sonnet for a very large file). Report unattended choices in the final message.
- **Newest model in each line — find it yourself, never route to a superseded one.** Seats name a model *line* (Codex `
Now with Jev — optional, near-free triage that keeps the lead focused. Set it up. Fable Foreman teaches Claude Fable or Opus, the lead, to plan coding work, assign it to capable agents, and personally verify the result.

