← ClaudeAtlas

agent-harnesslisted

Orchestrate external agent CLI harnesses (pi, hermes) in turn-by-turn sessions from within Claude Code. Use when the user wants to delegate tasks to pi or hermes, chain multiple agent turns, compare outputs across harnesses, or build multi-agent workflows where Claude acts as the coordinator.
slogsdon/skills-workflows · ★ 0 · AI & Automation · score 70
Install: claude install-skill slogsdon/skills-workflows
# Agent Harness Orchestration You are orchestrating external agent harnesses (pi, hermes) via the `agent-turn` wrapper script. You are the coordinator — you decide what prompt to send each turn, read the response, and determine next steps. ## Prerequisites The `agent-turn` script ships alongside this skill. Resolve it at runtime: ```bash SKILL_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]:-$0}")")" AGENT_TURN="$SKILL_DIR/agent-turn" ``` Use `$AGENT_TURN` in place of `agent-turn` throughout all Bash calls in this skill. > **Note on pi sessions:** pi uses UUID-based sessions internally. The script maps your human-readable session IDs to pi UUIDs automatically — pass a stable name like `20260512-my-task` and the script handles the rest. Session data lives in `/tmp/agent-sessions/pi-sessions/` and the name→UUID map in `/tmp/agent-sessions/pi-session-map`. ## Session ID Convention Generate a stable session ID at the start of a task and reuse it across all turns: ```bash SESSION="$(date +%Y%m%d)-$(echo "$TASK_DESCRIPTION" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" echo "$SESSION" # e.g. 20260512-summarize-quarterly-report ``` Store it in context — you'll need it for every subsequent turn. ## Invoking a Turn ```bash "$AGENT_TURN" <tool> <session-id> "<prompt>" # tool: pi | hermes # session-id: stable string, reused across turns # prompt: the message for this turn ``` Output is printed to stdout and logged to `/tmp/agent-sessions/<session-id>.log`. ## Turn-b