Addresses Gitea issue #5 (Agent Rails): Explore/Plan agent types are read-only but were recommended for tasks that need to write artifacts. Replaced with write-capability guard in model-tiers.md, steered delegation to scout/search/researcher. Tightened Athanor metaphor across all skills — it IS the oven, plans go into it. Fixed assistant skill to route to Igor.
3.8 KiB
3.8 KiB
Model Tiers for Delegation
Prefer a project-pinned agent from .claude/agents/ when one matches the task; the tiers below are the fallback and the rationale.
| Task type | Tier | subagent_type |
Rationale |
|---|---|---|---|
| Domain knowledge, repeated consultation | adept agent (Opus, long-lived) |
"adept" |
Accumulated priors, informed search, journal continuity; domain-scoped |
| Deep research, bug investigation | Opus-tier research agent | "researcher" |
Depth, reasoning; writes reports, never modifies code |
| Quick fact extraction, version/config lookup | Haiku lookup | "scout" |
Fast, cheap, read-only; at most 2 web pages |
| Code/file lookups, symbol tracing | Sonnet search | "search" |
Read-only; targeted "where is X" lookups |
| Planned implementation | implementer agent | project-pinned or omit (defaults to general-purpose) | Executes plans, verifies with the project's check/test commands |
| Multi-part jobs needing their own subagent fan-out | athanor (Opus-tier, may use Agent/Task tool) |
"athanor" |
Decomposes a brief and runs its own subagents |
| Complex summaries, git fixes, small code changes | Sonnet subagent | omit (defaults to general-purpose) | Capability/speed balance; needs write access |
| Test runs, compiles, commits, linear-data summaries | Haiku subagent | omit (defaults to general-purpose) | Fast, cheap, mechanical; needs Bash and possibly write access |
Rules of thumb:
- One task -> one subagent with an explicit output file path in the workpad.
- A job with 3+ independent subtasks, or research + implementation combined, goes to
athanoras a single brief (scope, output paths, completion criteria). - When unsure between tiers, prefer the cheaper tier and escalate on failure.
Write-capability guard:
ExploreandPlanare READ-ONLY. They cannot use Edit, Write, or NotebookEdit. Never dispatch them for tasks that must produce a file artifact (report, design, plan, research note). Use them only for pure lookups (Explore) or pure planning conversations (Plan) where the answer comes back in the agent's reply text, not as a written file.- Prefer Spire's pinned read-only agents over
Explore.scout(Haiku),search(Sonnet), andresearcher(Opus, can write) are purpose-built and tool-restricted. Usescoutorsearchfor lookups instead ofExplore. - For tasks that produce file output, use write-capable agent types. Omit
subagent_type(defaults to general-purpose) or use a project-pinned agent that has Edit/Write (researcher,adept,athanor). Theresearcheragent is the correct choice for research that must produce a written report.
Sub-delegation guard:
- Sub-delegation guard. Agent types without the Agent tool cannot spawn children:
scout,search,Explore, andPlanare safe leaves.general-purposeandresearcher/implementer agents may have the Agent tool and can sub-delegate — give them explicit "do not delegate" instructions, or route fan-out work toathanoron purpose. Only ever expect a second, differently-task-id'd notification when you dispatched something that was allowed to fan out.
Model selection rules:
- Never dispatch a Fable-tier subagent unless the user explicitly asks. Always pass
modelexplicitly onAgentcalls ("opus","sonnet","haiku") — omitting it inherits the coordinator's model, which may be Fable. Subagents are Opus or lower. - Prefer Opus 4.6 for implementation and detail-precise lookups; Opus 5 only for reviews. Pinned implementer/researcher agents should be Opus 4.6.
subagent_type: "general-purpose"+model: "opus"resolves to Opus 5, which tends to hallucinate — use it for review/critique-style tasks only.
This table can grow — add new agents and heuristics here as they prove out.