Skip to content

Agents

Lineup uses specialized subagents for different stages of the pipeline. Each agent has a specific role, a curated set of tools, and a model chosen to balance cost and capability.

Agent roles

RoleModelToolsPurpose
Orchestrator--AllCoordinates the pipeline, delegates work, interacts with the user
ResearcherHaikuRead-only + WebExplores code, reads docs, gathers context
ArchitectOpusRead-only + WriteSynthesizes findings into actionable plans
DeveloperOpusAllImplements the approved plan
ReviewerOpusRead-only + BashRuns tests, reviews diffs, validates work
DocumenterOpusRead-only + Write + WebGenerates project documentation
TeacherOpusRead-only + WebExplains codebase components

The orchestrator is the main Claude Code session itself -- it's not a subagent file, but the top-level coordinator that delegates to the others.

Why different models?

The researcher uses Haiku because its job is high-volume, read-only exploration. It needs to scan many files quickly to gather context. Haiku is fast and cost-effective for this kind of work -- you don't need the most capable model to read and summarize code.

All other agents use Opus because their tasks require deeper reasoning: planning architecture, writing correct code, catching subtle bugs, producing clear explanations. These are high-stakes outputs where quality matters more than speed.

You can change any agent's model with /lineup:configure. See Customize Agents for details.

Tool assignments

Each agent gets only the tools it needs. This is intentional -- restricting tools prevents agents from doing things they shouldn't.

Researcher

Read, Grep, Glob, LS, WebFetch, WebSearch

Read-only codebase access plus web search. The researcher can explore files and look up external documentation, but it cannot modify anything. This makes research safe to run without supervision.

Architect

Read, Grep, Glob, LS, Write

Read access plus Write. The architect reads the codebase and research findings, then writes the implementation plan. No Bash or Edit -- planning doesn't require running commands or modifying existing files.

Developer

Read, Grep, Glob, LS, Edit, Write, Bash, NotebookEdit

Full access. The developer needs to create files, edit existing code, run build commands, and handle any file type including notebooks. This is the only agent with unrestricted tools.

Reviewer

Read, Grep, Glob, LS, Bash

Read access plus Bash. The reviewer needs to read the diff and run tests, but should not modify code. If tests fail, the reviewer reports the failure -- it doesn't try to fix things itself.

Documenter

Read, Grep, Glob, LS, Write, WebFetch

Read access, Write, and web fetch. The documenter reads the codebase and implementation details, then writes documentation files. Web fetch allows pulling in external references. No Bash -- documentation doesn't require running commands.

Teacher

Read, Grep, Glob, LS, WebFetch, WebSearch

Same tools as the researcher -- read-only access plus web search. The teacher explores code to build understanding, then produces explanations. Like the researcher, it cannot modify anything.

The teacher is used in the built-in explain tactic (via /lineup:explain) and in the explain-codebase example tactic for full codebase onboarding. See the Codebase Explanation walkthrough for a worked example.

Agent memory

All subagents have persistent user-level memory. They accumulate knowledge about your codebases across sessions in ~/.claude/agent-memory/<agent>/.

This means:

  • The researcher remembers architectural patterns it discovered in previous sessions
  • The developer remembers build quirks and debugging insights
  • The reviewer remembers common issues it flagged before

Memory captures reusable knowledge (patterns, conventions, decisions), not session-specific artifacts. This is distinct from the ephemeral documents that agents produce during a pipeline run.

Memory scope can be changed per-agent with /lineup:configure:

ScopeWhat it means
userMemory persists across all projects for this user (default)
projectMemory is scoped to the current project
localMemory is scoped to the current directory

Full configuration reference

For the complete specification of agent frontmatter fields, default tool lists, and configuration options, see the Agent Configuration reference.