coding-agent
The coding-agent skill delegates complex coding work to specialized AI agents (Codex, Claude Code, or Pi) by spawning background processes, enabling asynchronous handling of feature development, code review, refactoring, and iterative exploration tasks. Use this when building new features, reviewing pull requests in temporary directories, refactoring large codebases, or performing iterative coding that requires file exploration and context switching.
git clone --depth 1 https://github.com/the-open-agent/openagent /tmp/coding-agent && cp -r /tmp/coding-agent/skills/coding-agent ~/.claude/skills/coding-agentSKILL.md
# Coding Agent (bash-first) Use **bash** (with optional background mode) for all coding agent work. Simple and effective. ## ⚠️ PTY Mode: Codex/Pi/OpenCode yes, Claude Code no For **Codex, Pi, and OpenCode**, PTY is still required (interactive terminal apps): ```bash # ✅ Correct for Codex/Pi/OpenCode bash pty:true command:"codex exec 'Your prompt'" ``` For **Claude Code** (`claude` CLI), use `--print --permission-mode bypassPermissions` instead. `--dangerously-skip-permissions` with PTY can exit after the confirmation dialog. `--print` mode keeps full tool access and avoids interactive confirmation: ```bash # ✅ Correct for Claude Code (no PTY needed) cd /path/to/project && claude --permission-mode bypassPermissions --print 'Your task' # For background execution: use background:true on the exec tool # ❌ Wrong for Claude Code bash pty:true command:"claude --dangerously-skip-permissions 'task'" ``` ### Bash Tool Parameters | Parameter | Type | Description | | ------------ | ------- | --------------------------------------------------------------------------- | | `command` | string | The shell command to run | | `pty` | boolean | **Use for coding agents!** Allocates a pseudo-terminal for interactive CLIs | | `workdir` | string | Working directory (agent sees only this folder's context) | | `background` | boolean | Run in background, returns sessionId for monitoring | | `timeout` | number | Timeout in seconds (kills process on expiry) | | `elevated` | boolean | Run on host instead of sandbox (if allowed) | ### Process Tool Actions (for background sessions) | Action | Description | | ----------- | ---------------------------------------------------- | | `list` | List all running/recent sessions | | `poll` | Check if session is still running | | `log` | Get session output (with optional offset/limit) | | `write` | Send raw data to stdin | | `submit` | Send data + newline (like typing and pressing Enter) | | `send-keys` | Send key tokens or hex bytes | | `paste` | Paste text (with optional bracketed mode) | | `kill` | Terminate the session | --- ## Quick Start: One-Shot Tasks For quick prompts/chats, create a temp git repo and run: ```bash # Quick chat (Codex needs a git repo!) SCRATCH=$(mktemp -d) && cd $SCRATCH && git init && codex exec "Your prompt here" # Or in a real project - with PTY! bash pty:true workdir:~/Projects/myproject command:"codex exec 'Add error handling to the API calls'" ``` **Why git init?** Codex refuses to run outside a trusted git directory. Creating a temp repo solves this for scratch work. --- ## The Pattern: workdir + background + pty For longer tasks, use background mode with PTY: ```bash # Start agent in target directory (with PTY!) bash pty:true workdir:~/project background:true command:"codex exec --full-auto 'Build a snake game'" # Returns sessionId for tracking # Monitor progress process action:log sessionId:XXX # Check if done process action:poll sessionId:XXX # Send input (if agent asks a question) process action:write sessionId:XXX data:"y" # Submit with Enter (like typing "yes" and pressing Enter) process action:submit sessionId:XXX data:"yes" # Kill if needed process action:kill sessionId:XXX ``` **Why workdir matters:** Agent wakes up in a focused directory, doesn't wander off reading unrelated files (like your soul.md 😅). --- ## Codex CLI **Model:** `gpt-5.2-codex` is the default (set in ~/.codex/config.toml) ### Flags | Flag | Effect | | --------------- | -------------------------------------------------- | | `exec "prompt"` | One-shot execution, exits when done | | `--full-auto` | Sandboxed but auto-approves in workspace | | `--yolo` | NO sandbox, NO approvals (fastest, most dangerous) | ### Building/Creating ```bash # Quick one-shot (auto-approves) - remember PTY! bash pty:true workdir:~/project command:"codex exec --full-auto 'Build a dark mode toggle'" # Background for longer work bash pty:true workdir:~/project background:true command:"codex --yolo 'Refactor the auth module'" ``` ### Reviewing PRs **⚠️ CRITICAL: Never review PRs in OpenClaw's own project folder!** Clone to temp folder or use git worktree. ```bash # Clone to temp for safe review REVIEW_DIR=$(mktemp -d) git clone https://github.com/user/repo.git $REVIEW_DIR cd $REVIEW_DIR && gh pr checkout 130 bash pty:true workdir:$REVIEW_DIR command:"codex review --base origin/main" # Clean up after: trash $REVIEW_DIR # Or use git worktree (keeps main intact) git worktree add /tmp/pr-130-review pr-130-branch bash pty:true workdir:/tmp/pr-130-review command:"codex review --base main" ``` ### Batch PR Reviews (parallel army!) ```bash # Fetch all PR refs first git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*' # Deploy the army - one Codex per PR (all with PTY!) bash pty:true workdir:~/project background:true command:"codex exec 'Review PR #86. git diff origin/main...origin/pr/86'" bash pty:true workdir:~/project background:true command:"codex exec 'Review PR #87. git diff origin/main...origin/pr/87'" # Monitor all process action:list # Post results to GitHub gh pr comment <PR#> --body "<review content>" ``` --- ## Claude Code ```bash # Foreground bash workdir:~/project command:"claude --permission-mode bypassPermissions --print 'Your task'" # Background bash workdir:~/project background:true command:"claude --permission-mode bypassPermissions --print 'Your task'" ``` --- ## OpenCode ```bash bas
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks OpenClaw to add a note, list notes, search notes, or manage note folders.
Manage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
Create, search, and manage Bear notes via grizzly CLI.
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
BluOS CLI (blu) for discovery, playback, grouping, and volume.
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
Capture frames or clips from RTSP/ONVIF cameras.