
User Persona Creation
- 442 installs
- 305 repo stars
- Updated March 4, 2026
- aj-geddes/useful-ai-prompts
user-persona-creation is a Claude Code skill that creates research-backed user personas with goals, pains, and scenarios so positioning, roadmap bets, and messaging target real segments instead of generic everyone assump
About
user-persona-creation is an agent skill from aj-geddes/useful-ai-prompts for defining research-backed user personas before product decisions harden. It guides developers and product thinkers through goals, pains, and usage scenarios so positioning, roadmap bets, and messaging aim at concrete segments instead of vague everyone audiences. Teams reach for user-persona-creation during discovery workshops, PRD drafting, or messaging reviews when assumptions need explicit persona anchors backed by research notes or interview themes. The skill outputs structured persona artifacts—segment names, motivations, friction points, and scenario narratives—that downstream specs, marketing copy, and feature prioritization can reference consistently.
- Interview-to-persona synthesis
- Goals pains and triggers
- Scenario and journey sketches
- Segment prioritization cues
- Messaging angle extraction
User Persona Creation by the numbers
- 442 all-time installs (skills.sh)
- Ranked #788 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill user-persona-creationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 442 |
|---|---|
| repo stars | ★ 305 |
| Last updated | March 4, 2026 |
| Repository | aj-geddes/useful-ai-prompts ↗ |
How do you create research-backed user personas for product positioning?
Create research-backed user personas with goals, pains, and scenarios so positioning, roadmap bets, and messaging target real segments instead of generic 'everyone' assumptions.
Who is it for?
Product-minded developers and PMs in early discovery who need explicit personas with goals and pains before committing roadmap or messaging choices.
Skip if: Teams already running full quantitative segmentation studies with large survey datasets who need statistical clustering instead of narrative persona templates.
When should I use this skill?
A developer or PM needs research-backed user personas with goals, pains, and scenarios for positioning, roadmap bets, or messaging—not generic everyone assumptions.
What you get
Structured user personas documenting segment goals, pains, scenarios, and messaging hooks for roadmap and positioning decisions.
Files
User Persona Creation
Table of Contents
Overview
User personas synthesize research into realistic user profiles that guide design, development, and marketing decisions.
When to Use
- Starting product design
- Feature prioritization
- Marketing messaging
- User research synthesis
- Team alignment on users
- Journey mapping
- Success metrics definition
Quick Start
Minimal working example:
# Gather data for persona development
class PersonaResearch:
def conduct_interviews(self, target_sample_size=12):
"""Interview target users"""
interview_guide = {
'demographics': [
'Age, gender, location',
'Job title, industry, company size',
'Experience level, education',
'Salary range, purchasing power'
],
'goals': [
'What are you trying to achieve?',
'What's most important to you?',
'What does success look like?'
],
'pain_points': [
'What frustrates you about current solutions?',
'What takes too long or is complicated?',
'What prevents you from achieving goals?'
],
'behaviors': [
'How do you currently solve this problem?',
'What tools do you use?',
// ... (see reference guides for full implementation)Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Research & Data Collection | Research & Data Collection |
| Persona Template | Persona Template |
| Multiple Personas | Multiple Personas |
| Using Personas | Using Personas |
Best Practices
✅ DO
- Base personas on real research, not assumptions
- Include 2-3 primary personas
- Make personas specific and detailed
- Include direct user quotes
- Update personas based on new data
- Share personas across organization
- Use personas for all product decisions
- Include both goals and pain points
- Create personas for different user types
- Document research sources
❌ DON'T
- Create personas without research
- Create too many personas (>4 primary)
- Make personas too generic
- Ignore data in favor of assumptions
- Create personas, then forget them
- Use personas only for design
- Make personas unrealistically perfect
- Ignore secondary users
- Keep personas locked away
- Never update personas
Multiple Personas
Multiple Personas
// Create persona set for comprehensive coverage
class PersonaFramework {
createPersonaSet(research_data) {
return {
primary_personas: [
{
name: "Sarah (VP Product)",
percentage: "35%",
influence: "High",
role: "Decision maker",
},
{
name: "Mike (Team Lead)",
percentage: "40%",
influence: "High",
role: "Daily user, key influencer",
},
{
name: "Lisa (Admin)",
percentage: "25%",
influence: "Medium",
role: "Setup and management",
},
],
secondary_personas: [
{
name: "John (Executive)",
percentage: "10%",
influence: "Medium",
role: "Budget approval",
},
],
anti_personas: [
{
name: "Enterprise IT Director",
reason: "Not target market, different needs",
avoid: "Marketing to large enterprise buyers",
},
],
};
}
validatePersonas(personas) {
return {
coverage: personas.reduce((sum, p) => sum + p.percentage, 0),
primary_count: personas.filter((p) => p.influence === "High").length,
recommendations: [
"Personas cover 100% of target market",
"Focus on 2-3 primary personas",
"Plan for secondary use cases",
"Define clear anti-personas",
],
};
}
createPersonaMap(personas) {
return {
influence_x_axis: "Low → High",
adoption_y_axis: "Slow → Fast",
sarah_vp: { influence: "High", adoption: "Fast" },
mike_lead: { influence: "Very High", adoption: "Very Fast" },
lisa_admin: { influence: "Medium", adoption: "Medium" },
john_executive: { influence: "Very High", adoption: "Slow" },
strategy:
"Focus on Mike (influencer), design for Sarah (buyer), support Lisa (user)",
};
}
}Persona Template
Persona Template
User Persona: Premium SaaS Buyer
---
Research & Data Collection
Research & Data Collection
# Gather data for persona development
class PersonaResearch:
def conduct_interviews(self, target_sample_size=12):
"""Interview target users"""
interview_guide = {
'demographics': [
'Age, gender, location',
'Job title, industry, company size',
'Experience level, education',
'Salary range, purchasing power'
],
'goals': [
'What are you trying to achieve?',
'What's most important to you?',
'What does success look like?'
],
'pain_points': [
'What frustrates you about current solutions?',
'What takes too long or is complicated?',
'What prevents you from achieving goals?'
],
'behaviors': [
'How do you currently solve this problem?',
'What tools do you use?',
'How do you learn about new solutions?'
],
'preferences': [
'How do you prefer to communicate?',
'What communication channels do you use?',
'When are you most responsive?'
]
}
return {
'sample_size': target_sample_size,
'interview_guide': interview_guide,
'output': 'Interview transcripts, notes, recordings'
}
def analyze_survey_data(self, survey_data):
"""Synthesize survey responses"""
return {
'demographics': self.segment_demographics(survey_data),
'pain_points': self.extract_pain_points(survey_data),
'goals': self.identify_goals(survey_data),
'needs': self.map_needs(survey_data),
'frequency_distribution': self.calculate_frequencies(survey_data)
}
def analyze_user_data(self):
"""Use product analytics data"""
return {
'feature_usage': 'Which features are most used',
'user_segments': 'Behavioral groupings',
'conversion_paths': 'How users achieve goals',
'churn_patterns': 'Why users leave',
'usage_frequency': 'Active vs inactive users'
}
def synthesize_data(self, interview_data, survey_data, usage_data):
"""Combine all data sources"""
return {
'primary_personas': self.identify_primary_personas(interview_data),
'secondary_personas': self.identify_secondary_personas(survey_data),
'persona_groups': self.cluster_similar_users(usage_data),
'confidence_level': 'Based on data sources and sample size'
}Using Personas
Using Personas
Applying Personas to Product Decisions:
---
// Component: [Name]
// TODO: Customize for your framework (React, Vue, Svelte, etc.)
import React from 'react';
interface Props {
// TODO: Define props
}
export function ComponentName({ }: Props) {
// TODO: Add state and effects
return (
<div>
{/* TODO: Add component markup */}
</div>
);
}
Related skills
How it compares
Choose user-persona-creation for narrative persona packs early in discovery; use analytics-heavy skills later when behavior data should validate or refine segments.
FAQ
What fields does user-persona-creation cover?
user-persona-creation covers research-backed personas with goals, pains, and scenarios. These fields anchor positioning, roadmap bets, and messaging so teams target named segments instead of generic everyone assumptions.
When should teams invoke user-persona-creation?
Teams invoke user-persona-creation during early discovery—workshops, PRD drafting, or messaging reviews—when they need explicit persona artifacts before locking features or go-to-market copy.
Does user-persona-creation replace user interviews?
user-persona-creation structures persona outputs from research themes and interview notes. It does not replace interviewing users; it organizes findings into goals, pains, and scenarios product docs can reference.