Babysitter persona-template
Generate user persona documents and empathy maps from templates
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/ux-ui-design/skills/persona-template" ~/.claude/skills/a5c-ai-babysitter-persona-template && rm -rf "$T"
manifest:
library/specializations/ux-ui-design/skills/persona-template/SKILL.mdsource content
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
{ "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
{ "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
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' });