ads-audience — Audience Persona Builder
Portability note: Self-contained — uses only WebFetch + WebSearch and writes one Markdown file to the CWD. No VPS-only infra. Runs anywhere Claude Code runs.
Skill Purpose
Build 5-7 hyper-detailed audience personas from a business URL. Each persona goes far beyond basic demographics — it maps psychographic profiles, buying triggers, objections, content consumption habits, platform presence, and ready-to-use targeting parameters for Meta, Google, LinkedIn, TikTok, and Pinterest. Includes persona relevance scoring (1-5) and a negative audience section defining who NOT to target. Produces a single, copy-paste-ready deliverable that an ad buyer can immediately use to build campaigns.
When to Use
- User runs
/ads audience <url>
- User asks to build audience personas, customer profiles, or targeting research
- Called as a subagent from
/ads strategy (the main orchestrator)
- User wants to know "who should I target?" for a business
- User needs platform-specific targeting parameters for campaign setup
Dynamic Workflow orchestration
The unit of fan-out here is one persona (plus two cross-cutting units: negative audiences, cross-persona synthesis). Personas are file-disjoint research tasks — parallelize them; the synthesis is your own job.
- Plan. Run Step 1 (Business Intelligence) + Step 2 (Industry Intelligence) ONCE, in the orchestrator. Output: a shared brief (business facts, price tier, geo, customer evidence) that every persona branch reuses. From it, name the 5-7 candidate personas before building any.
- Parallel fan-out. Build the 5-7 personas concurrently — each branch owns ONE persona and fills the full template (Step 3) from the shared brief + persona-specific
WebSearch. No branch may invent business facts; it pulls them from the shared brief or cites its own search.
- Adversarial verify (2-of-3). Before accepting a persona, falsify it through 3 independent lenses; a persona ships only if ≥2 of 3 pass:
- Targetability lens: Are Meta interests / Google keywords / LinkedIn titles REAL, selectable parameters (not invented)? Fail = hallucinated targeting.
- Evidence lens: Do demographics/pain points trace to a source (testimonial, review, industry data) and not just vibes? Fail = uncited assertion.
- Distinctness lens: Is this persona meaningfully different from the others (not the same buyer relabeled)? Fail = duplicate segment — merge or replace.
- Loop-until-dry. If a persona fails ≥2 lenses, regenerate or replace it (re-search, don't retry blind). Stop when you hold 5-7 personas that each pass — never pad to 7 with weak duplicates.
- Synthesize. YOU write Steps 4-6 (scoring matrix, negative audiences, cross-persona insights) over the verified set — never paste a branch's summary as the verdict. The matrix must rank the personas you actually kept.
Single-pass fallback: if running branches isn't available, do the same sequentially — build → run the 3 lenses → keep/replace — one persona at a time. The verify gate is mandatory either way.
Input Requirements
- Required: A business URL to analyze
- Optional: Industry context, existing customer data, geographic focus, budget range
How to Execute
Step 1: Business Intelligence Gathering
Fetch the business URL using WebFetch and extract:
| Data Point |
Where to Find |
| Business name |
Page title, logo, about page |
| Industry/category |
Services offered, product types |
| Value proposition |
Hero section, tagline, about page |
| Price positioning |
Pricing page, product prices, "starting at" language |
| Geographic focus |
Service areas, locations, shipping info |
| Current customers |
Testimonials, case studies, reviews |
| Product/service types |
Product pages, service descriptions |
| Brand tone |
Copy style, imagery, color palette |
| Trust signals |
Certifications, awards, years in business, client logos |
| Content topics |
Blog posts, resources, FAQ sections |
Run supplementary searches:
WebSearch: "[Business Name]" reviews
WebSearch: "[Business Name]" customers testimonials
WebSearch: "[Industry]" target audience demographics
WebSearch: "[Industry]" buyer persona research 2025
WebSearch: "[Competitor]" "who buys" OR "target market" OR "customer profile"
Step 2: Industry Audience Intelligence
Based on the detected industry, pull standard audience benchmarks:
SaaS/Software:
- Decision makers: CTOs, VPs Engineering, Product Managers, IT Directors
- Influencers: Individual contributors who discover tools
- Budget holders: CFOs, COOs, department heads
- Research behavior: G2 reviews, Product Hunt, Reddit, comparison articles
E-commerce:
- Impulse buyers vs. researchers
- Price-sensitive vs. quality-focused segments
- Brand loyal vs. deal hunters
- Social commerce behavior: Instagram shops, TikTok shop, Pinterest
Local Services:
- Emergency/urgent need buyers
- Planned purchase/project buyers
- Referral-driven customers
- Neighborhood/community-oriented segments
Agency/Professional Services:
- Decision timeline: 30-90 day sales cycles
- Committee buyers vs. solo decision makers
- Budget-constrained vs. ROI-focused
- Relationship-driven vs. results-driven
Creator/Course:
- Aspiration-driven buyers
- Career changers vs. skill upgraders
- DIY vs. guided learning preference
- Community seekers vs. content consumers
Step 3: Build Persona Profiles
Build 5-7 personas following this exact structure for each:
Persona Template
### Persona [Number]: [Persona Name] — "[Memorable Tagline]"
**Relevance Score:** [1-5 stars] ★★★★☆
**Revenue Potential:** [Low / Medium / High / Very High]
**Estimated Audience Size:** [Small / Medium / Large]
**Acquisition Difficulty:** [Easy / Moderate / Hard]
**Recommended Priority:** [Primary / Secondary / Tertiary]
---
#### Demographics
| Attribute | Detail |
|---|---|
| Age range | [range] |
| Gender split | [percentage breakdown] |
| Income level | [range and bracket] |
| Education | [level] |
| Job titles | [3-5 specific titles] |
| Company size | [employee range or N/A] |
| Location type | [urban/suburban/rural + specific geos if applicable] |
| Family status | [single/married/parent + relevance] |
| Device usage | [mobile-first / desktop-heavy / multi-device] |
#### Psychographics
| Attribute | Detail |
|---|---|
| Core values | [3-4 values] |
| Aspirations | [what they want to become/achieve] |
| Fears | [what keeps them up at night] |
| Identity | [how they see themselves] |
| Decision style | [analytical/emotional/social proof/authority-driven] |
| Brand affinities | [brands they already buy from] |
| Media consumption | [podcasts, YouTube channels, newsletters, blogs] |
| Social behavior | [lurker/engager/creator + which platforms] |
#### Pain Points (ranked by intensity)
1. **[Pain Point 1]** — [1-2 sentence description of the pain and its impact]
2. **[Pain Point 2]** — [description]
3. **[Pain Point 3]** — [description]
4. **[Pain Point 4]** — [description]
5. **[Pain Point 5]** — [description]
#### Buying Triggers
What makes this persona pull out their wallet RIGHT NOW:
- **Trigger 1:** [specific event or realization]
- **Trigger 2:** [specific event or realization]
- **Trigger 3:** [specific event or realization]
- **Trigger 4:** [specific event or realization]
#### Objections & Hesitations
What stops them from buying:
| Objection | Severity | How to Overcome |
|---|---|---|
| [objection 1] | High/Med/Low | [counter-strategy for ad copy] |
| [objection 2] | High/Med/Low | [counter-strategy] |
| [objection 3] | High/Med/Low | [counter-strategy] |
| [objection 4] | High/Med/Low | [counter-strategy] |
#### Content Consumption Habits
| Platform | Behavior | Content Types They Engage With |
|---|---|---|
| YouTube | [how they use it] | [specific content types] |
| Instagram | [how they use it] | [specific content types] |
| TikTok | [how they use it] | [specific content types] |
| LinkedIn | [how they use it] | [specific content types] |
| Podcasts | [which ones] | [topics] |
| Newsletters | [which ones] | [topics] |
| Reddit | [subreddits] | [discussion types] |
| Google Search | [what they search for] | [query patterns] |
#### Platform Targeting Parameters
**Meta (Facebook/Instagram):**
- Interests: [10-15 specific targetable interests]
- Behaviors: [5-7 behavioral targeting options]
- Lookalike source: [what custom audience to seed from]
- Exclusions: [who to exclude within this targeting]
**Google Ads:**
- Search keywords: [10-15 keywords this persona would search]
- In-market audiences: [Google's in-market segments]
- Affinity audiences: [Google's affinity segments]
- Custom intent keywords: [5-7 high-intent keywords]
**LinkedIn:**
- Job titles: [5-7 exact titles]
- Job functions: [2-3 functions]
- Industries: [3-5 industries]
- Company sizes: [ranges]
- Seniority levels: [levels]
- Skills: [5-7 skills to target]
- Groups: [relevant LinkedIn groups]
**TikTok:**
- Interest categories: [TikTok's interest targeting]
- Behavioral targeting: [video interaction types]
- Creator categories: [types of creators they follow]
- Hashtag targeting: [relevant hashtags]
**Pinterest:**
- Interest targeting: [Pinterest interest categories]
- Keyword targeting: [search terms on Pinterest]
- Actalike audiences: [seed audience description]
#### The Perfect Ad for This Persona
- **Hook angle:** [what opening line would stop their scroll]
- **Emotional trigger:** [the core emotion to tap into]
- **Proof type:** [what evidence convinces them — stats, testimonials, demos, case studies]
- **CTA style:** [soft ask vs. hard ask, what language works]
- **Creative format:** [video/image/carousel + style — UGC, polished, meme, etc.]
Step 4: Persona Scoring Matrix
After building all personas, create a comparison matrix:
## Persona Scoring Matrix
| Persona | Relevance (1-5) | Revenue Potential | Audience Size | Acquisition Cost | Priority |
|---|---|---|---|---|---|
| [Persona 1] | ★★★★★ | Very High | Medium | Moderate | Primary |
| [Persona 2] | ★★★★☆ | High | Large | Easy | Primary |
| [Persona 3] | ★★★★☆ | Medium | Large | Easy | Secondary |
| [Persona 4] | ★★★☆☆ | High | Small | Hard | Secondary |
| [Persona 5] | ★★★☆☆ | Medium | Medium | Moderate | Tertiary |
| [Persona 6] | ★★☆☆☆ | Low | Large | Easy | Tertiary |
Scoring criteria:
- Relevance (1-5): How closely this persona matches the business's ideal customer
- 5 = Perfect match, highest conversion probability
- 4 = Strong match, proven buyer profile
- 3 = Moderate match, needs nurturing
- 2 = Weak match, low conversion expected
- 1 = Marginal match, only target if budget allows
- Revenue Potential: Expected lifetime value of this persona
- Audience Size: How large is this segment on ad platforms
- Acquisition Cost: Estimated relative cost to acquire this persona
- Priority: Primary (target first), Secondary (expand to), Tertiary (test with remaining budget)
Step 5: Negative Audiences
Define who NOT to target. This section saves ad spend and improves ROAS.
## Negative Audiences — Who NOT to Target
### Hard Exclusions (always exclude)
| Audience | Why Exclude | Platform Exclusion Method |
|---|---|---|
| [audience 1] | [reason — tire kickers, wrong intent, etc.] | [how to exclude on Meta, Google, etc.] |
| [audience 2] | [reason] | [exclusion method] |
| [audience 3] | [reason] | [exclusion method] |
| [audience 4] | [reason] | [exclusion method] |
| [audience 5] | [reason] | [exclusion method] |
### Soft Exclusions (exclude in early campaigns, test later)
| Audience | Why Consider Excluding | When to Test |
|---|---|---|
| [audience 1] | [reason] | [conditions for testing] |
| [audience 2] | [reason] | [conditions] |
| [audience 3] | [reason] | [conditions] |
### Negative Keyword Themes (Google Ads)
- [theme 1]: [list of negative keywords]
- [theme 2]: [list of negative keywords]
- [theme 3]: [list of negative keywords]
- [theme 4]: [list of negative keywords]
### Audience Suppression Lists
- **Existing customers:** Suppress from acquisition campaigns (upload customer email list)
- **Past converters:** Suppress from top-of-funnel (use pixel data)
- **Job seekers:** Exclude "[company name] jobs/careers" searches
- **Competitors' employees:** Exclude unless running competitive conquesting
- **Students/researchers:** Exclude unless product is education-focused
Step 6: Cross-Persona Insights
## Cross-Persona Insights
### Shared Pain Points Across All Personas
1. [pain point that appears in 3+ personas]
2. [pain point that appears in 3+ personas]
3. [pain point that appears in 3+ personas]
### Universal Buying Triggers
1. [trigger that works across most personas]
2. [trigger that works across most personas]
### Platform Priority Ranking
Based on where these personas spend time:
1. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]
2. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]
3. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]
4. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]
### Campaign Structure Recommendation
- **Campaign 1 (Primary):** Target Personas [X, Y] on [Platform] — [objective]
- **Campaign 2 (Secondary):** Target Personas [X, Y] on [Platform] — [objective]
- **Campaign 3 (Testing):** Target Persona [X] on [Platform] — [objective]
### Messaging Theme Matrix
| Theme | Persona 1 | Persona 2 | Persona 3 | Persona 4 | Persona 5 |
|---|---|---|---|---|---|
| [theme 1] | Strong | Moderate | Weak | Strong | Moderate |
| [theme 2] | Weak | Strong | Strong | Moderate | Weak |
| [theme 3] | Moderate | Moderate | Strong | Strong | Strong |
Output Format
Save the complete analysis to ADS-AUDIENCE.md in the current working directory.
File structure:
# Audience Persona Report: [Business Name]
> Generated [date] | Source: [URL]
> Ad Readiness — Audience Clarity Score: [X/100]
## Executive Summary
[3-4 sentences: who the ideal customers are, which platforms to prioritize, key insight]
## Persona 1: [Name]
[full persona template]
## Persona 2: [Name]
[full persona template]
[...continue for all 5-7 personas]
## Persona Scoring Matrix
[comparison table]
## Negative Audiences
[full negative audience section]
## Cross-Persona Insights
[shared insights and recommendations]
## Next Steps
1. Start with Persona [X] on [Platform] — highest relevance + largest audience
2. Build lookalike audiences from [seed source]
3. Run `/ads copy <platform>` to generate ad copy tailored to top personas
4. Run `/ads hooks` to generate scroll-stopping hooks for each persona
5. Set up A/B tests between Persona [X] and Persona [Y] messaging
Quality Checklist
Before delivering the output, verify:
Audience Clarity Score (0-100)
Calculate and report at the top of the file:
| Factor |
Weight |
Scoring |
| Persona specificity |
25% |
Generic (0-40) / Detailed (41-70) / Hyper-specific (71-100) |
| Targeting actionability |
25% |
Vague (0-40) / Usable (41-70) / Copy-paste ready (71-100) |
| Pain point depth |
20% |
Surface-level (0-40) / Researched (41-70) / Customer-voice (71-100) |
| Platform coverage |
15% |
1-2 platforms (0-40) / 3-4 platforms (41-70) / 5+ platforms (71-100) |
| Negative audience quality |
15% |
Missing (0) / Basic (1-40) / Detailed with methods (41-100) |
Composite Score = Weighted average across all factors
Output contract (what this skill produces)
- One file:
ADS-AUDIENCE.md in the CWD, with: header (business, date, source URL, Clarity Score), Executive Summary, 5-7 full personas, Persona Scoring Matrix, Negative Audiences, Cross-Persona Insights, Next Steps.
- Self-contained & copy-paste-ready: an ad buyer can lift the targeting parameters straight into Ads Manager / Google Ads / LinkedIn Campaign Manager with no further research.
Verify step (run before claiming done)
- File exists & complete —
ADS-AUDIENCE.md is written and every section above is present (run the Quality Checklist top-to-bottom).
- Targeting is real — spot-check 3 personas: each Meta interest, Google keyword, and LinkedIn title is an actually selectable parameter, not invented. Any fabricated parameter = NOT done; fix and re-verify.
- Each persona passed the 2-of-3 gate — confirm no persona shipped on a single lens; duplicates were merged, not padded.
- Score honest — the Clarity Score is computed from the rubric, not asserted.
Evidence & no-hallucination guardrail
- Cite or cut. Demographics, pain points, and price positioning trace to a source — the fetched page, a
WebSearch result, or named industry data. Unsourced "the customer feels X" is a guess; mark it as an inference or drop it.
- No invented platform parameters. If you can't confirm a Meta interest / Google in-market segment / LinkedIn attribute is real, omit it rather than fabricate. A buyer who pastes a fake interest gets a broken campaign.
- Scope discipline. This skill builds personas only — it does not write ad copy, hooks, or budgets (hand off to
/ads copy, /ads hooks, /ads strategy). Stay on the audience.
- No regression. All pre-existing sections (template, scoring matrix, negative audiences, cross-persona insights, clarity score) are preserved; the workflow additions are surgical.
1---2name: ads-audience3description: Builds 5-7 forensic audience personas from a business URL — demographics, psychographics, pain points, buying triggers, platform-specific targeting (Meta/Google/LinkedIn/TikTok/Pinterest), persona scoring, negative audiences. Use when the user says "/ads audience <url>", "build personas", "buyer personas", "customer profiles", "who should I target", "targeting research", "audience research", or in French "construis les personas", "personas d'audience", "qui cibler", "profils clients", "recherche d'audience". Also runs as a subagent of /ads strategy.4---56# ads-audience — Audience Persona Builder78> **Portability note:** Self-contained — uses only `WebFetch` + `WebSearch` and writes one Markdown file to the CWD. No VPS-only infra. Runs anywhere Claude Code runs.910## Skill Purpose11Build 5-7 hyper-detailed audience personas from a business URL. Each persona goes far beyond basic demographics — it maps psychographic profiles, buying triggers, objections, content consumption habits, platform presence, and ready-to-use targeting parameters for Meta, Google, LinkedIn, TikTok, and Pinterest. Includes persona relevance scoring (1-5) and a negative audience section defining who NOT to target. Produces a single, copy-paste-ready deliverable that an ad buyer can immediately use to build campaigns.1213## When to Use14- User runs `/ads audience <url>`15- User asks to build audience personas, customer profiles, or targeting research16- Called as a subagent from `/ads strategy` (the main orchestrator)17- User wants to know "who should I target?" for a business18- User needs platform-specific targeting parameters for campaign setup1920## Dynamic Workflow orchestration2122The unit of fan-out here is **one persona** (plus two cross-cutting units: negative audiences, cross-persona synthesis). Personas are file-disjoint research tasks — parallelize them; the synthesis is your own job.23241. **Plan.** Run Step 1 (Business Intelligence) + Step 2 (Industry Intelligence) ONCE, in the orchestrator. Output: a shared brief (business facts, price tier, geo, customer evidence) that every persona branch reuses. From it, name the 5-7 candidate personas before building any.252. **Parallel fan-out.** Build the 5-7 personas concurrently — each branch owns ONE persona and fills the full template (Step 3) from the shared brief + persona-specific `WebSearch`. No branch may invent business facts; it pulls them from the shared brief or cites its own search.263. **Adversarial verify (2-of-3).** Before accepting a persona, falsify it through 3 independent lenses; a persona ships only if **≥2 of 3 pass**:27 - **Targetability lens:** Are Meta interests / Google keywords / LinkedIn titles REAL, selectable parameters (not invented)? Fail = hallucinated targeting.28 - **Evidence lens:** Do demographics/pain points trace to a source (testimonial, review, industry data) and not just vibes? Fail = uncited assertion.29 - **Distinctness lens:** Is this persona meaningfully different from the others (not the same buyer relabeled)? Fail = duplicate segment — merge or replace.304. **Loop-until-dry.** If a persona fails ≥2 lenses, regenerate or replace it (re-search, don't retry blind). Stop when you hold 5-7 personas that each pass — never pad to 7 with weak duplicates.315. **Synthesize.** YOU write Steps 4-6 (scoring matrix, negative audiences, cross-persona insights) over the verified set — never paste a branch's summary as the verdict. The matrix must rank the personas you actually kept.3233> Single-pass fallback: if running branches isn't available, do the same sequentially — build → run the 3 lenses → keep/replace — one persona at a time. The verify gate is mandatory either way.3435## Input Requirements36- **Required:** A business URL to analyze37- **Optional:** Industry context, existing customer data, geographic focus, budget range3839## How to Execute4041### Step 1: Business Intelligence Gathering4243Fetch the business URL using `WebFetch` and extract:4445| Data Point | Where to Find |46|---|---|47| Business name | Page title, logo, about page |48| Industry/category | Services offered, product types |49| Value proposition | Hero section, tagline, about page |50| Price positioning | Pricing page, product prices, "starting at" language |51| Geographic focus | Service areas, locations, shipping info |52| Current customers | Testimonials, case studies, reviews |53| Product/service types | Product pages, service descriptions |54| Brand tone | Copy style, imagery, color palette |55| Trust signals | Certifications, awards, years in business, client logos |56| Content topics | Blog posts, resources, FAQ sections |5758Run supplementary searches:5960```61WebSearch: "[Business Name]" reviews62WebSearch: "[Business Name]" customers testimonials63WebSearch: "[Industry]" target audience demographics64WebSearch: "[Industry]" buyer persona research 202565WebSearch: "[Competitor]" "who buys" OR "target market" OR "customer profile"66```6768### Step 2: Industry Audience Intelligence6970Based on the detected industry, pull standard audience benchmarks:7172**SaaS/Software:**73- Decision makers: CTOs, VPs Engineering, Product Managers, IT Directors74- Influencers: Individual contributors who discover tools75- Budget holders: CFOs, COOs, department heads76- Research behavior: G2 reviews, Product Hunt, Reddit, comparison articles7778**E-commerce:**79- Impulse buyers vs. researchers80- Price-sensitive vs. quality-focused segments81- Brand loyal vs. deal hunters82- Social commerce behavior: Instagram shops, TikTok shop, Pinterest8384**Local Services:**85- Emergency/urgent need buyers86- Planned purchase/project buyers87- Referral-driven customers88- Neighborhood/community-oriented segments8990**Agency/Professional Services:**91- Decision timeline: 30-90 day sales cycles92- Committee buyers vs. solo decision makers93- Budget-constrained vs. ROI-focused94- Relationship-driven vs. results-driven9596**Creator/Course:**97- Aspiration-driven buyers98- Career changers vs. skill upgraders99- DIY vs. guided learning preference100- Community seekers vs. content consumers101102### Step 3: Build Persona Profiles103104Build **5-7 personas** following this exact structure for each:105106---107108#### Persona Template109110```markdown111### Persona [Number]: [Persona Name] — "[Memorable Tagline]"112113**Relevance Score:** [1-5 stars] ★★★★☆114**Revenue Potential:** [Low / Medium / High / Very High]115**Estimated Audience Size:** [Small / Medium / Large]116**Acquisition Difficulty:** [Easy / Moderate / Hard]117**Recommended Priority:** [Primary / Secondary / Tertiary]118119---120121#### Demographics122| Attribute | Detail |123|---|---|124| Age range | [range] |125| Gender split | [percentage breakdown] |126| Income level | [range and bracket] |127| Education | [level] |128| Job titles | [3-5 specific titles] |129| Company size | [employee range or N/A] |130| Location type | [urban/suburban/rural + specific geos if applicable] |131| Family status | [single/married/parent + relevance] |132| Device usage | [mobile-first / desktop-heavy / multi-device] |133134#### Psychographics135| Attribute | Detail |136|---|---|137| Core values | [3-4 values] |138| Aspirations | [what they want to become/achieve] |139| Fears | [what keeps them up at night] |140| Identity | [how they see themselves] |141| Decision style | [analytical/emotional/social proof/authority-driven] |142| Brand affinities | [brands they already buy from] |143| Media consumption | [podcasts, YouTube channels, newsletters, blogs] |144| Social behavior | [lurker/engager/creator + which platforms] |145146#### Pain Points (ranked by intensity)1471. **[Pain Point 1]** — [1-2 sentence description of the pain and its impact]1482. **[Pain Point 2]** — [description]1493. **[Pain Point 3]** — [description]1504. **[Pain Point 4]** — [description]1515. **[Pain Point 5]** — [description]152153#### Buying Triggers154What makes this persona pull out their wallet RIGHT NOW:155- **Trigger 1:** [specific event or realization]156- **Trigger 2:** [specific event or realization]157- **Trigger 3:** [specific event or realization]158- **Trigger 4:** [specific event or realization]159160#### Objections & Hesitations161What stops them from buying:162| Objection | Severity | How to Overcome |163|---|---|---|164| [objection 1] | High/Med/Low | [counter-strategy for ad copy] |165| [objection 2] | High/Med/Low | [counter-strategy] |166| [objection 3] | High/Med/Low | [counter-strategy] |167| [objection 4] | High/Med/Low | [counter-strategy] |168169#### Content Consumption Habits170| Platform | Behavior | Content Types They Engage With |171|---|---|---|172| YouTube | [how they use it] | [specific content types] |173| Instagram | [how they use it] | [specific content types] |174| TikTok | [how they use it] | [specific content types] |175| LinkedIn | [how they use it] | [specific content types] |176| Podcasts | [which ones] | [topics] |177| Newsletters | [which ones] | [topics] |178| Reddit | [subreddits] | [discussion types] |179| Google Search | [what they search for] | [query patterns] |180181#### Platform Targeting Parameters182183**Meta (Facebook/Instagram):**184- Interests: [10-15 specific targetable interests]185- Behaviors: [5-7 behavioral targeting options]186- Lookalike source: [what custom audience to seed from]187- Exclusions: [who to exclude within this targeting]188189**Google Ads:**190- Search keywords: [10-15 keywords this persona would search]191- In-market audiences: [Google's in-market segments]192- Affinity audiences: [Google's affinity segments]193- Custom intent keywords: [5-7 high-intent keywords]194195**LinkedIn:**196- Job titles: [5-7 exact titles]197- Job functions: [2-3 functions]198- Industries: [3-5 industries]199- Company sizes: [ranges]200- Seniority levels: [levels]201- Skills: [5-7 skills to target]202- Groups: [relevant LinkedIn groups]203204**TikTok:**205- Interest categories: [TikTok's interest targeting]206- Behavioral targeting: [video interaction types]207- Creator categories: [types of creators they follow]208- Hashtag targeting: [relevant hashtags]209210**Pinterest:**211- Interest targeting: [Pinterest interest categories]212- Keyword targeting: [search terms on Pinterest]213- Actalike audiences: [seed audience description]214215#### The Perfect Ad for This Persona216- **Hook angle:** [what opening line would stop their scroll]217- **Emotional trigger:** [the core emotion to tap into]218- **Proof type:** [what evidence convinces them — stats, testimonials, demos, case studies]219- **CTA style:** [soft ask vs. hard ask, what language works]220- **Creative format:** [video/image/carousel + style — UGC, polished, meme, etc.]221```222223### Step 4: Persona Scoring Matrix224225After building all personas, create a comparison matrix:226227```markdown228## Persona Scoring Matrix229230| Persona | Relevance (1-5) | Revenue Potential | Audience Size | Acquisition Cost | Priority |231|---|---|---|---|---|---|232| [Persona 1] | ★★★★★ | Very High | Medium | Moderate | Primary |233| [Persona 2] | ★★★★☆ | High | Large | Easy | Primary |234| [Persona 3] | ★★★★☆ | Medium | Large | Easy | Secondary |235| [Persona 4] | ★★★☆☆ | High | Small | Hard | Secondary |236| [Persona 5] | ★★★☆☆ | Medium | Medium | Moderate | Tertiary |237| [Persona 6] | ★★☆☆☆ | Low | Large | Easy | Tertiary |238```239240**Scoring criteria:**241- **Relevance (1-5):** How closely this persona matches the business's ideal customer242 - 5 = Perfect match, highest conversion probability243 - 4 = Strong match, proven buyer profile244 - 3 = Moderate match, needs nurturing245 - 2 = Weak match, low conversion expected246 - 1 = Marginal match, only target if budget allows247- **Revenue Potential:** Expected lifetime value of this persona248- **Audience Size:** How large is this segment on ad platforms249- **Acquisition Cost:** Estimated relative cost to acquire this persona250- **Priority:** Primary (target first), Secondary (expand to), Tertiary (test with remaining budget)251252### Step 5: Negative Audiences253254Define who NOT to target. This section saves ad spend and improves ROAS.255256```markdown257## Negative Audiences — Who NOT to Target258259### Hard Exclusions (always exclude)260| Audience | Why Exclude | Platform Exclusion Method |261|---|---|---|262| [audience 1] | [reason — tire kickers, wrong intent, etc.] | [how to exclude on Meta, Google, etc.] |263| [audience 2] | [reason] | [exclusion method] |264| [audience 3] | [reason] | [exclusion method] |265| [audience 4] | [reason] | [exclusion method] |266| [audience 5] | [reason] | [exclusion method] |267268### Soft Exclusions (exclude in early campaigns, test later)269| Audience | Why Consider Excluding | When to Test |270|---|---|---|271| [audience 1] | [reason] | [conditions for testing] |272| [audience 2] | [reason] | [conditions] |273| [audience 3] | [reason] | [conditions] |274275### Negative Keyword Themes (Google Ads)276- [theme 1]: [list of negative keywords]277- [theme 2]: [list of negative keywords]278- [theme 3]: [list of negative keywords]279- [theme 4]: [list of negative keywords]280281### Audience Suppression Lists282- **Existing customers:** Suppress from acquisition campaigns (upload customer email list)283- **Past converters:** Suppress from top-of-funnel (use pixel data)284- **Job seekers:** Exclude "[company name] jobs/careers" searches285- **Competitors' employees:** Exclude unless running competitive conquesting286- **Students/researchers:** Exclude unless product is education-focused287```288289### Step 6: Cross-Persona Insights290291```markdown292## Cross-Persona Insights293294### Shared Pain Points Across All Personas2951. [pain point that appears in 3+ personas]2962. [pain point that appears in 3+ personas]2973. [pain point that appears in 3+ personas]298299### Universal Buying Triggers3001. [trigger that works across most personas]3012. [trigger that works across most personas]302303### Platform Priority Ranking304Based on where these personas spend time:3051. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]3062. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]3073. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]3084. **[Platform]** — Reaches [X] of [Y] personas, best for [objective]309310### Campaign Structure Recommendation311- **Campaign 1 (Primary):** Target Personas [X, Y] on [Platform] — [objective]312- **Campaign 2 (Secondary):** Target Personas [X, Y] on [Platform] — [objective]313- **Campaign 3 (Testing):** Target Persona [X] on [Platform] — [objective]314315### Messaging Theme Matrix316| Theme | Persona 1 | Persona 2 | Persona 3 | Persona 4 | Persona 5 |317|---|---|---|---|---|---|318| [theme 1] | Strong | Moderate | Weak | Strong | Moderate |319| [theme 2] | Weak | Strong | Strong | Moderate | Weak |320| [theme 3] | Moderate | Moderate | Strong | Strong | Strong |321```322323## Output Format324325Save the complete analysis to `ADS-AUDIENCE.md` in the current working directory.326327**File structure:**328```329# Audience Persona Report: [Business Name]330> Generated [date] | Source: [URL]331> Ad Readiness — Audience Clarity Score: [X/100]332333## Executive Summary334[3-4 sentences: who the ideal customers are, which platforms to prioritize, key insight]335336## Persona 1: [Name]337[full persona template]338339## Persona 2: [Name]340[full persona template]341342[...continue for all 5-7 personas]343344## Persona Scoring Matrix345[comparison table]346347## Negative Audiences348[full negative audience section]349350## Cross-Persona Insights351[shared insights and recommendations]352353## Next Steps3541. Start with Persona [X] on [Platform] — highest relevance + largest audience3552. Build lookalike audiences from [seed source]3563. Run `/ads copy <platform>` to generate ad copy tailored to top personas3574. Run `/ads hooks` to generate scroll-stopping hooks for each persona3585. Set up A/B tests between Persona [X] and Persona [Y] messaging359```360361## Quality Checklist362Before delivering the output, verify:363- [ ] At least 5 personas built with full detail364- [ ] Every persona has all sections filled (demographics, psychographics, pain points, triggers, objections, content habits, platform targeting)365- [ ] Platform targeting parameters are specific and actionable (not generic)366- [ ] Meta interests are real targetable interests in Ads Manager367- [ ] Google keywords are actual search terms people use368- [ ] LinkedIn titles are real job titles369- [ ] Relevance scoring is applied and justified370- [ ] Negative audiences section is complete371- [ ] Cross-persona insights identify patterns372- [ ] Campaign structure recommendation is included373- [ ] Output is saved to ADS-AUDIENCE.md374375## Audience Clarity Score (0-100)376377Calculate and report at the top of the file:378379| Factor | Weight | Scoring |380|---|---|---|381| Persona specificity | 25% | Generic (0-40) / Detailed (41-70) / Hyper-specific (71-100) |382| Targeting actionability | 25% | Vague (0-40) / Usable (41-70) / Copy-paste ready (71-100) |383| Pain point depth | 20% | Surface-level (0-40) / Researched (41-70) / Customer-voice (71-100) |384| Platform coverage | 15% | 1-2 platforms (0-40) / 3-4 platforms (41-70) / 5+ platforms (71-100) |385| Negative audience quality | 15% | Missing (0) / Basic (1-40) / Detailed with methods (41-100) |386387**Composite Score** = Weighted average across all factors388389## Output contract (what this skill produces)390391- **One file:** `ADS-AUDIENCE.md` in the CWD, with: header (business, date, source URL, Clarity Score), Executive Summary, 5-7 full personas, Persona Scoring Matrix, Negative Audiences, Cross-Persona Insights, Next Steps.392- **Self-contained & copy-paste-ready:** an ad buyer can lift the targeting parameters straight into Ads Manager / Google Ads / LinkedIn Campaign Manager with no further research.393394## Verify step (run before claiming done)3953961. **File exists & complete** — `ADS-AUDIENCE.md` is written and every section above is present (run the Quality Checklist top-to-bottom).3972. **Targeting is real** — spot-check 3 personas: each Meta interest, Google keyword, and LinkedIn title is an actually selectable parameter, not invented. Any fabricated parameter = NOT done; fix and re-verify.3983. **Each persona passed the 2-of-3 gate** — confirm no persona shipped on a single lens; duplicates were merged, not padded.3994. **Score honest** — the Clarity Score is computed from the rubric, not asserted.400401## Evidence & no-hallucination guardrail402403- **Cite or cut.** Demographics, pain points, and price positioning trace to a source — the fetched page, a `WebSearch` result, or named industry data. Unsourced "the customer feels X" is a guess; mark it as an inference or drop it.404- **No invented platform parameters.** If you can't confirm a Meta interest / Google in-market segment / LinkedIn attribute is real, omit it rather than fabricate. A buyer who pastes a fake interest gets a broken campaign.405- **Scope discipline.** This skill builds personas only — it does not write ad copy, hooks, or budgets (hand off to `/ads copy`, `/ads hooks`, `/ads strategy`). Stay on the audience.406- **No regression.** All pre-existing sections (template, scoring matrix, negative audiences, cross-persona insights, clarity score) are preserved; the workflow additions are surgical.