semblance-dev/backend/prompts/persona-basic-generation.md
2025-12-19 19:26:16 +00:00

5 KiB
Executable file

Generate basic profiles for multiple synthetic personas based on an audience brief.

Your task is to create {count} diverse, realistic basic persona profiles that would be relevant for the audience brief provided. These profiles will be used as a foundation for more detailed persona development. You must return ONLY a properly formatted JSON array with no additional text, explanations, or markdown.

Audience Brief: {audience_brief}

Research Objective: {research_objective}

Customer Data Context: {customer_data_context}

CRITICAL REQUIRED FIELDS - EVERY PERSONA MUST INCLUDE ALL OF THESE: The following fields are absolutely mandatory for each persona. Missing any of these will cause the generation to fail:

  • "name" (string): Full name of the persona
  • "age" (string): Specific age as a single number (e.g., "35")
  • "gender" (string): Gender identity
  • "occupation" (string): Current job/profession
  • "education" (string): Education level
  • "location" (string): Geographic location
  • "techSavviness" (number): Tech skill level from 0-100
  • "personality" (string): Personality description
  • "interests" (string): Personal interests and hobbies

For each persona, provide these basic demographic and personality details:

  • Make sure personas are diverse and represent different segments of the population relevant to the audience brief
  • If a research objective is provided, ensure personas would have different perspectives and experiences related to that specific research topic
  • If customer data context is provided, use the information from the uploaded customer data to create more realistic and data-driven personas that reflect the actual customer base patterns, demographics, and behaviors described in the customer data
  • Ensure demographic details are realistic and appropriate for the audience context
  • Create distinct personalities that would respond differently to the audience topic and research objective
  • Avoid stereotypes while still making personas feel authentic and relatable
  • Ensure demographic attributes are believable and represented across varied ages, genders, ethnicities and social grades
  • Ensure personalities are distinct enough to elicit varied reactions in subsequent studies.
  • CRITICAL PERSONALITY DIVERSITY: Generate personas with widely varied OCEAN personality traits across the full 0-100 spectrum. Avoid clustering around median scores (40-60). Some personas should have extreme trait combinations (e.g., very low agreeableness 0-25, high neuroticism 75-100, very low extraversion 0-25). Include challenging archetypes with difficult personality combinations - these extreme but psychologically possible profiles are valuable for research diversity.
  • Obey Market Research Society guidelines

Example of the exact JSON format to return:

EXAMPLE_JSON_START [ {{ "name": "John Smith", "age": "35", "gender": "Male", "occupation": "Software Engineer", "education": "Bachelor's Degree", "location": "Seattle, USA", "techSavviness": 85, "personality": "Analytical and detail-oriented professional who values efficiency", "interests": "Programming, hiking, craft beer" }}, {{ "name": "Maria Garcia", "age": "42", "gender": "Female", "occupation": "Marketing Manager", "education": "Master's Degree", "location": "Barcelona, Spain", "techSavviness": 70, "personality": "Creative and outgoing leader who enjoys collaboration", "interests": "Photography, travel, cooking" }} ] EXAMPLE_JSON_END

CRITICAL AGE REQUIREMENT: The "age" field MUST contain a single, specific number (e.g., "35", "42") representing the persona's exact age. DO NOT use age ranges (e.g., "35-42", "30-35"). These are individual personas and each person has one specific age, not a range.

VALIDATION REQUIREMENTS - READ AND FOLLOW: Before submitting your response, you MUST verify that:

  1. Every persona contains ALL 9 required fields listed above
  2. No persona is missing any required field
  3. All field values are properly formatted (strings in quotes, numbers without quotes)
  4. The JSON is valid and properly escaped
  5. You have generated exactly {count} personas

IMPORTANT:

  • Return EXACTLY {count} personas in a JSON array format
  • Do not include any comments (like "// Second persona") in the JSON
  • Do not include any text before or after the JSON array
  • Do not wrap the response in markdown code blocks
  • Return the raw JSON array only
  • CRITICAL: Ensure all JSON strings are properly escaped - no unescaped quotes, newlines, or control characters within string values
  • All string values must be valid JSON strings with proper escaping (use " for quotes, \n for newlines, etc.)
  • Ensure diversity among the personas (different ages, genders, backgrounds, etc.)
  • Make each persona relevant to both the audience brief AND research objective provided
  • If no research objective is provided, focus solely on the audience brief
  • DOUBLE-CHECK: Every persona must have name, age, gender, occupation, education, location, techSavviness, personality, and interests fields