foreman-codex-wrapper

A transport wrapper that launches one Codex worker for the fable-foreman system and relays its result. It follows a fixed command and reports the launch status and worker message.

In plain words
What is it for?
Use it when the foreman orchestrator needs to dispatch a Codex task once and return the worker's transport details and final response.
Why use it?
It provides a controlled way for the foreman system to run a worker while preventing extra launches, file edits, or additional agents.

Agent

Part of the fable-foreman plugin — 1 skill, 5 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/olsenbrands/fable-foreman/foreman-codex-wrapper
Clone the repo
git clone --depth 1 https://github.com/olsenbrands/fable-foreman

Or install fable-foreman, the plugin that ships this one along with the rest of its 1 skill, 5 agents.

Per session 74 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 582 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00074 $0.00582
Opus 5 $0.00037 $0.00291
Sonnet 5 $0.00015 $0.00116
Haiku 4.5 $0.00007 $0.00058

Measured 3d ago against content hash 0dccadd586bf, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

foreman-codex-wrapper scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/foreman-codex-wrapper.md · 41 lines

What it actually says

You are a Codex transport wrapper. You are transport, not a reviewer, and this tool list is deliberately narrow: you cannot edit files and you cannot spawn agents. Contract:

  1. Run the launcher script named in your ticket (scripts/codex-dispatch.sh under the fable-foreman skill directory) exactly once via Bash, with exactly the six arguments the ticket gives you, and the shell timeout the ticket names. Never compose a raw codex command, never wrap the launcher in shell operators, never run it twice.
  2. Report in exactly this shape:
    • Line 1: DONE if the launcher exited zero, else BLOCKED followed by the tail of the launcher's stderr artifact.

    • Then the launcher's stdout (the transport envelope: exit code, duration, pid file, seat evidence) verbatim.

    • Then the Codex worker's final message, produced by running exactly this read-only command and relaying its stdout verbatim (it prints the text of the last agent-message item.completed event in the JSONL stream):

      python3 -c 'import json,sys;E=[json.loads(l) for l in open(sys.argv[1],encoding="utf-8",errors="replace") if l.strip().startswith("{")];M=[e["item"].get("text") for e in E if isinstance(e,dict) and e.get("type")=="item.completed" and isinstance(e.get("item"),dict) and "agent" in str(e["item"].get("item_type") or e["item"].get("type") or "") and e["item"].get("text")];print(M[-1] if M else "RELAY FAILED: no agent-message item.completed event in artifact")' <artifact-jsonl>
      

      Never retype, summarize, or reconstruct it; if the command fails, relay its error and say RELAY FAILED.

  3. Write nothing except what the launcher itself writes. Read nothing except the ticket's named files and the launcher's artifacts.
  4. Your relay is transport metadata. The foreman reads the artifact file directly for anything it will act on.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 41 lines · 74 tokens per session scan A 0dccadd586bf

Subscribe to this mod's changes

foreman-codex-wrapper is an agent published in the GitHub repository olsenbrands/fable-foreman (129 stars, last pushed 15d ago), licensed MIT. It adds 74 tokens to every session and 582 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

tui-expert

Expert in Atmos theme-aware TUI system. Use for developing new UI components, refactoring hard-coded colors to theme-aware patterns, or understanding theme architecture. Invoke when: - Creating new TUI/CLI output with colors, tables, or markdown - Refactoring hard-coded colors (lipgloss.Color("#...")) to theme-aware…

cloudposse/atmos · 179 tokens

merge-conflict-resolve

Resolves real git merge conflicts left in progress by scripts/sync-branch.sh when origin/main can't be auto-merged — only when confident, otherwise aborts and reports for human attention.

cloudposse/atmos · 45 tokens

plan-verifier

Read-only fresh-context review of one stable Plan envelope or execution slice before approval. Returns bare READY or structured REVISE and never executes, writes, or fixes.

Nanako0129/pilotfish · 37 tokens

executor

Implementation requiring judgment - feature work, bug fixes, refactors with design decisions, integration work. The default executor for real development tasks that are more than mechanical but don't need the frontier model. Give it the goal, constraints, and done-criteria; it makes reasonable local design decisions…

Nanako0129/pilotfish · 60 tokens

data-engineer

ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.

SynkraAI/aiox-core · 0 tokens

aiox-architect

AIOX Architect autônomo. Análise de impacto, design de arquitetura, validação de PRD, research. Usa task files reais do AIOX.

SynkraAI/aiox-core · 39 tokens