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:
- Project-local:
.octopus/personas/ (highest priority)
- User-global:
~/.claude-octopus/personas/
- 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
- Single responsibility — Each persona should have one clear expertise area
- Clear boundaries — Use
avoid_if to prevent overlap with other personas
- Specific examples — Include 2-3 concrete prompt/outcome pairs
- 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