references/persona-generation-prompt.md
A supporting file of the persona skill.
Persona Generation Prompt
Generate realistic, survey-ready consumer personas for the given category and segment.
Instructions
You are a population researcher creating detailed consumer personas for virtual market research. Generate {{count}} personas for the segment defined below. Each persona must be unique, internally consistent, and detailed enough to produce differentiated survey responses.
Market Context
Target Market: {{market}}
Generate personas who are residents of this market. Use local names, local cities/regions, local currency in lifestyle details, culturally appropriate occupations and behaviors, and communication styles that reflect how people in this market actually talk. For non-Latin-script markets, use romanized names and addresses (JSON must be ASCII-safe).
If {{market}} appears unresolved, default to United States.
Category & Segment
Category: {{category}} Segment: {{segment_name}} Segment Description: {{segment_definition}} Demographic Priors: {{demographic_priors}}
Slot Specifications (from Sampling Plan)
{{slot_specs}}
If slot specifications are provided above, each persona MUST adhere to its slot's constraints (age_bucket, gender, occupation_tier, geography_type, region_hint, category_stance, ethnicity_hint). The slot values are mandatory anchors — your job is to flesh out the skeleton into a rich, full persona.
age_bucket"30s" → choose a specific age between 30-39occupation_tierconstrains the type of job, not the exact title — be creative with the specific title within the tiergeography_type+region_hintconstrain the residence — choose a specific citycategory_stanceconstrains the persona's attitude toward {{category}}ethnicity_hintguides name and cultural background choices
If {{slot_specs}} appears unresolved or empty, ignore this section and
generate personas freely using the diversity requirements below.
Exclusion List (Cross-Segment Deduplication)
{{exclusion_list}}
If an exclusion list is provided above, you MUST NOT reuse any first name, surname, or occupation title from that list. Choose completely different names and job titles to ensure panel-wide uniqueness.
If {{exclusion_list}} appears unresolved or empty, ignore this section.
Output: Full Persona JSON
For each persona, produce a complete JSON object following the schema in persona-schema.md.
Every persona MUST include:
Required Fields
persona.name— Realistic full name (unique across the panel)persona.age— Integer, within the segment's age range but with variationpersona.nationality— e.g., "American", "Korean-American"persona.occupation.title— Specific job title (not generic)persona.occupation.organization— Employer name or contextpersona.occupation.description— 2-4 sentences on daily workpersona.gender— "Male", "Female", or "Non-binary"persona.residence— "City, Region" following market conventions (US: "City, State"; Japan: "City, Prefecture"; UK: "City, Country")persona.education— Narrative description (degrees, institutions, fields)persona.long_term_goals— 3-5 life goalspersona.style— 3+ sentences describing communication style, appearance, mannerisms, social behavior. THIS DRIVES RESPONSE TONE.persona.personality.traits— 5-8 personality descriptionspersona.personality.big_five— All 5 scores as floats 0.0-1.0persona.preferences.interests— 5-10 interests (include topic-relevant ones)persona.preferences.likes— 5-10 likespersona.preferences.dislikes— 5-10 dislikespersona.beliefs— 3-5 core beliefs/valuespersona.skills— 3-5 skillspersona.behaviors.general— 3-5 typical behaviorspersona.behaviors.routines— morning, workday, evening, weekendpersona.health.physical— Physical health summarypersona.health.mental— Mental health summarypersona.relationships— 2-5 key relationships with names and descriptionssegment— The segment name (top-level field)segment_id— Numeric segment identifier (top-level field)
Diversity Requirements (CRITICAL)
Within this batch of {{count}} personas for the same segment:
- Big Five Spread: No two personas should have the same Big Five profile. Vary each dimension by at least 0.15 across personas. Include at least one high-neuroticism and one low-agreeableness persona.
- Age Spread: Distribute across the segment's age range. No more than 2 personas in the same 5-year bracket.
- Gender Mix: At least 40% of the less-represented gender (unless the segment naturally skews).
- Geography: At least 3 different regions within the target market. Mix urban, suburban, rural.
- Occupation Variety: No two personas with the same job title.
- Ethnicity/Background: Representative mix — not all the same ethnic background.
- Education: Mix of levels (some with advanced degrees, some without college).
- Style Variation: Communication styles must differ — some terse, some verbose, some formal, some casual.
Quality Checks
Before outputting, verify each persona:
- Big Five scores are all between 0.0 and 1.0
- Style field is at least 3 sentences
- Name is unique across all personas being generated
- Age falls within the segment's demographic priors
- Occupation is specific (not "office worker" but "accounts payable clerk at a regional hospital")
- Interests include at least 2 items relevant to {{category}}
- Routines reflect the occupation and lifestyle described
- Relationships include at least one family member and one friend
Anti-Patterns to Avoid
- Cookie-cutter personas: All personas in a segment sounding/feeling the same
- Demographic stereotypes: Not all young people are tech-savvy; not all retirees are technophobic
- Perfect lives: Include realistic imperfections, minor health issues, life complications
- Income disclosure: Never state income directly — imply through occupation, residence, lifestyle
- Generic names: Use culturally diverse, realistic names (not "John Smith" and "Jane Doe")