skills/arbitrage/SKILL.md
Always active when coding in a Claude (Fable/Opus) session alongside a codex quota. Triggers whenever implementation work is being planned, scoped, or about to start — before writing any code — to decide where each piece of work executes. Routes judgment (planning, specs, design intent, review, visual validation, git) to the premium session and all code-writing volume to codex dispatches, with guardrails learned from real dispatch failures.
npx skillsauth add b-open-io/prompts arbitrageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Premium-model tokens are expensive; the user's codex quota sits unused. Exploit the price gap: spend premium tokens on judgment — planning, specs, design intent, review, visual validation — and spend codex quota on all code-writing volume.
You ARE the premium session. "Here" means you do it yourself. There is no separate model to delegate judgment to.
| Work | Where | Why |
|------|-------|-----|
| Planning, specs, architecture decisions | Here | Judgment is what the premium model is paid for |
| ALL implementation — backend, frontend, anything that writes code | codex via /goal | Quota is free; typing code is not where premium adds value |
| Visual validation of UI work (run the app, screenshot, judge, iterate) | Here | The design eye is worth the price — validate, don't type |
| Investigation and debugging analysis (root-causing hard bugs) | Here | Judgment work; the resulting fix dispatches with a precise spec |
| Diff review, commits, pushes, PRs | Here | Git operations stay under your control |
| Trivial edits riding along with review/validation (one-liners, any layer) | Here | Dispatch overhead exceeds the work |
| Work codex has demonstrably struggled with | Here | Escape hatch — see below |
Spec first. Write a SPEC-<ticket>-<slug>.md at the target repo root:
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. Keep
spec files untracked (never commit them).
Every spec MUST include the environment clause (verbatim or close):
If you hit an environment blocker (read-only path, no network, blocked cache), STOP and report it. Never work around it by changing build tooling, removing dependencies, reimplementing libraries, or deleting assets. Environment artifacts are the dispatcher's problem, not a code problem.
Dispatch in the background with the sandbox flag — always:
codex exec --sandbox workspace-write --cd <repo> "/goal <one-liner; details in SPEC-*.md>"
codex exec runs a read-only sandbox: the dispatch burns quota,
writes nothing, and returns an apology. Never omit the flag.GOCACHE=$PWD/.gocache (and gitignore it) when the default is
blocked.Review the diff here — adversarially. Codex under sandbox pressure
produces plausible workarounds, not just bugs. Real failures seen in the
field: removed next/font Google fonts to dodge the network; switched
next build to --webpack to make a webpack-only alias apply; and
reimplemented a crypto signing library as a local shim aliased in at
build time. All three shipped a green build. Checklist before accepting:
git diff the build/tool config surface: package.json scripts,
next.config.*, tsconfig, Dockerfile, CI files, lockfiles. Any
change there needs an independent justification, not "build was failing".patch-package, vendored
copies of dependencies. A "shim" for a real library is a red alert.Re-run acceptance yourself, outside the sandbox. Codex-green is a
claim, not evidence — its environment differs from yours (network, caches,
bundler). And when you chain the commands, remember that piping to
tail/grep swallows exit codes: bun test | tail -3 && git push will
push on a red suite. Run gating commands unpiped, or check exit status
explicitly, before any commit or push.
Ship from here. Commit, push, PR from this session — never let codex
commit. Expect the remote to have moved if other sessions/loops share the
repo: on rejected push, git pull --no-rebase, resolve (watch for
conflicts whose sides each depend on shared closing lines — naive marker
stripping breaks functions mid-body), then re-run acceptance again
before the retry push.
Auth-gated UIs: you cannot enter credentials (hard boundary). Plan for it — mock-data mode, a signed-in user session in the driven browser, or hand the sign-in step to the user early, before the validation loop blocks on it.
Recon/research subagents spawned via the Agent tool sometimes go idle with a bare idle notification instead of delivering their report:
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.
Sandbox-artifact workarounds (fonts, bundler switches, shims) are NOT strikes against codex's ability — revert them, confirm the real build passes out here, and keep dispatching. Strikes are about the actual implementation.
| Thought | Reality | |---------|---------| | "Frontend is design-critical, so I'll code it here" | 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. | | "codex says tests are green, ship it" | Its sandbox is not your machine. Re-run acceptance here, unpiped. | | "The diff builds, the workaround is probably fine" | A green build via a shimmed dependency is a failure that compiles. Audit tool-config changes independently. | | "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 premium tokens to fix than the spec would have. |
--sandbox workspace-write → read-only sandbox, wasted
dispatch, zero diff.tools
This skill should be used when a Claude Code session needs to keep working after Anthropic usage runs out, or when the user asks to run the Claude Code harness on GPT-5.6 Sol. Trigger phrases include "my Anthropic usage ran out", "I'm out of Claude usage", "usage limit reached, what now", "keep working on another model", "run Claude Code on GPT-5.6 Sol", "use GPT-5.6 Sol as the model", "set up claudex", "claudex isn't working", "route the harness through CLIProxyAPI", or "bill against my ChatGPT/Codex subscription". It stands up a local proxy so the Claude Code CLI runs on OpenAI's Codex backend as an escape hatch, and diagnoses that setup when it drifts. macOS + Homebrew.
testing
This skill should be used when the user asks to "open Visual Wayfinder", "answer a Wayfinder ticket visually", "turn this decision into a configurator", "show Wayfinder choices as a dashboard", "prototype the Wayfinder questionnaire", or wants interactive choice cards, tradeoff controls, rankings, ranges, toggles, and consequence previews for one active Wayfinder decision. It wraps the Wayfinder skill and JSON Render; it never replaces the tracker or resolves more than the active decision.
development
This skill should be used when the user asks to "make a visual proposal", "write this up so I can share it", "present these options visually", "diagram the trade-offs", "turn this plan into something reviewable", or requests a shareable design pitch, architecture proposal, RFC, options comparison, or visual roadmap for work that has not been built. It produces one self-contained, theme-aware HTML page led by grounded diagrams. Use visual-review instead for completed code changes; do not use this skill for internal task tracking.
tools
This skill should be used when the user asks to "add plugin settings", "make a plugin configurable", "store per-project plugin configuration", "use settings.local.json", "create a plugin state file", "expose skill settings in Agent Master", or "add a skill interface". Distinguishes official Claude Code settings from project-owned configuration and documents bOpen Agent Master skill interface discovery.