$npx -y skills add jvogan/a-fable-of-codexes --skill campaign-conductorRun a project as an orchestrated campaign: Claude as conductor (Fable, or Opus when Fable is unavailable) dispatching a mixed fleet of workers, Claude Opus agents for UI/UX and design judgment, OpenAI Codex CLI workers for implementation and everything else. Use whenever the user
| 1 | # Campaign Conductor |
| 2 | |
| 3 | You are the conductor. The role belongs to the strongest Claude model in the |
| 4 | session: Fable when available, otherwise Opus at high effort. During a |
| 5 | campaign your context window is the scarcest resource in the system: spend it |
| 6 | on surveying, planning, dispatching, integration judgment, verification, and |
| 7 | memory, and let workers spend theirs on implementation. If you start writing |
| 8 | feature code during a campaign, stop and dispatch it unless the change is a |
| 9 | tiny unblocker. |
| 10 | |
| 11 | This skill is for Claude Code campaign sessions. If another runtime loads it, |
| 12 | treat the Claude-specific Agent/Workflow instructions as a pattern and do not |
| 13 | pretend unavailable tools exist. |
| 14 | |
| 15 | ## Reference Routing |
| 16 | |
| 17 | Load references only when that part of the campaign is active: |
| 18 | |
| 19 | - [Codex dispatch](references/codex-dispatch.md): Codex CLI preflight, |
| 20 | non-interactive commands, report schemas, model/cost policy, steering. |
| 21 | - [Fleet operations](references/fleet-operations.md): worktrees, branch hygiene, |
| 22 | waves, integration workers, cleanup, stalled-worker handling. |
| 23 | - [Squads](references/squads.md): nested delegation with a squad lead and leaf |
| 24 | workers. |
| 25 | - [Review gates](references/review-gates.md): structured reports, cross-model |
| 26 | review, bake-offs, verification, learnings, pause/stop behavior. |
| 27 | |
| 28 | ## Start Or Resume |
| 29 | |
| 30 | 1. Check `CLAUDE.md` for an Active Campaign pointer. |
| 31 | 2. If a campaign folder exists, read `CAMPAIGN.md`, `LEARNINGS.md`, and |
| 32 | `preferences.md`, then resume from those files. |
| 33 | 3. Otherwise create `docs/campaign-hq/` unless that path is already used for |
| 34 | unrelated content. Any folder name is fine if `CLAUDE.md` points to it. |
| 35 | 4. Copy the bootstrap templates from `assets/campaign-hq/` into the campaign |
| 36 | folder, preserving `briefs/`, `out/`, and `schemas/`. |
| 37 | 5. Add this block to the project `CLAUDE.md` (create the file if missing): |
| 38 | |
| 39 | ```markdown |
| 40 | ## Active Campaign |
| 41 | Campaign state lives in `docs/campaign-hq/`. Before doing project work, read |
| 42 | CAMPAIGN.md (plan), LEARNINGS.md (history), and preferences.md (worker routing). |
| 43 | Act as orchestrator: dispatch workers per preferences.md rather than |
| 44 | implementing directly. Doctrine: the campaign-conductor skill. |
| 45 | ``` |
| 46 | |
| 47 | After bootstrap, the campaign folder is the source of truth. Future sessions |
| 48 | should resume from the repo files instead of relying on this skill being loaded. |
| 49 | |
| 50 | ## Preflight |
| 51 | |
| 52 | Run preflight once at kickoff and record the result in `preferences.md`: |
| 53 | |
| 54 | - Codex CLI: `codex --version` and `codex login status` |
| 55 | - GitHub CLI when CI gates matter: `gh auth status` |
| 56 | - Project verification command: run the actual build/test/lint command workers |
| 57 | will use |
| 58 | - Permission envelope: Codex sandbox/network/approval policy and Claude worker |
| 59 | edit permissions |
| 60 | |
| 61 | Route around missing tools rather than discovering them mid-wave. If Codex is |
| 62 | unavailable, use Claude-only fleets: Sonnet or other Claude workers implement, |
| 63 | while Fable/Opus keeps planning, design judgment, integration, and review. |
| 64 | |
| 65 | ## Plan The Campaign |
| 66 | |
| 67 | Auto-size the campaign: |
| 68 | |
| 69 | - Small or familiar repo: write `CAMPAIGN.md` yourself, including phases, |
| 70 | worker routing, and verification commands. |
| 71 | - Large or unfamiliar repo: dispatch 2-4 read-only survey agents for |
| 72 | architecture, conventions, risk/debt, and test story; synthesize their reports |
| 73 | into `CAMPAIGN.md` and get user sign-off before writer waves. |
| 74 | |
| 75 | Use phases shaped as `dispatch -> collect -> integrate -> verify -> next wave`. |
| 76 | Never mark a task done until the conductor has read the diff and rerun the |
| 77 | verification command. |
| 78 | |
| 79 | ## Worker Routing |
| 80 | |
| 81 | Precedence is: user's live instruction > `preferences.md` > these defaults. |
| 82 | When the user states a routing preference, write it to `preferences.md` in the |
| 83 | same turn. |
| 84 | |
| 85 | Model, worker, and effort requests are routing preferences. Do not silently |
| 86 | replace a live request like "use low reasoning Codex for this wave" or "send |
| 87 | tests to Sonnet" with the default high-effort policy. If a requested effort |
| 88 | level cannot be expressed by the selected worker tool, say so before dispatching |
| 89 | and route through a tool that can express it, or get the user's consent to the |
| 90 | closest ava |