Delegating to Agents

SkillAI & models

Lets your agent hand bounded tasks to other AI agents while keeping context and checking progress.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Delegating to Agents skill

About this capability

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,

What this skill tells your AI

The instructions your AI receives, as published by matyasstoch/david-skills in skills/delegating-to-agents/SKILL.md and read by ahel’s review.

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.

Signals

GitHub stars
59
Forks
11
Last commit
Jun 2026
Advanced
Catalog kind
skill
Gateway key
delegating-to-agents
Source
github.com/matyasstoch/david-skills