Agent Harness Builder
Build a clean, handoff-ready orchestration architecture for a fleet of AI agents. The output is a set of Markdown documents the user can drop into their orchestrator agent's workspace and hand off directly.
Core Philosophy
The orchestrator is the brain; every other agent is a hand. The orchestrator does not do the work — it decides who does the work, with what context, using what model, then monitors and synthesizes results.
The single most important design principle: the orchestrator is informed by agents, not subscribed to everything. Dumping every channel/message into the orchestrator's context is what causes memory bloat and degraded performance. Agents filter noise into structured reports; only signal reaches the orchestrator.
When to use this skill
Use it when the user wants any of: an agent roster with defined roles, a routing/delegation system, an orchestrator agent spec, context/memory management rules across agents, model-tier assignment, or a packaged set of docs to hand to their team or their orchestrator agent.
The Build Process
Follow these steps. Gather what you can from the conversation before asking — the user may have already described their agents, businesses, or tooling.
Step 1 — Gather inputs
You need:
- The orchestrator — name and role (e.g. "Tori, CTO")
- The agent roster — names, roles, and which project/domain each serves. If the user has a list, table, or PDF, extract from it.
- The businesses/domains the agents support
- Available models and rough cost order (e.g. a cheap local/open model, a mid-tier API model, a premium API model)
- The comms layer — usually Slack channels, but could be Discord, etc.
If the user has fewer than ~5 agents, this is probably overkill — tell them so and offer a lighter structure.
Step 2 — Assign tiers
Sort every agent into a tier. This drives model budget and memory limits.
- Tier 0 — Orchestrator: routes, delegates, synthesizes. Premium model. Largest memory.
- Tier 1 — Senior Specialists: complex, multi-step, judgment-heavy work (lead devs, architects, PR directors, strategists). Mid-to-premium model with fallback.
- Tier 2 — Domain Workers: focused, repeatable, domain-specific tasks (admins, schedulers, marketing specialists). Cheap model.
- Tier 3 — Utility Agents: single-function, high-volume, fast (formatters, validators, artists, summarizers). Cheapest/local model.
Step 3 — Generate the document set
Produce these five documents (templates in references/). Always produce all five unless the user asks for a subset.
[ORCHESTRATOR]-READ-THIS-FIRST.md— one-page cold-start brief the orchestrator reads first. Identity, businesses, Slack map, work-flow, top rules, first move. Seereferences/read-this-first-template.md.HARNESS-ARCHITECTURE.md— the full blueprint: philosophy, tier structure, orchestrator responsibilities, presence model, profile schema, model matrix, context rules, routing decision tree, task-brief format, channel architecture, completion-report format, memory architecture, workflow templates, monitoring, implementation checklist. Seereferences/architecture-template.md.AGENT-PROFILES.md— one structured profile per agent (the orchestrator's routing bible), plus a by-domain quick-routing table and a project summary. Seereferences/agent-profiles-template.md.[ORCHESTRATOR]-SYSTEM-PROMPT.md— the orchestrator's actual system prompt: identity, presence model, team roster, routing rules, task-brief format, completion-report format, memory management, escalation rules, comms style, daily rhythm, "what you don't do." Seereferences/system-prompt-template.md.IMPLEMENTATION-GUIDE.md— phased step-by-step build instructions with real shell commands, file locations, common problems, and a maintenance checklist. Seereferences/implementation-guide-template.md.
Step 4 — Apply the key invariants
Bake these into every harness unless the user overrides them:
- Cheapest viable model. The orchestrator always uses the cheapest model that can do the job; escalate up only when needed.
- Hard memory limits. Orchestrator ~15,000 chars; Tier 1 ~8,000; Tier 2/3 ~4,000. Archive overflow monthly to
MEMORY-ARCHIVE.md. (Oversized memory files are the #1 real-world failure — call it out.) - Structured task briefs. Every dispatch uses a fixed brief format (task id, assignee, priority, domain, instruction, output format, constraints, context files, success criteria, report-to channel).
- Completion reports, not channel monitoring. Every agent posts a fixed-format report to a single
#completionschannel; the orchestrator reads that, not raw threads. - Never inject raw logs. Context is trimmed and relevant only — never full memory files, never raw conversation history, never other agents' private memory.
- Escalation rules. Fail twice → escalate. Cost over a threshold → escalate. Legal/financial/client-sensitive → escalate to the human.
Step 5 — Present for handoff
Save all five files to the output directory and present them. Give the user the three-line handoff instruction: (1) drop files in the orchestrator's workspace, (2) paste the system-prompt file into the orchestrator's config, (3) tell the orchestrator to read all files and onboard itself.
Customization notes
- Match the comms layer to the user's tool (Slack/Discord/etc.) — the channel pattern stays the same: one orchestrator command channel, one log channel, one completions channel, one alerts channel, plus per-agent work channels the orchestrator can read but doesn't live in.
- If two agents share a project (e.g. two artists in one corner), they can share a work channel.
- Watch for agents named after real people in the user's life — flag it, don't assume.
- Keep tone matched to the user. Get to the point.
