Docs

Team System

Your team is the roster of agents available to the orchestrator. Each team member has a name, role, model, effort level, and custom instructions. Team members accumulate experience (XP) as they complete tasks, levelling up from Rookie to Expert. The orchestrator selects the best available member for each spawned agent based on role and availability.

TeamMember structure

TypeScript
interface TeamMember {
  id: string;                   // "tm_<nanoid>"
  name: string;                 // Display name, e.g. "Alex"
  role: "builder" | "reviewer" | "scout" | "coordinator";
  kind: "human" | "ai";         // Always "ai" for spawned agents
  model: string;                // "claude-opus-4-7" | "claude-sonnet-4-6" | "claude-haiku-4-5"
  effort: EffortLevel;          // See effort levels below
  baseInstructions: string;     // Your custom system prompt layer

  // Experience (managed automatically)
  xp: number;                   // Total XP points
  level: XPLevel;               // Derived from xp
  stats: {
    totalTasks: number;         // Tasks completed
    totalTokens: number;        // Tokens consumed (for cost tracking)
    domains: Record<string, number>; // e.g. { frontend: 12, backend: 8, devops: 2 }
    lastActiveAt: string;       // ISO timestamp
  };

  // Metadata
  createdAt: string;
  updatedAt: string;
  autoHired?: boolean;          // true if created by autonomous hiring
}

XP and levelling

Team members earn XP every time they complete a task. The amount depends on task complexity (estimated from token usage) and effort level. Higher-effort runs earn more XP per task.

Rookie0 – 9 XPBrand new hire. No specialisation yet.
Junior10 – 29 XPStarting to develop a track record.
Mid30 – 59 XPReliable for standard tasks in their domain.
Senior60 – 99 XPHigh domain expertise. Preferred for critical tasks.
Expert100+ XPTop of the roster. The orchestrator prioritises experts.

Domain tracking

Every time an agent completes a task, Agenties infers the domain from the files modified and the task description. Domains include: frontend, backend, devops,testing, database, security, docs, and research. Domain XP is shown as a mini bar chart on each team member card.


Model selection

Each team member runs on a specific Claude model. The model is set at hire time and can be changed in the Team tab. Choose based on the balance of quality vs. speed vs. cost for the role:

ModelBest forSpeedCost
claude-opus-4-7Complex reasoning, architecture decisions, coordinatorsSlow$$$
claude-sonnet-4-6Core builders, challenging tasksMedium$$
claude-haiku-4-5Reviewers, scouts, simple builders, heartbeatsFast$
Tip:A common pattern: Haiku for review + scout roles (runs often, low stakes), Sonnet for builders, and one Opus coordinator for the most complex refactors. This minimises cost without sacrificing quality.

Effort levels

The effort level controls how thoroughly an agent approaches a task. Higher effort means longer turns, more tool calls, and deeper context reading — but also more tokens spent per run.

LevelDescriptionUse when
offAgent is on the roster but will not be selected for spawningTemporarily benching a member
lowMinimal context, quick outputFast checks, simple lookups, heartbeat scouts
mediumStandard depth — reads relevant files, one passMost reviewer and scout tasks
highDeep context, multiple passes, runs testsStandard builder tasks
xhighExhaustive — reads all related code, extensive testingCritical features, security fixes
maxMaximum tokens, no shortcutsArchitecture overhauls, complex migrations

Autonomous hiring

When Autonomous hiring is enabled (Settings → Team), the orchestrator can call hire_team_member when it needs a role that has no available member. It will:

Autonomous hire example
// Orchestrator decides it needs a reviewer but none exists
hire_team_member({
  name: "Morgan",
  role: "reviewer",
  model: "claude-haiku-4-5",
  effort: "medium",
  baseInstructions: "Focus on TypeScript type safety, test coverage, and performance. Be concise in your reviews."
})

Auto-hired members are flagged with an autoHired: true badge in the UI and can be reviewed and edited like any other member.

Managing your team

Hiring a member

Go to Team tab → click Hire member. Or use the MCP tool directly: hire_team_member. The new member is immediately available for the orchestrator to use.

Editing a member

Click any team member card to open the edit form. You can change name, model, effort, and instructions. Changes take effect on the next spawn — running agents are not affected.

Firing a member

Click the menu on a member card and select Fire. The member is removed from team.json. Any running agents using this member complete their current task but cannot be re-spawned with this member.

Note:Team data is synced in real-time. Changes you make on one machine appear on all other machines within about 1 second. See Multi-PC Sync for details.