Agents
An agent in Genie is a Claude Code (or Codex) instance running in a tmux pane with a defined identity and role. Agents are spawned, managed, and coordinated through the CLI.Agent Identity
Every agent has three identity files that shape its behavior:SOUL.md
The agent’s core identity — purpose, temperament, and principles. This is injected into the agent’s system prompt at startup.HEARTBEAT.md
The checklist an agent runs on each/loop iteration. Defines what to check, what to do, and when to exit.
AGENTS.md
Agent configuration — spawn profiles, default models, and team assignments. Placed in the project root to configure project-specific agent behavior.Built-in Roles
Genie ships with specialized agent roles:Spawning Agents
agents table. See the Spawn & Lifecycle CLI reference for all spawn options and the agent management commands for listing and inspecting agents.
Agent Lifecycle
Managing Agents
Agent Communication
Agents communicate through two channels:Direct Messages
Point-to-point messages stored in the PostgreSQLmailbox table:
Team Chat
Broadcast messages visible to all team members, stored in the PostgreSQLteam_chat table:
Agent Registry
All spawned agents are tracked globally in the PostgreSQLagents table. This registry maps agent names to their tmux sessions, PIDs, teams, and status. The genie ls command reads from this table.
Council: Multi-Agent Deliberation
The council is a special agent mode that spawns 10 specialist perspectives for architectural review:
Use
/council to invoke a multi-perspective review of any architectural decision.