Persona Builder — Data-Driven Customer Avatars for Creative Teams
Transform raw customer research into vivid, actionable buyer personas. Each persona is a creative targeting tool — not a demographic spreadsheet. Every persona ends with a mini creative brief that angle-generator can directly consume.
Orchestration
Search the workspace for a research file (
*-research.md). If multiple exist, ask which product to build personas for. If none exist, tell the user: "No research file found. Run customer-research first to fetch customer voice data." and stop.Read the research file's YAML frontmatter for a quick validation pass — check
stage: research,quotescount (≥50),p1_coverage, andfire3_count. Then validate the body has the data needed:- Quotes with intensity scores (needed for pain point ranking)
- Journey stage tags (needed for journey entry point clustering)
- Language clusters (needed for language fingerprint per persona)
- Competitive positioning data (needed for competitive relationship section)
- If any are missing, warn the user the research may need to be re-run.
Check
.claude/creative-strategist.local.mdfor product context.Build personas following the construction process below.
Save output as
[product-slug]-personas.mdin the workspace.Present a summary:
- Persona names and one-line core tensions
- Anti-persona name and why they'll never convert
- The highest-weight differentiating dimension across personas
- Suggest running angle-generator next
Inputs
Upstream data to consume
The customer-research output includes data that must be explicitly ingested:
- Emotional intensity scores (fire 1-3) — identify which pain points hit hardest per persona
- Journey stage tags — determine where each persona enters the funnel
- Language clusters (frustration, hope, skepticism, urgency, relief) — assign relevant clusters to each persona
- Competitive positioning map — determine each persona's relationship with alternatives
- Surprising findings — check if any findings challenge initial persona hypotheses
Persona Construction
1. Cluster by behavior, not demographics
Demographics describe people. Behavior predicts response to ads. Cluster on these behavioral axes:
Primary clustering axes (use at least 2):
- Journey entry point — Where do they enter the funnel? Pre-aware people who stumbled on the problem need different creative than solution-aware comparison shoppers.
- Prior solution history — Naive first-timers vs. jaded veterans who've "tried everything." This single axis often creates the sharpest persona splits.
- Conviction pattern — What type of evidence converts them? Some need social proof. Some need data. Some need risk-reversal. Some need authority.
Secondary axes (use to sharpen if clusters overlap):
- Pain intensity — casual annoyance vs. desperate urgency
- Purchase motivation — buying for self vs. someone else vs. professional use
- Price relationship — price-sensitive bargain hunters vs. "just tell me the best one" premium buyers
Method:
- Sort all 🔥3 quotes from the research into piles by behavioral similarity
- Check if the piles align with journey stage clusters from the research
- Merge piles that would respond to the same ad creative
- Split piles where the same ad would fail for part of the group
- Validate: if two personas would respond identically to the same hook, proof, and CTA — they're the same persona
Aim for 2-4 distinct personas. More than 4 usually means overlap. Fewer than 2 means the research wasn't deep enough.
2. Build each persona
Read references/persona-framework.md for calibration examples. For each persona:
# Persona: [Name]
## Naming Principles
The name should encode the core tension or defining behavior — not just demographics.
- Good: "The Burned Buyer" (encodes prior failure), "The Secret Sufferer" (encodes hidden pain), "The Reluctant Upgrader" (encodes resistance)
- Bad: "Young Professional Sarah" (just demographics), "The Buyer" (too generic), "Persona A" (meaningless)
The name should be instantly evocative — a creative team should understand the persona's deal from the name alone.
### The Snapshot
- **Age Range**: [from research signals, not assumptions]
- **Gender Skew**: [if data supports it — "mixed" if unclear]
- **Life Situation**: [relevant context from research]
- **Income Signal**: [price-sensitive? premium-seeking? evidence from quotes]
- **Journey Entry Point**: [Pre-aware / Problem-aware / Solution-aware — where they typically enter]
- **Prior Solution History**: [naive / 1-2 attempts / veteran who's tried everything]
### The Decision Journey Monologue
5-8 sentences in first person that trace the FULL decision arc — not just emotions, but the sequence: trigger -> search -> evaluate -> hesitate -> decide (or abandon). Use language directly from research data. This monologue should reveal:
- What pushed them to start looking (trigger)
- How they search and what they find (discovery)
- What they compare and how (evaluation)
- What almost stops them (objection)
- What would tip them over the edge (conversion signal)
### The Trigger Event
- **Primary trigger**: [most common from research, with intensity score]
- **Secondary triggers**: [other situations]
- **Trigger frequency**: [one-time event or recurring frustration?]
### Pain Points (ranked by intensity, not just frequency)
1. [Most intense — use their words, cite intensity score] — Journey stage: [stage]
2. [Second — their words] — Journey stage: [stage]
3. [Third — their words] — Journey stage: [stage]
### Desired Outcome
- **Stated desire**: What they'd say if asked (surface)
- **Deeper desire**: What they really mean (emotional core)
- **Evidence**: [quote that reveals the gap between stated and deeper]
### Objections & Skepticism
1. [Objection in their words] — Intensity: 🔥[X] | What would overcome it: [evidence type]
2. [Objection] — Intensity: 🔥[X] | What would overcome it: [evidence type]
### What They've Already Tried
- [Solution] — Why it failed: [specific reason from research]
- [Solution] — Why it failed: [specific reason]
(Skip this section for naive first-timer personas)
### Competitive Relationship
- **Current alternative**: [what they're using now or considering]
- **What they like about it**: [from competitive positioning map]
- **What they wish were different**: [gap = opportunity]
- **Switching barrier**: [what would need to be true to switch]
### Language Fingerprint
Key phrases this persona actually uses, organized by emotional register:
- **Frustration**: "[phrase]", "[phrase]"
- **Hope**: "[phrase]", "[phrase]"
- **Skepticism**: "[phrase]", "[phrase]"
(Pull directly from the language clusters in research synthesis)
### Attention & Platform Patterns
- **Where they search**: [Google? Reddit? TikTok? Ask friends?]
- **Content they trust**: [reviews? videos? expert articles? UGC?]
- **When they're receptive**: [late night scrolling? active research mode? impulse?]
- **Platform affinity**: [which ad platforms reach them in the right mindset?]
(Infer from research signals — where the quotes came from reveals where the persona lives)
### Creative Brief for This Persona
This is the direct handoff to angle-generator and creative teams:
| Field | Value |
|-------|-------|
| Lead with | [the single most resonant pain point or desire — the thing that stops them scrolling] |
| Prove with | [testimonial? demo? data? guarantee? — the evidence type that converts this persona] |
| Avoid | [what will make them scroll past or distrust — the anti-pattern] |
| CTA style | [urgency? risk-reversal? curiosity? social proof?] |
| Best platform | [where to reach them + why] |
| Hook archetype | [fear? empathy? curiosity? authority? humor?] |
3. Build the anti-persona
Identify 1-2 customer types who will NEVER convert, no matter the creative. This prevents wasted ad spend.
# Anti-Persona: [Name]
### Who they are
[Brief description]
### Why they'll never convert
- [Reason 1 — structural, not just "not interested"]
- [Reason 2]
### How to recognize them in targeting
- [Signals in their behavior or demographics that flag them]
### Research evidence
- "[Quote that reveals why this person is not a fit]"
Common anti-personas: DIY loyalists who will never buy a product, people who need a different product category entirely, tire-kickers who research obsessively but never buy.
4. Create weighted comparison matrix
Weight each dimension by its importance for creative differentiation. High-weight dimensions are where personas diverge enough to require different ad creative.
| Dimension | Weight | Persona 1 | Persona 2 | Persona 3 |
|---|---|---|---|---|
| Journey Entry Point | High | |||
| Core Pain | High | |||
| Prior Solutions Tried | High | |||
| Conviction Pattern | High | |||
| Trigger Type | Med | |||
| Price Sensitivity | Med | |||
| Platform Affinity | Med | |||
| Demographics | Low |
If two personas are identical on all High-weight dimensions, merge them.
5. Save output
Save as [product-slug]-personas.md in the workspace. Include YAML frontmatter:
---
product: "[product-slug]"
stage: personas
generated: "[YYYY-MM-DD]"
persona_count: [N]
persona_names: ["Name 1", "Name 2"]
anti_persona: "[Name]"
research_file: "[product-slug]-research.md"
---
Quality Standards
- Every persona element traces back to actual research data — no fabrication
- Decision journey monologue traces the full arc (trigger -> search -> evaluate -> hesitate -> decide), not just emotions
- Personas are clustered by behavior, not demographics — the comparison matrix proves differentiation on high-weight dimensions
- Language fingerprint is organized by emotional register and directly usable for copywriting
- Creative brief per persona is tight and specific enough that a copywriter could start writing immediately
- Anti-persona is included with structural reasons, not just "not the target"
- At least one persona addresses a cluster revealed by the Surprising Findings from research
Common Mistakes
- Creating personas based on who the marketer wants to sell to rather than who actually buys
- Making all personas the same person with slightly different demographics
- Using marketer language instead of customer language
- Skipping "what they've already tried" — this is gold for Failed-Solution ad angles
- Creating too many personas — 4 max
- Writing monologues that are emotion dumps instead of decision journey traces
- Ignoring the anti-persona — every product has people who will waste ad spend
Reference Files
references/persona-framework.md— Complete persona examples with creative briefs, calibrated across verticals