codex
Delegate coding tasks to OpenAI Codex via codex-listener
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Delegate coding tasks to OpenAI Codex via codex-listener
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | codex |
| description | Delegate coding tasks to OpenAI Codex via codex-listener |
| allowed-tools | Bash(python3 *) |
Delegate coding tasks to OpenAI Codex CLI through the codex-listener daemon.
status.py or list_tasks.py after submitting unless the user explicitly asks you to check a task's status.scripts/submit.py (or POST /tasks for manual HTTP). Do NOT use /submit or any other unofficial endpoint./tasks APIs via scripts/status.py or scripts/list_tasks.py.2>/dev/null, || echo, or pipes that change script output..codex/sessions or output files to infer task state unless the user explicitly asks to verify deliverables.workspace-write). For system-level tasks, explicitly pass --sandbox danger-full-access.--workflow-mode plan_bridge; if result is bridge_stage=needs_input, collect user answers and continue with --resume-session (stage-B). Do not execute implementation until plan is ready.The daemon must be running:
codex-listener start
All scripts are in the scripts/ directory relative to this skill.
# 1. Submit a task (canonical path: POST /tasks via submit.py)
python3 scripts/submit.py --prompt "fix the type error in auth.py" --cwd /path/to/project
# Returns: {"task_id": "a1b2c3d4", "status": "pending", ...}
# 2. Done. Move on to other work. The user will be notified through their configured channels when codex finishes.
Plan Bridge (two-stage):
# Stage A: ask planning questions only
python3 scripts/submit.py \
--workflow-mode plan_bridge \
--prompt "Complex task: ask only clarifying questions first, then emit planmode.v1 JSON with stage=needs_input." \
--cwd /home/Hera/.nanobot/workspace
# Stage B: continue same session after user answers
python3 scripts/submit.py \
--workflow-mode plan_bridge \
--resume-session <session_id> \
--parent-task-id <task_id> \
--prompt "User answers: ... Continue planning and emit planmode.v1 JSON." \
--cwd /home/Hera/.nanobot/workspace
System-task prompt template (required):
Install tmux on Debian/Ubuntu, then verify with:
1) tmux -V
2) dpkg -l tmux
Return the exact verification output in your final response.
python3 scripts/submit.py --prompt "fix the bug in auth.py" --cwd /path/to/project
python3 scripts/submit.py --prompt "refactor this module" --model o3-mini --cwd .
python3 scripts/submit.py --prompt "quick fix" --reasoning-effort low --cwd .
python3 scripts/submit.py --prompt "install tmux and verify with tmux -V + dpkg -l tmux" --cwd /home/Hera/.nanobot/workspace
python3 scripts/submit.py --prompt "code-only task" --sandbox workspace-write --cwd /home/Hera/.nanobot/workspace
python3 scripts/submit.py --workflow-mode plan_bridge --prompt "ask questions first" --cwd /home/Hera/.nanobot/workspace
python3 scripts/submit.py --workflow-mode plan_bridge --resume-session <session_id> --parent-task-id <task_id> --prompt "answers: ..." --cwd /home/Hera/.nanobot/workspace
The script above sends requests to POST /tasks. Do not hand-write /submit.
Options: --prompt (required), --model, --cwd, --sandbox, --reasoning-effort (high/medium/low, default: high), --workflow-mode, --resume-session, --parent-task-id
python3 scripts/cancel.py --task-id <id>
python3 scripts/health.py
python3 scripts/status.py --task-id <id>
python3 scripts/list_tasks.py
Status handling:
status directly from JSON.error field verbatim, then run python3 scripts/health.py once and report result.Plan Bridge handling:
bridge_stage=needs_input: ask user for answers. Preferred reply format is /plan-reply <task_id> <answer>.needs_input task; otherwise require explicit /plan-reply.--resume-session <session_id> and --parent-task-id <task_id>.✍️ 回复问题: only pre-fills /plan-reply <task_id> , user must still send the final answer text.✅ 执行计划: requires second confirmation before creating execution task.📝 继续修改: route back to /plan-reply <task_id> ....❌ 取消: cancel current execution intent and do not auto-submit implementation.All scripts output a single JSON object to stdout. Exit code 0 = success, 1 = error.
Submitted task:
{"task_id": "a1b2c3d4", "status": "pending", ...}
Daemon not running:
{"error": "codex-listener is not running. Start it with: codex-listener start"}