Fable Foreman — скилл
Скилл ставит ведущую модель Claude прорабом: план, раздача задач рабочим агентам и личная приемка результата.
- 151 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Рабочие агенты пишут код и запускают команды в проекте, а скилл принимает их результат.
- Вызовы Codex и Grok платные и идут через ваши аккаунты, лимиты проверьте до первой задачи.
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/fable-foremanОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Рабочие агенты пишут код и запускают команды в проекте, а скилл принимает их результат.
- Вызовы Codex и Grok платные и идут через ваши аккаунты, лимиты проверьте до первой задачи.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Fable Foreman учит ведущую модель Claude, Fable или Opus, руководить работой и не печатать код самой. Ведущая модель составляет план, раздает задачи рабочим агентам Claude, Codex или Grok и лично проверяет итог. Перед началом скилл запускает скрипт `routing-card.py`: он смотрит, какие провайдеры установлены и отвечают, и строит таблицу маршрутов для этой машины. Рабочие получают задачи тикетами, независимую проверку делает отдельный агент-верификатор, а выбор исполнителей и результаты записываются в журнал. Необязательный слой Jev от TypeSafe сортирует дубли в замечаниях рецензентов, для него нужен собственный ключ.
Для кого. Разработчикам на Claude Code, которые ведут многофайловые задачи и хотят отдать часть работы более дешевым моделям под контролем ведущей.
Подходит, если
- Задача затрагивает много файлов, и печатать код премиальной моделью дорого.
- Работу делят между Claude, Codex и Grok, исполнителей выбирают по доступам на машине.
- Код рабочего агента сверяет независимый верификатор, а не сам автор.
- Лимиты дорогих моделей кончаются раньше, чем задача.
Не подходит, если
- Правка в один файл: делегирование добавит только шагов.
- Клиент без инструмента Agent, например Claude Desktop: там работа идет проходами в одном диалоге.
- Платные вызовы Codex и Grok нельзя тратить без отдельного решения по бюджету.
Пример запроса к агенту
Возьми роль прораба: разбей рефакторинг модуля оплаты на задачи, раздай рабочим, проверь тесты и скажи, что принято.Ограничения
Полная оркестровка работает только в Claude Code. В Claude Desktop и на claude.ai нет инструмента Agent, и скилл сводится к отдельным проходам планирования, исполнения и самопроверки в одном диалоге. Нужны обе части: папка скилла и пять файлов агентов в `~/.claude/agents/`, иначе делегирование и независимая проверка не заработают. Codex и Grok подключаются при установленных клиентах и входе в аккаунты, каждый платный вызов требует разрешения. Слой Jev нужен ключ OpenRouter или TypeSafe и ручное создание файла `~/.foreman/jev-enabled`. Автор не обещает экономию: она зависит от задач, моделей и числа доработок.
Как отключить. Удалите папку `~/.claude/skills/fable-foreman` и файлы `foreman-*.md` из `~/.claude/agents/`. Файл `~/.foreman/jev-enabled` удалите отдельно.
Частые вопросы
Нужны ли Codex и Grok?
Нет. Рабочие агенты Claude справляются сами. Codex и Grok добавляют исполнителей, если установлены и авторизованы.
Работает ли скилл с Opus?
Да. Ведущей может быть Fable или Opus, роль одна: планировать, раздавать задачи и принимать результат.
Какие модели скилл не выбирает сам?
Самые дорогие, Codex Astra и Claude Fable. Их берут, только если пользователь попросил и дважды подтвердил цену за сессию.
Как проверить доступ к Codex или Grok?
Бесплатная проба смотрит, что клиент установлен и вошел в аккаунт, затем идет один пробный вызов. Вердикт вроде `LIVE`, `SIGNED_OUT` или `BALANCE_EXHAUSTED` выдает `scripts/access-check.sh`.
Что делает слой Jev?
Сортирует то, что читает ведущая модель: сливает дубли замечаний и помечает выводы, цитаты которых не подтверждают сказанное. Принимать работу и решать вопросы безопасности он не может.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл дисциплины выполнения для Claude: план по стадиям, делегирование агентам, проверки, способные провалиться, и перепроверка перед сдачей
Скилл campaign-conductor превращает Claude в дирижера: он раздает задачи рабочим Codex в git-ветках и проверяет каждую до слияния.
Плагин Claude Code с четырьмя скиллами рабочего метода: классифицировать задачу, действовать по шагам, проверять результат и создавать доменные адаптеры
Один агент запускает других в фоне: Claude Code, Codex, Copilot CLI, Grok Build и Pi, с выбором модели под каждый этап.
Скилл делает Claude менеджером: он пишет тикеты, отдает код дешевым агентам, сам проверяет и зовет рецензента другого вендора.
Скилл превращает основную сессию Claude Code в диспетчера: задачи уходят фоновым субагентам, а диалог не блокируется.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| Fable Foreman (эта карточка) | нет | 151 | |
| Foreman | нет | 439 | ведет одну фичу от плана и PRD до TDD-сборки в терминальном интерфейсе, а Fable Foreman маршрутизирует задачи между моделями разных провайдеров |
| Claw Orchestrator | нет | 606 | дает общий рантайм для разных агентов, а Fable Foreman остается скиллом внутри сессии Claude Code с личной приемкой ведущей модели |
Коротко о README
Репозиторий поставляется как скилл и пять файлов агентов: разведчик, рабочий, верификатор и две обертки для Codex и Grok. В README описаны установка, проверка доступов, слой Jev и история версий. Тесты поведения лежат рядом со скиллом, результаты в репозитории относятся к единичным прогонам.
Бейдж для README
Исходный SKILL.md
---
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 `sol`, `luna`, `astra`; Grok base `grok-<version>`; Claude aliases `opus`, `sonnet`, `haiku`, `fable`), and the card resolves each to the highest version this account can see, comparing versions as numbers (6.1 > 6 > 5.6; 4.10 > 4.9) and using the provider's own catalog wording ("Latest…", "Previous generation…", "Older…") as a cross-check. Example: with `gpt-6.1-sol` visible, the Sol line is `gpt-6.1-sol` and `gpt-6-sol` is superseded — never a seat, even though older notes or tables name it. Claude aliases already track the newest release; Jev's alias does too (jev.md). A **newer release in a known line** is used automatically: ping it once (`access-check.sh <provider> --consented --model <id>`) before its first real dispatch, and if the ping fails, use the next-newest id in that line and ledger why. Check by hand with `python3 SKILL_DIR/scripts/model_lines.py resolve <codex|grok> <line>`. Suffixed ids (`grok-4.7-build-fast`) are priced variants, never defaults.
- **Recon** when the card says `NEW MODEL LINES` (an id that fits no known line) or `STALE`: one bounded pass (routing.md, "Recon"), verdicts saved with `routing-card.py recon-record`, card rebuilt. Never route to an unevaluated line on a guess. No web access → keep the card's seats and say so.
4. **Premium seats — the Codex Astra line (any version) and Claude Fable — are never assigned automatically.** They are not defaults, fallbacks, escalations, close-call options, or "second opinions", and you never offer them. Never dispatch either as a subagent, worker, reviewer, verifier, scout or fallback unless, in this session, the user said yes to using it *and* yes again to a confirmation that names the model and its cost. Record it with `routing-card.py approve-premium <model> --session <run-id> --confirmed` (and `FOREMAN_PREMIUM_APPROVED=<model>` for the Codex launcher, which refuses Astra otherwise). Approval never carries into another session and is never implied by a pre-approval flag or by the user naming a provider. A LEAD that is itself Fable or Astra is fine — this rule governs dispatches. A failed attempt on another seat is a reason to *ask*, never to dispatch a premium seat. A newer Astra release is premium too. **Under a premium lead, an unpinned helper is a premium dispatch:** every Agent call names a non-premium `model` (`opus`, `sonnet`, `haiku`) or uses an agent file that pins one — never `inherit`, never a bare general-purpose agent — and every Codex call names a non-premium id.