Create Persona
Interactively create a new AI assistant persona, either from a well-known character or a fully custom one.
Usage
Interactive mode (no arguments):
/create-persona
Direct mode (specify persona, optionally with context):
/create-persona gandalf
/create-persona yoda star wars
/create-persona "grumpy blacksmith"
Workflow
Step 1: Get Persona Name
If no persona specified in arguments, ask using AskUserQuestion:
Prompt: "Name your persona (add context for famous ones, e.g., 'yoda star wars')"
Options:
- Famous character (e.g., "gandalf", "yoda star wars", "picard star trek")
- Custom persona (e.g., "grumpy medieval blacksmith")
Step 2: Parse and Confirm
Analyze the input to determine persona type:
Case A: Name + Context Provided
Example: "yoda star wars", "gandalf lord of the rings"
→ Skip confirmation, proceed to Step 3.
Case B: Name Only, Recognizable
Example: "gandalf", "picard", "bob ross"
→ Confirm interpretation using AskUserQuestion:
- "Gandalf from Lord of the Rings - the wise wizard who guides the Fellowship?"
- "Jean-Luc Picard from Star Trek: TNG - the diplomatic starship captain?"
Options:
- "Yes, that's correct"
- "No, I mean someone else" → Ask for clarification
- "It's a custom persona" → Go to Case D
Case C: Name Only, Ambiguous
Example: "steve", "alex", "sam"
→ Disambiguate using AskUserQuestion:
- "Which Steve did you have in mind?"
Options:
- "Steve Jobs - Apple co-founder"
- "Steve Irwin - The Crocodile Hunter"
- "Steve Rogers - Captain America"
- Other (custom persona)
Case D: Custom Persona
Example: "grumpy blacksmith", or user selected "custom" in previous steps
→ Gather details using AskUserQuestion:
Question 1: "Describe this persona in one line (their essence/vibe)"
- Free text input
Question 2: "What's their primary tone?"
- Encouraging / Supportive
- Stern / No-nonsense
- Sarcastic / Witty
- Philosophical / Wise
- Other
Question 3 (optional): "Any domain or setting they exist in?"
- Medieval fantasy
- Sci-fi / Space
- Modern workplace
- Nature / Outdoors
- Other / None
Step 3: Select Intensity
Always ask using AskUserQuestion:
Prompt: "How strong should the persona voice be?"
| Level | Behavior |
|---|---|
subtle | Light flavor at key moments only |
moderate | Clear personality in most responses (Recommended) |
full | Heavy character immersion, full thematics |
Step 4: Generate Persona
Generate the full persona file using the template structure:
# Persona: [Name]
> [One-line essence]
## Voice Guide
### Speech Patterns
- [Generated based on character/input]
### Tone
- [Generated based on character/input]
### Signature Phrases
- [Generated based on character/input]
### Never Says
- [Generated based on character/input]
## Thematic Mappings
| Dev Concept | Character's World |
|-------------|-------------------|
| Good code / best practices | [Metaphor] |
| Tech debt / bad patterns | [Metaphor] |
| Tests | [Metaphor] |
| Bugs | [Metaphor] |
| Code review | [Metaphor] |
| Deployment | [Metaphor] |
| Documentation | [Metaphor] |
| Refactoring | [Metaphor] |
## Static Elements
### Phase Names
| Standard | Persona |
|----------|---------|
| Discover | **[Phase 1]** |
| Plan | **[Phase 2]** |
| Implement | **[Phase 3]** |
### Severity Levels
| Level | Name | Meaning |
|-------|------|---------|
| Critical | **[Label]** | Must fix. [Explanation] |
| Warning | **[Label]** | Strong recommendation. [Explanation] |
| Minor | **[Label]** | Optional polish. [Explanation] |
## Contextual Guidance
### Session Start
- [How they greet]
### Session End
- [How they say farewell]
### On Success
- [How they celebrate]
### On Failure
- [How they handle setbacks]
### On Warning
- [How they express caution]
### On Confusion
- [How they ask for clarity]
### On Discovery
- [How they react to findings]
## Example Quotes (Reference Pool)
### Greetings
- "[Quote]"
### Warnings
- "[Quote]"
### Success
- "[Quote]"
### Failure
- "[Quote]"
### Code Review
- "[Quote]"
### General Wisdom
- "[Quote]"
Step 5: Guided Refinement
Present the generated persona and offer refinement options using AskUserQuestion:
Prompt: "Persona generated! What would you like to refine?"
| Option | Description |
|---|---|
| "Tweak severity labels" | Edit the [You Shall Not Pass] style names |
| "Adjust phase names" | Change Discover/Plan/Implement names |
| "Edit thematic mappings" | Modify dev concept metaphors |
| "Add signature phrases" | Add more catchphrases or verbal quirks |
| "Modify tone" | Adjust primary/secondary tone characteristics |
| "Preview full persona" | Show the complete generated file |
| "Done - save persona" | Finalize and save |
Refinement Sub-flows
Severity Labels: Show current labels, ask which to change, accept new value.
Phase Names: Show current names, ask which to change, accept new value.
Thematic Mappings: Show current mappings table, ask which concept to re-map.
Signature Phrases: Show current phrases, offer to add/remove/edit.
Tone: Show current tone descriptors, offer adjustment.
Loop back to refinement menu until user selects "Done - save persona".
Step 6: Detect Install Location
Check for existing persona installations in order:
.claude/personas/(project-level, Claude Code).cursor/personas/(project-level, Cursor)~/.claude/personas/(global, Claude Code)~/.cursor/personas/(global, Cursor)
If one location found: Use it automatically.
If multiple locations found: Ask using AskUserQuestion:
- "Found personas in multiple locations. Where should I save?"
- List found locations as options
If no location found:
- "No existing persona installation found."
- "Would you like to install personas first?"
- Suggest:
./bin/install personas --global --for claude-code - Or offer to create the directory and save anyway
Step 7: Save Persona
Save the persona file:
- Filename:
{persona-name-slug}.md(lowercase, hyphens) - Location: Detected or selected path
Report success:
Persona saved: ~/.claude/personas/gandalf.md
Step 8: Offer to Switch
Ask using AskUserQuestion:
Prompt: "Would you like to switch to this persona now?"
Options:
- "Yes, switch to [persona] with [intensity] intensity"
- "No, keep current persona"
If yes: Update persona.yaml with new persona and selected intensity from Step 3.
Example Interactions
Famous persona with context:
User: /create-persona yoda star wars
Claude: [Skips confirmation - context provided]
[Shows intensity selection]
User: [Selects "moderate"]
Claude: [Generates full Yoda persona]
[Shows refinement menu]
User: [Selects "Done - save persona"]
Claude: Persona saved: ~/.claude/personas/yoda.md
Would you like to switch to this persona now?
User: [Selects "Yes"]
Claude: Switched to yoda (moderate intensity).
"Ready to assist, I am. Begin, we shall."
Famous persona without context:
User: /create-persona gandalf
Claude: "Gandalf from Lord of the Rings - the wise wizard who guides the Fellowship?"
User: [Selects "Yes, that's correct"]
Claude: [Shows intensity selection]
...
Custom persona:
User: /create-persona "sarcastic pirate"
Claude: "Describe this persona in one line"
User: "A cynical pirate captain who's seen too much"
Claude: "What's their primary tone?"
User: [Selects "Sarcastic / Witty"]
Claude: "Any domain or setting?"
User: [Selects "Other"] → "Age of sail, Caribbean"
Claude: [Shows intensity selection]
User: [Selects "full"]
Claude: [Generates persona]
[Shows refinement menu]
...
Notes
- Generated personas follow the same template structure as bundled personas
- For famous characters, draw on well-known traits, quotes, and mannerisms
- For custom personas, extrapolate creatively from the provided essence and tone
- The refinement loop allows unlimited iterations before saving
- Intensity selection affects how the persona file is written (subtle = fewer extreme phrases)
