fable-orchestrator README

The project's README from github.com/codejunkie99/fable-orchestrator. As one markdown file: README.md.

Fable orchestrator

Fable is a small, local-first routing skill for Codex. Claude Fable 5.1 plans and adjudicates; it does not write code or own the workspace. Codex remains the runtime and delegates bounded implementation work to OpenCode Go agents:

The skill consumes the callable opencode-go/ and opencode-go-responses/ agents supplied by Codex Router. It does not ship a proxy, dashboard, model catalog, credential store, or API key. Configure OpenCode Go once in the router, then restart Codex after changing provider or agent definitions.

Fable orchestrator: planning, implementation, and verification

Repository layout

skill/fable/
├── SKILL.md
├── agents/openai.yaml
└── scripts/ask_fable.sh
assets/fable-orchestrator.svg
install.sh
tests/test_skill.sh

The three files under skill/fable/ are the installable skill. ask_fable.sh is executable and invokes Claude Code's local fable alias with no session persistence. The packet passed to it must contain decisions and workspace facts only; never put credentials in a packet.

Install

From this repository:

./install.sh --dry-run
./install.sh --copy

--dry-run prints the exact destination and copy operations without creating files. --copy installs to ~/.codex/skills/fable, creates only the required directories, and is safe to run again. Use --target DIR to select another skills directory:

./install.sh --copy --target "$PWD/.local/codex/skills"

The installer reads only this repository and the destination path. It never reads, creates, or modifies credentials. Start a new Codex task after changing the provider or agent definitions.

Use

Invoke the skill with an objective:

$fable build the feature

Fable returns a bounded graph. Codex validates the graph, starts ready workers in parallel when useful, collects their evidence, verifies the result, and asks Fable to adjudicate when the task needs another decision. Every implementation node must use GPT-5.6 Luna or DeepSeek V4 Flash. If neither allowed OpenCode Go route is callable, the workflow reports the blocker instead of inventing a model.

Test

Run the repository's dependency-light checks:

tests/test_skill.sh

The test checks shell syntax, the copied source files, required routing strings, basic YAML structure, optional xmllint XML validation, SVG safety constraints, a temporary-home dry run, an idempotent copy, and common credential-shaped strings. It does not require PyYAML or a live Claude login.

License

MIT. See LICENSE.

fable-orchestrator (codejunkie99/fable-orchestrator)

Searching Database…

What is this?Fable is a local-first routing skill for Codex that plans and adjudicates tasks, delegating bounded implementation work to OpenCode Go agents - GPT-5.6 Luna for normal work and DeepSeek V4 Flash for loops and high-throughput iteration.
Is this a standalone app or a skill for an existing tool?It is a Codex skill, not a separate app: three files under skill/fable/ get copied into Codex's skills folder, and Codex stays the runtime while Fable only plans and adjudicates without writing code.
What do I need set up before using Fable?You need Codex with the OpenCode Go agents (GPT-5.6 Luna and DeepSeek V4 Flash) configured in Codex Router, plus Claude Code's local fable alias, which askfable.sh invokes.
What happens if the required models aren't available?If neither GPT-5.6 Luna nor DeepSeek V4 Flash is callable through OpenCode Go, Fable reports a blocker instead of substituting another model, and you must restart Codex after changing provider or agent definitions.
Does Fable ever touch my credentials?No - the skill and its installer never read, create, or modify credentials, and any packet passed to it must contain only decisions and workspace facts.
Why are there two different implementation models instead of one?GPT-5.6 Luna handles normal implementation while DeepSeek V4 Flash is reserved for loops, repeated iteration, and high-throughput work, so Fable can route each task to the model best suited for it.
How do I run the tests?The repository's dependency-light test suite checks shell syntax, the copied source files, required routing strings, basic YAML structure, optional XML/SVG validation, a temporary-home dry run, an idempotent copy, and scans for credential-shaped strings, with no PyYAML or live Claude login needed.
How does Fable decide when a task needs another decision?Codex validates the graph Fable returns, starts ready workers in parallel, collects their evidence, verifies the result, and only calls back into Fable to adjudicate when the task needs another decision.
Size
<0.1 MB
Stars
615
Updated
CommitSep 04
Age
1mo
Commits · 90 Days