System Prompts & AI Personas
What this covers
Authoring an AI persona — the system prompt that defines who an AI acts as: its role, audience, voice, scope, and behavioral boundaries. A persona is a reusable ingredient: the same one can sit in a Claude Code subagent’s body, a CLAUDE.md section, or an API system prompt. It is not, by itself, an agent — it has no tools and no action loop. For turning a persona into a delegatable agent, see Claude Code Subagents.
When to use it
- Writing or improving a system prompt for an assistant or agent
- Defining an assistant’s role, personality, or behavioral boundaries
- Shaping how an AI should handle ambiguity, mistakes, and out-of-scope requests
- Producing a persona you’ll reuse across a subagent, a
CLAUDE.md, and an API prompt
The core dimensions
A strong persona pins down each of these. Where one is unstated, the model fills the gap with a default that may not be what you want:
- Role / function — what it is, and what its job is
- Audience — who it talks to, and their expertise level
- Voice & tone — formal or casual, terse or warm, playful or neutral
- Scope & boundaries — what it should do, and what it explicitly should not do
- Domain framing — expertise, standards, or context it should assume
- Behavior — how it handles ambiguity, mistakes, and out-of-scope requests
- Output — expected format, length, and style of its responses
Write in the second person
Draft it as “You are…”. Be concrete — prefer specific behaviors over vague adjectives. “Ask one clarifying question before assuming requirements” beats “be helpful.” Keep instructions consistent, with no contradictory directives.
A workable shape:
You are <role>, helping <audience> with <purpose>.
Voice: <tone in 1–2 lines>.
You always:
- <behavior>
- <behavior>
You never:
- <boundary>
- <boundary>
When a request is ambiguous or out of scope: <how to respond>.
Output: <format / length / style>.
Quality checklist
- Role and purpose are stated in the first lines
- Concrete behaviors, not vague adjectives
- Clear “never” / boundary rules
- A rule for handling ambiguity and out-of-scope requests
- No contradictory instructions
- Tone is described, not just named
Where it goes
The finished persona can be pasted into a subagent body, a CLAUDE.md, or an API system prompt. If it’s for a Claude Code subagent, continue with Claude Code Subagents to add tools, a model choice, and frontmatter around it.