Skip to main content

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

Each spawn creates a tmux pane and registers the agent in the PostgreSQL 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 PostgreSQL mailbox table:

Team Chat

Broadcast messages visible to all team members, stored in the PostgreSQL team_chat table:

Agent Registry

All spawned agents are tracked globally in the PostgreSQL agents 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.