Coding

Coding Agent

Try it

Delegate coding work to Codex, Claude Code, Pi, and other ACP agents via acpx, with persistent sessions and parallel execution.

What it does

Routes coding tasks through acpx (Agent Client Protocol) to agents like Codex, Claude Code, Pi, Gemini, OpenCode, and Kimi. Supports one-shot exec, persistent named sessions, auto-approve permissions, and fire-and-forget background runs. Bundles MCP tooling — jcodemunch for code exploration and jdocmunch for docs — so agents navigate codebases by symbol and section rather than reading whole files. Documents patterns for PR review in temp dirs and parallel work across git worktrees.

When to use it

  • Build a new feature or app inside a specified working directory
  • Review a pull request by cloning the repo into a temp directory
  • Run multiple refactors in parallel across git worktrees
  • Explore an unfamiliar codebase via jcodemunch symbol search before editing

The skill document

Coding Agent (acpx-first)

Use acpx for all coding agent work. It communicates over the Agent Client Protocol (ACP) — no PTY scraping, structured output, persistent sessions.

# Install (already global on this system)
npm i -g acpx

✅ Primary: acpx (preferred for all agents)

# One-shot (exec) — no session state saved
acpx codex exec "summarize this repo"
acpx claude exec "refactor the auth module"

# Persistent session (prompt) — reuses session per cwd
acpx codex "fix the failing tests"
acpx claude "add error handling to API calls"

# Named parallel sessions
acpx codex -s backend "refactor the API layer"
acpx codex -s frontend "update the React components"

# Auto-approve permissions
acpx --approve-all codex exec "run and fix failing tests"

# Fire-and-forget (background)
acpx --no-wait codex "long refactor task"

# Read prompt from file or stdin
acpx codex -f prompt.txt
cat prompt.md | acpx codex

# With working directory
acpx --cwd ~/Projects/myproject codex "fix the auth bug"

Built-in agent registry

AliasResolves to
codexnpx @zed-industries/codex-acp
claudenpx -y @zed-industries/claude-agent-acp
geminigemini --acp
opencodenpx -y opencode-ai acp
pinpx pi-acp
kimikimi acp

Default agent is codex.

Session management

acpx sessions                          # list sessions
acpx sessions new                      # create new session for current cwd
acpx sessions new --name backend       # named session
acpx sessions close backend            # close named session
acpx sessions history --limit 20       # turn history
acpx codex status                      # check if agent process is alive
acpx codex cancel                      # cancel in-flight turn

⚠️ Fallback: raw exec (only when acpx unavailable or unsupported)

For Claude Code (claude CLI), if acpx isn't working:

# ✅ Fallback for Claude Code (no PTY needed)
cd /path/to/project && claude --permission-mode bypassPermissions --print 'Your task'

# ❌ Wrong for Claude Code
bash pty:true command:"claude --dangerously-skip-permissions 'task'"

For Codex/Pi/OpenCode raw fallback (PTY required):

bash pty:true command:"codex exec 'Your prompt'"

MCP Servers — Available in All Claude Code Sessions

Both MCP servers are pre-configured system-wide and connect automatically when running claude from any workspace directory.

jcodemunch-mcp — Code Exploration

When to use:

  • Exploring an unfamiliar codebase before making changes
  • Looking up function/class/symbol definitions
  • Getting a file outline without reading the whole file
  • Tracing call chains or finding symbol usage
  • Any code task where you'd otherwise open and read multiple files

Workflow:

# 1. Index the project once (idempotent — safe to re-run)
# In Claude Code prompt: "Use jcodemunch to index this project first"

# Tools available inside Claude Code:
jcodemunch: index_codebase { "path": "/path/to/project" }
jcodemunch: list_projects {}
jcodemunch: get_file_outline { "path": "src/server.js" }
jcodemunch: search_symbols { "query": "handleAuth" }
jcodemunch: get_symbol { "symbol_id": "..." }

Prompt pattern for Claude Code tasks:

cd ~/project && claude --permission-mode bypassPermissions --print \
  'First index this project with jcodemunch, then use symbol search and outlines
   to explore the codebase. Do NOT read full files — use targeted retrieval.
   Task: '

Rules:

  • Always index before exploring a new project
  • Use get_file_outline + search_symbols before reaching for read
  • Re-index after major refactors; skip for routine work
  • list_projects to avoid re-indexing already-indexed repos

jdocmunch-mcp — Documentation Exploration

When to use:

  • Exploring library/framework/API docs before implementing
  • Finding config options, installation steps, API reference sections
  • Onboarding to an unfamiliar tool
  • Any task where you'd otherwise open and skim large README or doc files

Workflow:

# Tools available inside Claude Code:
jdocmunch: list_repos {}                                           # check indexed
jdocmunch: index_local { "path": "/path/to/docs" }                # index local docs
jdocmunch: index_repo { "url": "owner/repo" }                     # index GitHub repo
jdocmunch: get_toc_tree { "repo": "owner/repo" }                  # browse structure
jdocmunch: search_sections { "repo": "...", "query": "auth" }     # find sections
jdocmunch: get_section { "repo": "...", "section_id": "..." }     # read one section
jdocmunch: get_section_context { "repo": "...", "section_id": "..." } # section + context

