| name | delegating-to-agents |
| description | MUST be read ANY time another AI agent is involved — sending a prompt to or polling a Pi/Codex/Claude Code/Hermes/OpenCode agent, driving an agent running in another cmux pane/surface/terminal/tmux window, delegating or relaying ANYTHING to an agent in the same cmux workspace, spawning a sub-agent, or orchestrating agent-to-agent work. Read it BEFORE the first message you send to another agent. Covers the critical rule that prompts sent to a TUI agent must be ONE single line (newlines = Enter = fragmented/cut-off prompts), short polling cadence, which agent to pick, and per-agent characteristics. If you are about to type `cmux send`/`tmux send-keys` to any agent, this skill applies. |
Delegating to Agents
Which agent to pick (most important)
- For most tasks → just open Pi Agent with the
pi command in a cmux terminal. Default Pi agents run on opus-4.8-fast via OpenRouter API at xhigh reasoning effort.
- Default for coding → Codex CLI. It's currently the most powerful coding agent — stronger than Claude Code and Opus 4.8 — especially on complex, long-running SWE tasks. Delegate hard/multi-step engineering work here.
- Frontend / design → Pi Agent with Opus 4.8 Fast. For UI, styling, and design work, Pi + Opus 4.8 Fast beats Codex.
- Codex is on David's ChatGPT Pro plan, so usage limits are effectively near-unlimited — don't ration Codex calls to save quota.
- A good setup for complex work: Pi Agent (you) as the orchestrator, delegating execution to Codex CLI running in the right pane in cmux. This isn't the only setup that works, but it's a solid default for heavy, long-running tasks.
Polling cadence — keep sleeps SHORT
General principle: when waiting on another agent, use short sleep intervals so you check often. Don't sleep 30. Start with sleep 3-5; if the agent isn't done, just sleep 5 again and re-check. Scale up only for genuinely heavy tasks.
Sending prompts — NEVER put newlines in the message body
When sending a prompt to a TUI agent (Pi, Hermes, Claude Code, Codex) via cmux send, tmux send-keys, or similar, the message text must be a single line. In these TUIs a newline = Enter, so a multi-line string submits after the first line and the rest arrive as separate mid-turn "Steering" messages — cutting off / fragmenting your prompt.
Fixes (pick one):
- Send the whole prompt as one line (use ". " or "; " instead of line breaks), then one explicit
send-key enter.
- For long/multi-step instructions, write them to a file and tell the agent to read it:
cmux send --surface X 'read /tmp/task.md and follow it' then send-key enter.
Managing a remote VPS via an agent
To have an agent manage a remote VPS, SSH in first and launch the agent ON the VPS (e.g. codex --yolo), then drive that on-box agent — it has full local context and avoids fragile per-command SSH round-trips. Don't run an agent locally and tell it to SSH for every step.
Agent characteristics
- Pi Agent — starts & responds very fast. Usually launches within 1-2s and responds within a few seconds. No need for long waits;
sleep 3-5 is plenty.
- Pi & Hermes — both run on OpenRouter with
opus-4.8-fast, which responds very fast. Same rule: poll with short 3-5s sleeps, not long ones.
The 4 agents (compressed reference)
Background only — don't over-index on this. All four use the portable SKILL.md standard (~/.{agent}/skills/, project version wins; one folder can be symlinked across all). Pi, Codex, Hermes are model-agnostic (BYOK); Claude Code is Claude-centric.
- Pi (pi.dev, Mario Zechner / earendil-works, open-source TS, npm). Minimal 4-tool core (read/write/edit/bash) that self-extends via TS extensions, skills, prompt templates, packages. True BYOK (Claude/GPT/Gemini/Grok/DeepSeek/local), best-in-class branch/fork/resume sessions, transparent. Weak: smaller ecosystem, assemble-your-own workflow. Skills:
~/.pi/agent/skills/.
- Hermes (Nous Research, MIT, Python). Persistent self-improving autonomous agent (not a copilot) — cross-session memory, learning loop that auto-writes reusable skills, 40+ tools, cron/scheduling, subagent delegation, 20+ messaging platforms. Can orchestrate other agents (Codex, OpenCode) as workers. Weak: heavy setup (systemd/server), not IDE-tethered. Skills:
~/.hermes/skills/ (project cwd skills/ wins).
- Claude Code (Anthropic, TS). Deepest model integration, clean
.claude/ conventions (CLAUDE.md, rules/, agents/ subagents, skills/plugins), live skill hot-reload mid-session. Skills are injected instructions in the main conversation, not separate processes. Weak: Anthropic-centric, less infra/sandbox tooling. Skills: ~/.claude/skills/ (personal) + .claude/skills/ (project).
- Codex CLI (OpenAI, Apache 2.0, ~95% Rust). Fastest startup, low memory; only agent with kernel-level sandboxing (Apple Seatbelt / Landlock+seccomp); strong for CI (
codex exec), MCP, GitHub PR review. Reads AGENTS.md. Weak: tied to ChatGPT/OpenAI auth, sparse docs, sandbox can change script behavior. Skills: ~/.codex/skills/ (personal) + .codex/skills/ (project).
Driving interactive CLIs
- Codex, Pi, OpenCode: tooling that drives them needs
pty=true.
- Claude Code: prefers
--print --permission-mode bypassPermissions (no PTY).
- Hermes is the orchestrator/persistent agent — it can drive the coding CLIs, not just be one.