Best use case
persona-template is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Generate user persona documents and empathy maps from templates
Teams using persona-template should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/persona-template/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How persona-template Compares
| Feature / Agent | persona-template | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Generate user persona documents and empathy maps from templates
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Persona Template Skill
## Purpose
Generate professional user persona documents and empathy map visualizations from structured data and templates.
## Capabilities
- Fill persona templates with research data
- Generate persona cards in multiple formats
- Create empathy map visualizations
- Export to PDF, PNG, and Markdown
- Support multiple persona template styles
- Generate persona comparison views
## Target Processes
- persona-development.js (personaDocumentationTask)
- user-research.js (personaCreationTask)
## Integration Points
- Template engines (Handlebars, EJS)
- PDF generation (Puppeteer, PDFKit)
- Image generation for persona cards
## Input Schema
```json
{
"type": "object",
"properties": {
"personaData": {
"type": "object",
"properties": {
"name": { "type": "string" },
"photo": { "type": "string" },
"demographics": {
"type": "object",
"properties": {
"age": { "type": "number" },
"occupation": { "type": "string" },
"location": { "type": "string" },
"education": { "type": "string" }
}
},
"goals": { "type": "array", "items": { "type": "string" } },
"frustrations": { "type": "array", "items": { "type": "string" } },
"behaviors": { "type": "array", "items": { "type": "string" } },
"quote": { "type": "string" },
"bio": { "type": "string" }
}
},
"empathyMap": {
"type": "object",
"properties": {
"says": { "type": "array" },
"thinks": { "type": "array" },
"does": { "type": "array" },
"feels": { "type": "array" }
}
},
"templateStyle": {
"type": "string",
"enum": ["minimal", "detailed", "visual", "ux-agency"],
"default": "detailed"
},
"outputFormat": {
"type": "string",
"enum": ["pdf", "png", "markdown", "html"],
"default": "markdown"
}
},
"required": ["personaData"]
}
```
## Output Schema
```json
{
"type": "object",
"properties": {
"personaDocument": {
"type": "string",
"description": "Path to generated persona document"
},
"empathyMapDocument": {
"type": "string",
"description": "Path to generated empathy map"
},
"cardImage": {
"type": "string",
"description": "Path to persona card image"
},
"markdownContent": {
"type": "string",
"description": "Markdown content if applicable"
}
}
}
```
## Usage Example
```javascript
const result = await skill.execute({
personaData: {
name: 'Sarah Chen',
demographics: {
age: 34,
occupation: 'Product Manager',
location: 'San Francisco, CA'
},
goals: ['Streamline team workflows', 'Reduce meeting overhead'],
frustrations: ['Too many tools', 'Information silos'],
quote: 'I need to see the big picture while managing details'
},
empathyMap: {
says: ['We need better collaboration'],
thinks: ['Is there an easier way?'],
does: ['Checks multiple apps daily'],
feels: ['Overwhelmed by notifications']
},
templateStyle: 'detailed',
outputFormat: 'pdf'
});
```Related Skills
persona-development
Create comprehensive artist personas including identity, backstory, artistic voice, visual aesthetic, discography arc, and character traits for consistent music generation
bash-script-template
Generate bash script templates with best practices including error handling, argument parsing, logging, and portability considerations.
code-template-manager
Manage and generate competitive programming templates
prompt-template-design
Structured prompt template creation with variables, formatting, and version control
template-scaffolding
Template loading, variable filling, and scaffolding for all GSD artifacts. Manages 22+ templates covering every document type in the GSD system, from PROJECT.md to milestone archives.
process-builder
Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.
babysitter
Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)
yolo
Run Babysitter autonomously with minimal manual interruption.
user-install
Install the user-level Babysitter Codex setup.
team-install
Install the team-pinned Babysitter Codex workspace setup.
retrospect
Summarize or retrospect on a completed Babysitter run.
resume
Resume an existing Babysitter run from Codex.