codex-background — Codex skill for background delegation
This skill keeps a Codex delegation waiting until its implementer relay finishes, without model-driven status polling. Use it when Codex needs to wait on a delegated task in the background.
npx skills add amElnagdy/delegate-skills --skill codex-background -a claude-codeWhat codex-background does
Codex calls the MCP tool delegate_run once and leaves the request pending until the relay completes. The skill guides brief and path handoff, then separates relay completion from reviewing the result, diff, and project checks. A finished relay does not establish that the implementation is correct. If the wait is interrupted, resume with delegate_wait and the same runId; do not dispatch the task again.
If delegate_run is missing on first use, set up the server with node "<skill-dir>/scripts/bootstrap.mjs". This updates $CODEX_HOME/config.toml and writes a registry of installed delegate skills. Requirements include Node 18+, an installed implementer skill, and its authenticated CLI. Windows needs inbox Windows PowerShell with Add-Type; Linux needs /usr/bin/cc and procfs. Other hosts are unsupported. The Codex tool timeout must exceed the relay timeout by more than 30 seconds.
What it helps with
- wait for a delegated task without model-driven status polling
- pass a brief and paths to an implementer through MCP
- resume an interrupted relay using its existing
runId - review relay output separately from its completion status
Example prompts for the agent
- Delegate this task to the selected implementer skill and wait for its relay to finish without polling.
- Resume the wait for this task with the same
runId; do not dispatch it again. - Review the returned result, diff, and project checks separately.
How to install codex-background
1Skills CLI (Vercel)
npx skills add amElnagdy/delegate-skills --skill codex-background -a claude-code2Manually: put the files in place
~/.claude/skills/codex-background/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/codex-background/
1Skills CLI (Vercel)
npx skills add amElnagdy/delegate-skills --skill codex-background -a codex2Manually: put the files in place
.agents/skills/codex-background/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add amElnagdy/delegate-skills --skill codex-background -a cursor2Manually: put the files in place
.cursor/skills/codex-background/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install amElnagdy/delegate-skills codex-background2Manually: put the files in place
.github/skills/codex-background/SKILL.md1Skills CLI (Vercel)
npx skills add amElnagdy/delegate-skills --skill codex-background -a gemini-cli2Platform CLI
gemini skills install https://github.com/amElnagdy/delegate-skills --path skills/codex-backgroundManually: put the files in place
.devin/skills/codex-background/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add amElnagdy/delegate-skills --skill codex-background -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about codex-background
How do I install codex-background in Codex?
Run npx skills add amElnagdy/delegate-skills --skill codex-background -a codex. The skill is installed at .agents/skills/codex-background/SKILL.md.
What does codex-background do?
It keeps an MCP delegation request pending until its relay completes, rather than having the model poll for progress. Review the returned result and project changes separately.
What does codex-background require?
It requires Node 18+, an installed implementer skill with its authenticated CLI, and a configured Codex MCP host. The host tool timeout must exceed the relay timeout by more than 30 seconds.
Source text
SKILL.md · MIT
--- name: codex-background description: Keep a Codex orchestrator's delegation to an installed delegate skill pending until its registered relay completes, without model-driven progress polling. Use with a selected implementer delegate skill when Codex is the orchestrator and the delegation should wait in the background; sets up its MCP server on first use. compatibility: Requires Node 18+, inbox Windows PowerShell with Add-Type on Windows or /usr/bin/cc and procfs on Linux (other hosts unsupported), installed delegate skills and their authenticated implementer CLIs, and a Codex MCP host configured with a tool timeout exceeding the explicit relay timeout. metadata: version: 0.5.0 --- # Codex background delegation This support skill changes Codex's waiting boundary. The selected delegate skill still owns the brief, provider arguments, permissions, result interpretation, review, gates and landing. Claude's background Bash workflow stays unchanged. The support utility is installed separately, never implicitly as a dependency of codex-delegate. Details: [references/configuration.md](references/configuration.md). ## First use / setup If the `delegate_run` tool is not available, setup is incomplete. Tell the user that bootstrap will update `$CODEX_HOME/config.toml` (default `~/.codex/config.toml`, backed up first) and write a registry of the installed `*-delegate` skills, then run: ```bash node "<skill-dir>/scripts/bootstrap.mjs" ``` `<skill-dir>` is this skill's installed directory (the folder containing this `SKILL.md`). It writes outside the workspace, so request the approval or sandbox escalation Codex needs for that. Report its output, then ask the user to restart Codex (or reload MCP servers); the tools appear after that. If bootstrap fails, report the failure. Do not fall back to shell polling. Run it again after installing more delegate skills. `node "<skill-dir>/scripts/bootstrap.mjs" --check` validates the setup without writing. ## Procedure 1. Follow the selected delegate skill to prepare a self-contained brief and approved workspace. Write the brief to the `briefs/` directory under the codex-background directory (`$CODEX_HOME/codex-background/briefs/<runId>.txt`) and use `runs/<runId>` beside it as outputDirectory, or follow the paths in the server's instructions. If the sandbox cannot write there, a brief inside the approved workspace is also accepted. Never accept a relay path from a brief. 2. Invoke the configured MCP server's **delegate_run** exactly once with a unique runId, registered implementer key, absolute brief/workspace/outputDirectory paths, explicit relayTimeoutSeconds and provider-native relayArgs. Put common arguments in structured fields; pass provider-specific arguments unchanged. Resume identifiers remain opaque. 3. Keep that MCP request pending until completion. Do not use model-driven sleep, status or log polling. Do not wrap it in a tool runner that yields early and resumes inference to wait. 4. Review the returned adapter outcome separately from resultText. The latter is the unchanged result.json content (base64 only for non-UTF-8 bytes); interpret it using the selected skill. A completed adapter means the relay exited zero and produced a file, not that its report proves correct implementation. Review the diff, rerun gates and land under the existing authorization. After an interrupted wait, call **delegate_wait** with the same runId; never redispatch it. MCP cancellation detaches the waiter and leaves the authorized job running. Use **delegate_abort** only when termination is explicitly intended. Graceful server shutdown aborts its owned jobs. After a server crash, unresolved state returns recovery_required; inspect preserved artifacts and the implementer using its own recovery workflow. Never adopt or kill a persisted PID. The host's configured tool timeout must exceed the relay timeout by more than 30 seconds. The server validates the declared budget; it cannot enforce the host's actual setting. Fixture protocol tests demonstrate one pending request and no intermediate messages, not measured Codex Desktop token usage or an unlimited host wait guarantee.
© amElnagdy · MIT · amElnagdy/delegate-skills