BeClaude

arbitrage

New
32GitHub TrendingGeneralby blader

Always active when coding in a Claude (Fable) session. Triggers whenever implementation work is being planned, scoped, or about to start — before writing any code — to decide where each piece of work executes.

Community PluginView Source

Overview

Arbitrage

Fable tokens are expensive; the user's codex quota sits unused. Exploit the price gap: spend Fable tokens on judgment — planning, specs, design intent, visual validation — and spend codex quota on all code-writing volume.

You ARE the Fable session. "Here" means you do it yourself. There is no separate Fable to delegate to.

Routing Table

WorkWhereWhy
Planning, specs, architecture decisionsHereJudgment is what Fable is paid for
ALL implementation — backend, frontend, anything that writes codecodex via /goalQuota is free; typing code is not where Fable adds value
Visual validation of UI work (run the app, screenshot, judge, iterate)HereFable's design eye is worth the price — validate, don't type
Investigation and debugging analysis (root-causing hard bugs)HereJudgment work; the resulting fix dispatches with a precise spec
Diff review, commits, pushes, PRsHereGit operations stay under your control
Trivial edits riding along with review/validation (one-liners, any layer)HereDispatch overhead exceeds the work
Work codex has demonstrably struggled withHereEscape hatch — see below

Dispatch Protocol

  1. Spec first. Write a spec file in the worktree: objective, constraints, files/areas involved, acceptance criteria — the exact test command that must go green — and what NOT to touch. For frontend work the spec carries the design intent: layout, states, interactions, spacing, motion, reference patterns. For the hardest parts, spec down to pseudocode — the thinking stays here; the typing still dispatches.
  2. Dispatch in the background and keep working:

``bash codex exec --cd <worktree> "/goal <one-line objective; details in SPEC.md>" `` codex runs gpt-5.5 with xhigh reasoning (its default config); it implements and gets tests green in the isolated worktree while you continue planning/spec/validation work in parallel.

  1. Review the diff here. Commit, push, and open PRs from this session.

Visual Validation Loop (frontend)

  1. codex implements the UI per spec.
  2. Run the app here — interact, screenshot, judge against the design intent.
  3. Write concrete visual feedback (what's off, by how much, what good looks like) and re-dispatch.
  4. Loop until it looks right; then diff review + git here.

Escape Hatch: When codex Struggles

Struggle must be observed, not predicted. Always dispatch first — predicting "codex can't do this" just means the spec needs pseudocode-level detail. But two strikes and it's yours: if a re-dispatch with concrete corrective feedback still comes back missing the acceptance criteria or mangling the approach, stop re-dispatching and write the code here yourself, salvaging whatever of codex's diff is sound.

Red Flags

ThoughtReality
"Frontend is design-critical, so I'll code it here"Fable's taste shows up in the spec and the validation loop, not in typing JSX. Dispatch it.
"Faster to just write it myself"Premium tokens on rote work. Spec it, dispatch it, validate in parallel.
"This part is too hard for codex"Predicted struggle is not observed struggle. Spec it at pseudocode level and dispatch; you only take over after two failed rounds.
"I'll let codex commit and push"Review the diff and run git from this session.
"No time to write a spec"An unspecced dispatch comes back wrong and costs more Fable tokens to fix than the spec would have.

Common Mistakes

  • Dispatching without acceptance criteria → codex returns "done" with red tests. Always name the test command that must pass.
  • Dispatching frontend work without design intent in the spec → generic UI comes back; the validation loop burns rounds recovering what the spec should have said.
  • Blocking on codex → run it in the background; keep doing planning/spec/validation work in parallel.
  • Splitting one coherent unit across dispatches → pick one owner per unit; split at the API boundary, not mid-feature.

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/arbitrage.md https://raw.githubusercontent.com/blader/arbitrage/main/SKILL.md
3
Invoke in Claude Code
/arbitrage
View source on GitHub

Frequently Asked Questions

What is arbitrage?

Always active when coding in a Claude (Fable) session. Triggers whenever implementation work is being planned, scoped, or about to start — before writing any code — to decide where each piece of work executes.

How to install arbitrage?

To install arbitrage, create the .claude/skills directory in your project, then run the curl command to download the skill file. Once installed, invoke it in Claude Code with /arbitrage.

What is arbitrage best for?

arbitrage is a community categorized under General. Created by blader.