slaveoftime/open-relay/oly-subagent
Claude Code and agent skill by slaveoftime/open-relay
- community
Checking that the SKILL.md file is still in the repository.
Use when a coding agent is authorized to launch, coordinate, or supervise one or more sub-agent CLIs through oly, including choosing workflow topologies, reducing token cost, sending scoped tasks, monitoring progress, and verifying results.
Install
npx vskill@latest install slaveoftime/open-relay/oly-subagentSKILL.md
Orchestrate and supervise sub-agents with oly
oly skill --subagent prints this self-contained guide directly from the oly binary (no local file read, oly skill, or oly start --help is needed for standard workflows).
Use oly as a durable PTY and supervision runtime for user-authorized agent CLIs (pi, codex, claude, etc.). This skill does not authorize delegation, extra agents, approval bypass, or edits outside the user's scope. Use the agent CLI and model already chosen by the user or environment.
Core `oly` CLI reference:
oly daemon status— check daemon health (oly daemon start --detachonly if confirmed stopped; never stop/restart a shared daemon).oly start --detach --disable-notifications --title "<name>" --cwd <dir> [--tag <t>] [--node <n>] <cmd> [args...]— launch worker and print<ID>(olyflags go before<cmd>).oly logs <ID> --tail <N> --wait <exit|prompt|output|idle|match> --timeout <dur>— wait for gate (0met,2timeout,1error), then print output.oly info <ID> --json— inspectstatus,exit_code,input_needed, andprogram_status.
1) Right-size the topology (lower defaults first)
Multi-agent flows consume more tokens than single-agent work. Choose the smallest topology that fits the task:
| Topology | When to use | How to run | |
|---|---|---|---|
| Direct (0 workers) | Small, immediate, or tightly coupled edits where you would just sit waiting on a single worker. | Do the work directly in your own session. | |
| Single worker (1) | Offload a noisy investigation, test/build diagnosis, or isolated module change to keep raw logs out of your context. | Spawn 1 worker, wait for completion, verify its output artifact. | |
| Fan-out / Map-Reduce | $N$ independent modules, files, or hypotheses with disjoint write scopes. | Map: launch $N$ workers in one shell call; each writes a compact result/file. Reduce: wait for all in one shell loop, then synthesize/verify. | |
| Staged pipeline | Sequential phases with hard gates (Scan -> Implement -> Review/Test). | Run Phase 1 workers to produce a compact plan/diff; gate Phase 2 on verified Phase 1 output. | |
| Hierarchical (Lieutenants) | Large multi-subsystem work where flat fan-out would bottleneck the lead agent. | Delegate each subsystem to a lieutenant worker that coordinates its own sub-workers and returns one verified summary. |
2) Choose worker mode: one-shot vs interactive
- One-shot / non-interactive mode (default for discrete tasks):
Pass the task prompt directly on the command line (e.g., pi -p --no-session "...", codex exec "..."). The worker runs to completion and exits, avoiding TUI startup races, modal prompts, and multi-turn polling.
- Interactive / TUI mode (for iterative multi-turn steering or human handoff):
Start the interactive CLI (pi, codex), wait for the UI to settle, and send prompts via oly send. Keep the session alive only while follow-up turns are needed.
3) Low-token orchestration patterns
Every extra LLM turn in the lead agent re-sends the full conversation history. Minimize lead-agent turns and context growth:
- Batch launch + wait in ONE shell call (the "orchestration program"):
Never spend separate tool calls to start Worker A, start Worker B, wait on A, wait on B, and inspect exit codes. Run an entire phase in a single shell block: ```sh # Fan-out + wait + check exit codes in a single tool call: id_a=$(oly start --detach --disable-notifications --title "fix-mod-a" --cwd /path/to/repo \ pi -p --no-session "Edit ONLY mod_a.py to <goal>. Run <check>. Print a 3-line summary.") id_b=$(oly start --detach --disable-notifications --title "fix-mod-b" --cwd /path/to/repo \ pi -p --no-session "Edit ONLY mod_b.py to <goal>. Run <check>. Print a 3-line summary.")
oly logs "$id_a" --tail 25 --wait exit --timeout 5m oly logs "$id_b" --tail 25 --wait exit --timeout 5m oly info "$id_a" --json | grep -E '"status"|"exit_code"' oly info "$id_b" --json | grep -E '"status"|"exit_code"' ```
- Exchange compact artifacts via the filesystem, not raw scrollback:
For research, scanning, or multi-phase flows, instruct each worker to write findings to a dedicated file (e.g., /tmp/flow/worker-a.md) and print only a short summary. The lead agent reads the compact file instead of ingesting hundreds of lines of terminal output.
- Crystallize state between phases:
Across multi-phase workflows, distil verified findings, file ownership, and interfaces into a concise shared brief (e.g., /tmp/flow/context.md) and pass that file path to next-phase workers instead of forwarding raw logs.
- Optional push reporting via `$OLY_SESSION_ID`:
oly injects OLY_SESSION_ID into every session's environment. When an interactive parent or lieutenant coordinates workers, it can pass its own $OLY_SESSION_ID in the prompt so workers push a completion note with oly send <parent-id> -- "DONE: ..." (plus oly send <parent-id> key:enter). Still verify results from the worker's own output/files.
4) Supervising interactive TUI workers
When running an interactive agent CLI instead of one-shot mode:
- `--` free-text rule:
oly send <ID> -- '...'disableskey:/mouse:parsing for all remaining arguments and does not press Enter. Always sendoly send <ID> key:enteras a separate command. - Wait exit codes:
0condition met,2timeout,1error.--wait exitreturns0even if the child failed; always checkexit_codeinoly info <ID> --json. - Observe after input:
oly sendonly confirms PTY delivery. On TUI menus/modals, send one step, inspectoly logs <ID> --screen, then decide the next step.
5) Safety, write scopes, and verification
- Disjoint write scopes: Every worker prompt must state: (a) exact objective, (b) explicit allowed files (and forbidden files), (c) instruction to stay strictly within
<cwd>(no parent//filesystem scans), (d) validation command to run, and (e) concise report format. Never let parallel workers edit the same file or rungit reset/git checkout/git commitover shared state. - Approval boundaries: Answer routine, in-scope questions from task context. Never auto-approve destructive operations, credential/secret access, unexpected network calls, broad permission escalation, or ambiguous product decisions — pause and ask the user.
- Human co-op: Check
attach_countinoly ls --jsonbefore typing into a session a human might be controlling. - Verify observable outcomes: Neither
input_needed,idle,program_status: "done", echoed input, nor a stopped session proves success. Verify actual diffs (git diff/ file contents), test results, and childexit_codebefore reporting completion. - Clean up only your own sessions: Stop interactive workers you started and no longer need (
oly stop <ID> --grace 5). Retain logs until verification is complete. Never stop the shared daemon (oly daemon stopkills all live sessions).
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/oly-subagent/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/slaveoftime/open-relay/oly-subagent)