ava-use-claude-code-and-codex

Supervises Claude Code and Codex CLI coding agents through file-driven persistent shell sessions.

1|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/zhiyuan-zhang0206/Ava --skill ava-use-claude-code-and-codex-zhiyuan-zhang0206
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ava-use-claude-code-and-codex
Source: https://github.com/zhiyuan-zhang0206/Ava/tree/main/ava_builtins/skills/ava-use-claude-code-and-codex
Command: npx skills add https://github.com/zhiyuan-zhang0206/Ava --skill ava-use-claude-code-and-codex-zhiyuan-zhang0206

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Delegating multi-step coding work to CLI agents like Claude Code or Codex is unreliable when you supervise by watching a terminal screen: output vanishes on restart, status is hard to parse, and stalled agents go unnoticed. This Skill provides a file-driven collaboration pattern where a task file and a work file act as the durable interface between you and the delegated coding agent. ## Core Features & Use Cases - Spawn scripts for both CLIs: spawn_claude.py and spawn_codex.py pre-trust the workspace, create the task/work files, launch a persistent shell session, and deliver the collaboration contract automatically. - Status-based supervision: A reference watcher polls the work file's STATUS: line (WORKING, DONE, NEED_INPUT, HANDOFF) with stall detection and heartbeat wake-ups, so you only act when there is something to do. - Context management and handoff: Read context usage via /status or /context, compact in place with /compact, or trigger a CHECKPOINT handoff to a fresh agent instance with zero context loss. - Use Case: You need a bug fix spanning 15 files with test iterations. Spawn a Claude Code session in a dedicated worktree, append the task to the task file, launch the watcher, and get woken only when the agent reports DONE or NEED_INPUT. ## Quick Start Run the spawn script for your chosen CLI with a workspace directory, then append your task to the printed tasks_file path and let the watcher notify you when the agent finishes.

Frequently Asked Questions about ava-use-claude-code-and-codex

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I supervise a long-running Claude Code or Codex session?▼

Use the file-driven pattern: the agent writes a STATUS line and log to a work file, and you append tasks to a separate task file. Launch the reference watcher to poll the work file and get woken only on DONE, NEED_INPUT, HANDOFF, or a stall.

When should I use Claude Code vs Codex CLI for a coding task?▼

Outsource multi-step tasks with many trial-and-error rounds or more than 10 files; do small edits yourself. Use codex exec review for diff review, and pick the tool backed by the model whose reasoning or context window you need.

Why does my Codex session ignore the first message sent to it?▼

Codex renders its TUI frame during MCP startup, so a message sent then gets parked in the composer without submitting. The spawn script waits until 'Starting MCP' disappears and verifies submission by checking for the 'Working' state before proceeding.

How do I check context window usage in Claude Code or Codex?▼

Send /status to Codex, which prints 'Context window: NN% left', or /context to Claude, which prints a usage grid. The footer indicator is unreliable because it is configurable and off by default in some builds.

Why must ANTHROPIC_API_KEY be unset before launching Claude Code?▼

When ANTHROPIC_API_KEY is present alongside a paid Claude subscription, Claude Code defaults to API-key billing, incurring per-token charges instead of using the subscription. The spawn script unsets it automatically; manual launches need 'unset ANTHROPIC_API_KEY &&'.

What are the limitations of headless one-shot mode with claude -p or codex exec?▼

Headless mode suits only rare, fully self-contained tasks needing no supervision. Note that codex exec always returns exit code 0 even on failure, so you must judge success from the output, and /compact does nothing in headless runs.