Skip to content
Development
Skill

/baton-setup

One-time setup and health check for fable-baton. Use when the user asks to set up, configure, verify, or troubleshoot fable-baton - sets the default model to "best" (Fable 5 with Opus fallback) in ~/.claude/settings.json and verifies the plugin is fully installed.

From plugin
fable-baton
261 skill4 agents3 hooks
Install
$ npx -y skills add realgarit/fable-baton --skill baton-setup --agent claude-code

How 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/baton-setup

Context preview

The summary Claude sees to decide when to auto-load this skill.

One-time setup and health check for fable-baton. Use when the user asks to set up, configure, verify, or troubleshoot fable-baton - sets the default model to "best" (Fable 5 with Opus fallback) in ~/.claude/settings.json and verifies the plugin is fully installed.

SKILL.md

baton-setup.SKILL.md
name: baton-setup
description: One-time setup and health check for fable-baton. Use when the user asks to set up, configure, verify, or troubleshoot fable-baton - sets the default model to "best" (Fable 5 with Opus fallback) in ~/.claude/settings.json and verifies the plugin is fully installed.

baton-setup

One-time setup for fable-baton. Run each step in order. Never rewrite `~/.claude/settings.json` wholesale - edit only the named keys and preserve everything else.

Step 1 - Read current state

1. Read `~/.claude/settings.json` (if missing, you will create a minimal one). 2. Check `echo "$CLAUDE_CODE_SUBAGENT_MODEL"`. If set, warn the user: this variable silently overrides every agent's `model` frontmatter and defeats the tiering. Recommend unsetting it, but do not unset it yourself without approval.

Step 2 - Propose changes and get approval

Show the user exactly what you will change before writing anything:

| Key | Rule | |---|---| | `model` | If absent → set `"best"`. If present with a different value → ask: keep theirs, or switch to `"best"`? (`best` resolves to Fable 5 when the account has access, otherwise the latest Opus.) If already `"best"` → no change. | | `fallbackModel` | If absent → add `["opus", "sonnet"]` (covers overload/unavailability). If present → leave it. | | `availableModels` | Only if the key already exists (it is an allowlist): ensure it contains `"opus"`, `"sonnet"`, `"haiku"`, and the chosen main-model value. If absent → do not add it. |

Back up the file first: copy it to `~/.claude/settings.json.baton-backup-<YYYYMMDD-HHMMSS>` (skip if the file didn't exist).

Step 3 - Apply and validate

Apply the approved edits, then validate: `jq empty ~/.claude/settings.json` must exit 0 (or parse the JSON yourself if `jq` is unavailable).

If Claude Code rejects the `best` alias at startup (older versions), fall back to `"opus"` and suggest updating Claude Code.

Step 4 - Verify the install

1. Confirm the four agents are available: scout, executor, architect, verifier (ask "which subagent types are available?" or check the Agent tool's list). 2. Confirm the orchestration policy is present in context (it is injected at session start; in a session started before install it won't be - that's expected). 3. Tell the user to restart their Claude Code session: agents and the model setting load at session start.

Step 5 - Report

Summarize: what changed, what was skipped, where the backup is, and that a restart is needed.

Uninstall (on request)

1. `/plugin uninstall fable-baton` removes the agents, hook, and this skill. 2. In `~/.claude/settings.json`: restore `model` from the oldest `settings.json.baton-backup-*` file, or remove the key if the backup has none. Remove `fallbackModel` if the user doesn't want it.

Read more
Ships withfable-baton

Fable 5 holds the baton. The orchestra plays. A Claude Code plugin that makes Fable 5 the orchestrator. Fable keeps the judgment, tiered subagents on Opus, Sonnet and Haiku do the labor. Install once and every new session in every repo starts this way.

Get the whole plugin
Stats
26
Stars
1
Forks
Active
Maintenance
HTML
Language
MIT
License
1d ago
Last commit
2mo ago
Created

Repo: realgarit/fable-baton