Work With Solo Agents
Operate one agent lifecycle through live Solo MCP discovery. Keep scope, ownership, and evidence explicit.
Discover Before Acting
- Call
whoami and confirm actor, Solo process, and effective project.
- Call
help(topic="spawning") before spawning and help(topic="processes") before lifecycle or I/O actions.
- Call
mcp_tools_summary or inspect current tool discovery when expected tools are absent. Treat feature toggles and live schemas as authoritative.
- Preserve effective project unless user explicitly requests another project.
Read agent-lifecycle.md before spawning, routing input, targeting a timer, controlling a process, or recovering from ambiguous identity.
Configure and Check Tools
- Configure saved agent commands/default flags in Solo Settings. Use
extra_args only for one launch.
- Treat Solo as runtime host, not CLI installer. Repair missing CLI or shell environment outside Solo.
- Refresh installation health before diagnosing launch menus; distinguish Ready, Not checked, Missing, Broken, and Disabled.
- Use Runtime Doctor for tool/environment launchability. Keep MCP connection health as separate concern.
- Call
setup_agent_integration only when user asks to add/update Solo guidance in AGENTS.md or CLAUDE.md; review resulting repository diff.
Enforce Process Ownership
- Control only own Solo process and Solo descendants personally spawned during current run.
- Record every returned child
process_id immediately with project, purpose, and related todo or scratchpad.
- Never control parent, sibling, unrelated process, YAML-backed shared process, or another agent's descendants without explicit user or runbook authority naming target.
- Never infer ownership from idle, stopped, completed, or abandoned state. State changes do not transfer authority.
- Keep root/operator responsible for Git, integration, commits, pushes, publishing, and deployment unless explicitly delegated.
Launch One Agent
- Inventory current project processes and capacity. Route the task first; then prefer retasking an owned idle agent that finished its previous task and already matches the routed tool, model, and effort (
send_input a fresh bounded prompt). Never reuse when the task needs a fresh session or a different family.
- Call
list_agent_tools; choose current configured, enabled, launchable installation by task fit.
- Call
spawn_agent; prefer returned installation IDs and live options over remembered schemas.
- Record returned child ID before any later action.
- Prepend returned
agent_instructions to first prompt.
- Send one self-contained prompt with objective, authoritative inputs, owned scope, forbidden work, acceptance checks, and handoff destination. While the child owns that scope, stay read-only on it—route rework back through
send_input rather than co-editing.
Load routing-agent-work through the current host when installed and a lane needs model selection. Use agent-lifecycle.md to apply the route.
Do not spawn when work is tiny, sequential, or shares same edit surface with current agent. Handle it directly.
Prompt and Observe
- Use
send_input only for owned child or explicitly authorized target.
- Inspect status and actual rendered/raw output before follow-up.
- Use an idle timer for delayed follow-up; do not tight-poll or interrupt long TUI work.
- Treat idle and summaries as triage signals, never completion proof.
- Require changed files or artifacts, commands/tests, blockers, remaining risk, and next action in handoff.
Resume and Summarize
- Resume only stopped supported sessions with saved session identity. Do not confuse agent-conversation resume with terminal reattach.
- Treat auto-summary and idle classification as triage only. Inspect actual output and artifacts before declaring completion.
- Remember spawned subagents may skip automatic summaries and summarizer support varies by tool/configuration.
Finish Safely
- Persist useful handoff in todo comment or scratchpad before cleanup.
- Inspect output, files, diff, and checks at relevant layer.
- Leave Git/integration decision to root/operator.
- Cancel stale timers and release owned locks.
- Close or retask owned child in the same pass its task completes, its evidence is reviewed, and its handoff is durable—capture terminal-only findings claim-level first. Unreviewed or partial results keep it open; a finished agent left live or idle after moving on is cruft.
Stop Conditions
Stop and request authority when target ownership is unproven, project scope is wrong, action would affect shared/YAML-backed process, or user has not authorized cross-project or outward-facing work.
1---2name: solo-work-with-agents3description: Configure, health-check, launch, prompt, inspect, resume, summarize, follow up with, and close one Solo-managed agent session. Use for built-in or custom CLI agent setup, launchability, one-off flags, input, output, status, summaries, idle or blocked handling, and owned-agent cleanup. Do not use for multi-agent orchestration or non-Solo agents.4---56# Work With Solo Agents78Operate one agent lifecycle through live Solo MCP discovery. Keep scope, ownership, and evidence explicit.910## Discover Before Acting11121. Call `whoami` and confirm actor, Solo process, and effective project.132. Call `help(topic="spawning")` before spawning and `help(topic="processes")` before lifecycle or I/O actions.143. Call `mcp_tools_summary` or inspect current tool discovery when expected tools are absent. Treat feature toggles and live schemas as authoritative.154. Preserve effective project unless user explicitly requests another project.1617Read [agent-lifecycle.md](references/agent-lifecycle.md) before spawning, routing input, targeting a timer, controlling a process, or recovering from ambiguous identity.1819## Configure and Check Tools2021- Configure saved agent commands/default flags in Solo Settings. Use `extra_args` only for one launch.22- Treat Solo as runtime host, not CLI installer. Repair missing CLI or shell environment outside Solo.23- Refresh installation health before diagnosing launch menus; distinguish Ready, Not checked, Missing, Broken, and Disabled.24- Use Runtime Doctor for tool/environment launchability. Keep MCP connection health as separate concern.25- Call `setup_agent_integration` only when user asks to add/update Solo guidance in `AGENTS.md` or `CLAUDE.md`; review resulting repository diff.2627## Enforce Process Ownership2829- Control only own Solo process and Solo descendants personally spawned during current run.30- Record every returned child `process_id` immediately with project, purpose, and related todo or scratchpad.31- Never control parent, sibling, unrelated process, YAML-backed shared process, or another agent's descendants without explicit user or runbook authority naming target.32- Never infer ownership from idle, stopped, completed, or abandoned state. State changes do not transfer authority.33- Keep root/operator responsible for Git, integration, commits, pushes, publishing, and deployment unless explicitly delegated.3435## Launch One Agent36371. Inventory current project processes and capacity. Route the task first; then prefer retasking an owned idle agent that finished its previous task and already matches the routed tool, model, and effort (`send_input` a fresh bounded prompt). Never reuse when the task needs a fresh session or a different family.382. Call `list_agent_tools`; choose current configured, enabled, launchable installation by task fit.393. Call `spawn_agent`; prefer returned installation IDs and live options over remembered schemas.404. Record returned child ID before any later action.415. Prepend returned `agent_instructions` to first prompt.426. Send one self-contained prompt with objective, authoritative inputs, owned scope, forbidden work, acceptance checks, and handoff destination. While the child owns that scope, stay read-only on it—route rework back through `send_input` rather than co-editing.4344Load `routing-agent-work` through the current host when installed and a lane needs model selection. Use [agent-lifecycle.md](references/agent-lifecycle.md) to apply the route.4546Do not spawn when work is tiny, sequential, or shares same edit surface with current agent. Handle it directly.4748## Prompt and Observe4950- Use `send_input` only for owned child or explicitly authorized target.51- Inspect status and actual rendered/raw output before follow-up.52- Use an idle timer for delayed follow-up; do not tight-poll or interrupt long TUI work.53- Treat idle and summaries as triage signals, never completion proof.54- Require changed files or artifacts, commands/tests, blockers, remaining risk, and next action in handoff.5556## Resume and Summarize5758- Resume only stopped supported sessions with saved session identity. Do not confuse agent-conversation resume with terminal reattach.59- Treat auto-summary and idle classification as triage only. Inspect actual output and artifacts before declaring completion.60- Remember spawned subagents may skip automatic summaries and summarizer support varies by tool/configuration.6162## Finish Safely63641. Persist useful handoff in todo comment or scratchpad before cleanup.652. Inspect output, files, diff, and checks at relevant layer.663. Leave Git/integration decision to root/operator.674. Cancel stale timers and release owned locks.685. Close or retask owned child in the same pass its task completes, its evidence is reviewed, and its handoff is durable—capture terminal-only findings claim-level first. Unreviewed or partial results keep it open; a finished agent left live or idle after moving on is cruft.6970## Stop Conditions7172Stop and request authority when target ownership is unproven, project scope is wrong, action would affect shared/YAML-backed process, or user has not authorized cross-project or outward-facing work.