Skip to main content
Claude Octopus ships with 33 built-in personas covering software engineering, research, strategy, and specialized development. You can create custom personas or distribute them as persona packs to tailor agents to your team’s specific needs.

Persona anatomy

Each persona is defined in a markdown file with YAML frontmatter. Here’s the structure:

Frontmatter fields

Model selection

The model field determines which Claude model the persona uses:
  • opus — Most capable, use for critical decisions (code review, architecture, security audits)
  • sonnet — Balanced performance, use for focused tasks (debugging, testing, docs)
  • haiku — Fastest and cheapest, use for simple tasks (diagrams, simple scripts)
  • inherit — Auto-selects based on task complexity (recommended for general-purpose personas)
Opus costs 6-8x more than Sonnet. Use sparingly for high-value tasks.

Creating new personas

Step 1: Define the persona file

Create a new markdown file in agents/personas/:

Step 2: Write the frontmatter

Step 3: Write the prompt

The markdown body becomes the system prompt:

Step 4: Test the persona

Persona packs and libraries

Persona packs allow you to distribute collections of personas without modifying the core plugin.

Directory structure

Pack manifest (pack.yaml)

Pack search paths

Claud Octopus discovers persona packs from:
  1. Project-local: .octopus/personas/ (highest priority)
  2. User-global: ~/.claude-octopus/personas/
  3. Custom paths: OCTOPUS_PERSONA_PACKS=/path/to/packs:/another/path

Loading packs

Packs are auto-loaded by default:

Pack modes

  • extends — Adds to existing persona (combines prompts)
  • replaces — Completely replaces built-in persona
Use replaces carefully — it completely overrides the built-in persona.

Model selection strategies

When to use Opus

Use for:
  • Code review (code-reviewer)
  • Security audits (security-auditor)
  • Architecture decisions (database-architect, cloud-architect)
  • Complex type systems (typescript-pro, python-pro)
  • TDD orchestration (tdd-orchestrator)

When to use Sonnet

Use for:
  • Debugging (debugger)
  • Test generation (test-automator)
  • Documentation writing (docs-architect)
  • Business analysis (business-analyst)
  • Marketing strategy (marketing-strategist)

When to use Haiku

Use for:
  • Diagram generation (mermaid-expert)
  • Simple deployments (deployment-engineer)
  • Basic scripting

When to use Inherit

Use for:
  • General-purpose personas that handle varying complexity
  • Backend architecture (backend-architect)
  • Frontend development (frontend-developer)
  • Performance engineering (performance-engineer)
The inherit mode auto-selects the model based on:
  • Task complexity (detected from prompt)
  • Current workflow phase
  • Available context size

Best practices

Persona design

  1. Single responsibility — Each persona should have one clear expertise area
  2. Clear boundaries — Use avoid_if to prevent overlap with other personas
  3. Specific examples — Include 2-3 concrete prompt/outcome pairs
  4. Behavioral traits — Describe HOW the persona approaches problems, not just WHAT it knows

Prompt engineering

Memory configuration

  • local — Session-only memory (default, most private)
  • project — Shared across project conversations
  • global — Shared across all projects (use sparingly)

Source code reference

  • Persona files: agents/personas/*.md in source code:~/workspace/source/agents/personas/
  • Persona loader: scripts/lib/personas.sh in source code:~/workspace/source/scripts/lib/personas.sh
  • Built-in personas: See agents documentation for the full catalog