Pre-indexed docs (already available — no need to re-index):

  • OpenClaw docs: index with index_local { "path": "/home/sean/.npm-global/lib/node_modules/openclaw/docs" }

Prompt pattern:

claude --permission-mode bypassPermissions --print \
  'Use jdocmunch to index and explore the docs at .
   Use search_sections and get_section — do NOT read full doc files.
   Task: '

Rules:

  • Always list_repos before indexing — avoid duplicate indexes
  • Pattern: search_sections → get_section (never open full files)
  • Use get_section_context when you need surrounding structure
  • GITHUB_TOKEN, GOOGLE_API_KEY, OPENAI_API_KEY are pre-configured for summaries + private repos

Installed CLIs

CLIVersionAuthNotes
claude2.1.71OAuth--print --permission-mode bypassPermissions
codex0.116.0OpenAI key (via ~/.bashrc)pty:true required
gemini0.29.5Gemini API keypty:true recommended

Bash Tool Parameters

ParameterTypeDescription
commandstringThe shell command to run
ptybooleanUse for coding agents! Allocates a pseudo-terminal for interactive CLIs
workdirstringWorking directory (agent sees only this folder's context)
backgroundbooleanRun in background, returns sessionId for monitoring
timeoutnumberTimeout in seconds (kills process on expiry)
elevatedbooleanRun on host instead of sandbox (if allowed)

Process Tool Actions (for background sessions)

ActionDescription
listList all running/recent sessions
pollCheck if session is still running
logGet session output (with optional offset/limit)
writeSend raw data to stdin
submitSend data + newline (like typing and pressing Enter)
send-keysSend key tokens or hex bytes
pastePaste text (with optional bracketed mode)
killTerminate the session

Quick Start: One-Shot Tasks

# One-shot with acpx (preferred)
acpx --cwd ~/project codex exec "Your task"
acpx --cwd ~/project claude exec "Your task"

# With auto-approve
acpx --approve-all --cwd ~/project codex exec "Add error handling to the API calls"

The Pattern: persistent sessions + background

For longer tasks, use persistent sessions or --no-wait:

# Create a named session and start work
cd ~/project
acpx codex sessions new --name myfeature
acpx codex -s myfeature "Build a snake game"

# Check status
acpx codex status -s myfeature
acpx codex sessions history myfeature --limit 10

# Fire-and-forget (returns immediately)
acpx --no-wait --cwd ~/project codex "Long refactor task"

Reviewing PRs

⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!

# Clone to temp for safe review
REVIEW_DIR=$(mktemp -d)
git clone https://github.com/user/repo.git $REVIEW_DIR
acpx --approve-reads --cwd $REVIEW_DIR codex exec "Review this PR vs main branch and summarize issues"

Parallel Sessions with git worktrees

git worktree add -b fix/issue-78 /tmp/issue-78 main
git worktree add -b fix/issue-99 /tmp/issue-99 main

acpx --approve-all --no-wait --cwd /tmp/issue-78 codex "Fix issue #78"
acpx --approve-all --no-wait --cwd /tmp/issue-99 codex "Fix issue #99"

acpx codex sessions list

Auto-Notify on Completion

Append to your prompt so OpenClaw gets notified when the agent finishes:

... your task here.

When completely finished, run:
openclaw system event --text "Done: [brief summary]" --mode now

⚠️ Rules

  1. Use acpx first: Always prefer acpx over raw PTY/exec for coding agent delegation. Fall back to raw exec only if acpx is unavailable or the agent doesn't support ACP.
  2. Use MCP servers: Always prompt Claude Code to use jcodemunch for code exploration and jdocmunch for doc exploration — never brute-force read files
  3. Respect tool choice — if user asks for Codex, use Codex
  4. Be patient — don't kill sessions because they're "slow"
  5. Monitor with process:log — check progress without interfering
  6. Parallel is OK — run many agents at once for batch work
  7. NEVER start Codex in ~/.openclaw/ — it'll read soul docs and get weird ideas about the org chart!
  8. NEVER checkout branches in ~/Projects/openclaw/ — that's the LIVE OpenClaw instance!

Progress Updates

  • Send 1 short message when you start (what's running + where)
  • Update again only when: milestone completes, agent asks a question, error occurs, or agent finishes
  • If you kill a session, immediately say why

Related skills

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from Sean Ford

Browse all skills

Discover the right agent skill from six sources by describing your task in natural language or by keyword.

by 桂皮9 installs

Read, send, and manage Outlook mail, folders, calendar events, and contacts through Microsoft Graph with managed OAuth.

by byungkyu

Route calls to third-party APIs through a managed gateway without handling OAuth or API keys yourself.

by byungkyu

Read, send, and manage Gmail emails, threads, labels, and drafts via managed OAuth.

by byungkyu

Expert web fetching and crawling using Scrapling. Use for any web_fetch task, JS-rendered pages, anti-bot sites, bulk URL fetching, or site crawling. Preferr...

by seanford11 installs1 stars

Research any topic across multiple sources and produce a cited report. Use when the user asks to research, find, look into, deep dive, investigate, or get a...

by seanford9 installs