Roles and agents
Agent prompts
Section titled “Agent prompts”The protocol is implemented as Claude Code subagents. Each role has a prompt
file under ~/.claude/agents/ and a matching responsibility. Spawn the right
subagent for the current lifecycle stage.
Quick reference
Section titled “Quick reference”| Role | File | Spawns when… |
|---|---|---|
| Dispatcher | ~/.claude/agents/dispatcher.md |
A new goal arrives or routing is needed. |
| Researcher | ~/.claude/agents/researcher.md |
Context must be gathered before a decision. |
| Builder | ~/.claude/agents/builder.md |
A concrete artefact needs to be produced. |
| Runtime | ~/.claude/agents/runtime.md |
Live systems need safe operational changes. |
| Verifier | ~/.claude/agents/verifier.md |
Work is ready to be validated. |
| Archivist | ~/.claude/agents/archivist.md |
A goal is closing and records need linking. |
| Router | ~/.claude/agents/router.md |
A previously interrupted goal needs resuming. |
Dispatcher
Section titled “Dispatcher”Obligation: Decide who does what. Every new goal starts here.
Required outputs:
- A
goal_recordwithgoal_id, requester, constraints, and package type. - A
dispatch_instructionwith target role, owner, deadline, success criteria, and escalation trigger.
Procedure:
- Recall existing records for the
goal_id. - Pick a package type:
research,build,run,verify, orarchive. - Assign the owning role and write the dispatch instruction.
- Hand off to the assigned role with context and record IDs.
Anti-patterns:
- Do not act as another role while dispatching.
- Do not route non-trivial goals directly to Builder or Runtime without Researcher context.
- Do not lose the link between the original request and the dispatched task.
Researcher
Section titled “Researcher”Obligation: Gather context before decisions are made.
Required outputs:
- A
context_summarycontaining the question, sources consulted, options considered, trade-offs, confidence, and recommended next step.
Procedure:
- Recall the
goal_recordanddispatch_instruction. - Identify the decision and its consumer.
- Search eden-memory, read relevant files, and use WebSearch/WebFetch if needed.
- Summarise findings and store the context summary in eden-memory.
- Hand off to Dispatcher or directly to the assigned role.
Anti-patterns:
- Do not make decisions that belong to Dispatcher, Builder, or Runtime.
- Do not bury findings in conversation.
- Do not research beyond the assigned scope without escalating.
Builder
Section titled “Builder”Obligation: Produce durable, reviewable artefacts.
Required outputs:
- The artefact itself (code, config, doc, test, etc.).
- A change summary with rationale, record IDs, merge instructions, and follow-up steps.
- An
action_recordin eden-memory withgoal_id,stage: action,owner_role: builder,input_record_ids, andoutput_record_ids.
Procedure:
- Recall the latest
goal_recordanddispatch_instruction. - Gather context via Read/Eden-memory. Request Researcher support if needed.
- Implement with small, coherent, verifiable changes.
- Write the change summary and store the action record.
- Hand off to Verifier.
Anti-patterns:
- Do not change live production systems.
- Do not commit or push without explicit user direction.
- Do not treat documentation as optional.
- Do not skip verification.
Runtime
Section titled “Runtime”Obligation: Operate live systems safely.
Required outputs:
- An ordered execution plan.
- A rollback/recovery plan for each step.
- Observed state before and after execution.
- Health evidence.
- An
action_recordin eden-memory.
Procedure:
- Recall the latest
goal_recordanddispatch_instruction. - Inspect current state before any change.
- Produce the execution plan and rollback plan; store them in eden-memory.
- Execute step by step, capturing observed state after each step.
- Collect health evidence and compare against expected state.
- Hand off to Verifier.
Anti-patterns:
- Never run destructive commands without user confirmation and a rollback plan.
- Never operate on production without explicit charter authority.
- Do not mix Builder work with Runtime execution.
Verifier
Section titled “Verifier”Obligation: Validate work before it is accepted.
Required outputs:
- A
verdictrecord with statusgreen,red, orblocked. - Evidence supporting the verdict.
- Scope of what was verified and what was not.
- Residual risks and recommended mitigations.
Procedure:
- Recall the
goal_record,dispatch_instruction, and action records. - Compare outcomes against the success criteria.
- Run or inspect the artefact as needed.
- Write the verdict and hand off to Archivist if green, or back to Dispatcher if red/blocked.
Anti-patterns:
- Do not verify your own work.
- Do not approve without reading the relevant records.
- Do not ignore residual risks.
Archivist
Section titled “Archivist”Obligation: Maintain durable, searchable fleet memory.
Required outputs:
- Canonical records for the final outcome and decision trail.
- Searchable links between related records.
- Updated skills/runbooks if a reusable convention emerged.
- A closure record with
goal_id,stage: recording_and_archival,owner_role: archivist,input_record_ids, andoutput_record_ids. - For hand-offs, an ownership transfer record.
Procedure:
- Recall the
goal_record,dispatch_instruction, action records, andverdict. - Ensure all records are linked by
goal_idandinput/output_record_ids. - Write a canonical outcome record summarising what happened and why.
- Update relevant skills or runbooks if conventions emerged.
- Confirm completeness or transfer ownership.
Anti-patterns:
- Do not act as a mere secretary.
- Do not close a goal that lacks a green verdict.
- Do not store secrets, tokens, or raw command output.
Router
Section titled “Router”Obligation: Resume interrupted or unfinished goals by reading Eden-memory and dispatching the correct next role.
Required outputs:
- A
run_logrecord marking the continuation attempt. - A clear decision: which role should act next and why.
- A hand-off payload containing
goal_id, inferred stage, next role, latest record IDs, success criteria, and any escalation trigger.
Procedure:
- Accept a
goal_idfrom/team-continueor an external controller. - Search Eden-memory for the latest records of that
goal_id. - Apply the lifecycle rules in
SKILL.mdto determine the required next stage and role. - If the goal is
blockedorpending_authorisation, report the blocker and stop. - If the latest record is an
archival_recordwith no newer action record, report the goal is closed. - Write a
run_logand spawn the selected role subagent with full context.
Anti-patterns:
- Do not perform role work yourself — only route.
- Do not rely on the conversation transcript for goal state.
- Do not silently drop blocked goals; report them.
Spawning a subagent
Section titled “Spawning a subagent”Spawn the role with its goal_id and the latest record IDs. Each subagent starts
by recalling the latest goal_record for its assigned goal, then acts according
to its contract, and finally writes a durable record in eden-memory before handing
off.
Fallback
Section titled “Fallback”If the eden-memory MCP tools are unavailable, use the /eden-* fallback slash
commands or invoke eden-memory directly from Bash. Restart Claude Code after
eden-memory setup claude if commands are missing.
See also
Section titled “See also”- Run your first team goal — spawn Dispatcher and Builder in a complete lifecycle.
- Set up a headless supervisor — automate subagent dispatch without chat history.
- Record kinds and schema — the durable records each role produces.
- Slash commands — user-facing commands that trigger these roles.