Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Ads Audience

ASecurity

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", "recher...

2 stars
0 votes
0 copies
0 views
Added 10/2/2026
ai-agentsrustgotesting

Works with

claude codecli

Security Analysis

A100/100

Scanned 10/2/2026

$npx -y skills add agentik-os/claude-code-skills --skill ads-audience --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ads Audience?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Ads Audience
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/agentik-os-ads-audience/badge)](https://www.skillsdirectory.com/skills/agentik-os-ads-audience)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: ads-audience
description: 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.
---

# 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.

1. **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.
2. **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.
3. **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.
4. **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.
5. **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

```markdown
### 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:

```markdown
## 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.

```markdown
## 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

```markdown
## 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:
- [ ] At least 5 personas built with full detail
- [ ] Every persona has all sections filled (demographics, psychographics, pain points, triggers, objections, content habits, platform targeting)
- [ ] Platform targeting parameters are specific and actionable (not generic)
- [ ] Meta interests are real targetable interests in Ads Manager
- [ ] Google keywords are actual search terms people use
- [ ] LinkedIn titles are real job titles
- [ ] Relevance scoring is applied and justified
- [ ] Negative audiences section is complete
- [ ] Cross-persona insights identify patterns
- [ ] Campaign structure recommendation is included
- [ ] Output is saved to ADS-AUDIENCE.md

## 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)

1. **File exists & complete** — `ADS-AUDIENCE.md` is written and every section above is present (run the Quality Checklist top-to-bottom).
2. **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.
3. **Each persona passed the 2-of-3 gate** — confirm no persona shipped on a single lens; duplicates were merged, not padded.
4. **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.

Attribution

agentik-osagentik-os
View sourceSee grades on GitHubMore from agentik-os →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698431 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →