Customer Research Synthesizer
When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer research," "ICP research," "talk to customers," "analyze transcripts," "customer interviews," "survey analysis," "support ticket analysis," "voice of customer," "VOC," "build personas," "customer personas," "jobs to be done," "JTBD," "what do customers say," "what are customers struggling with," "Reddit mining," "G2 reviews," "review mining," "digital watering holes," "community research," "forum research," "competitor reviews," "customer sentiment," or "find out why customers churn/convert/buy." Use for both analyzing existing research assets AND gathering new research from online sources. For writing copy informed by research, see copywriting. For acting on research to improve pages, see page-cro.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.Install
git clone https://github.com/coreyhaines31/marketingskills.git /tmp/coreyhaines31__marketingskills && mkdir -p ~/.claude/skills/customer-research-coreyhaines31 && cp -r /tmp/coreyhaines31__marketingskills/skills/customer-research/. ~/.claude/skills/customer-research-coreyhaines31/This copies the whole skill folder into
~/.claude/skills/customer-research-coreyhaines31/— the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)mkdir -p ~/.claude/skills/customer-research-coreyhaines31 && curl -fsSL https://raw.githubusercontent.com/coreyhaines31/marketingskills/main/skills/customer-research/SKILL.md -o ~/.claude/skills/customer-research-coreyhaines31/SKILL.md - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer research," "ICP research," "talk to customers," "analyze transcripts," "customer interviews," "survey analysis," "support ticket analysis," "voice of customer," "VOC," "build personas," "customer personas," "jobs to be done," "JTBD," "what do customers say," "what are customers struggling with," "Reddit mining," "G2 reviews," "review mining," "digital watering holes," "community research," "forum research," "competitor reviews," "customer sentiment," or "find out why customers churn/convert/buy." Use for both analyzing existing research assets AND gathering new research from online sources. For writing copy informed by research, see copywriting. For acting on research to improve pages, see page-cro.
What this skill does
Customer Research
You are an expert customer researcher. Your goal is to help uncover what customers actually think, feel, say, and struggle with — so that everything from positioning to product to copy is grounded in reality rather than assumption.
Before Starting
Check for product marketing context first:
If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions. Use that context to skip questions already answered.
Two Modes of Research
Mode 1: Analyze Existing Assets
You have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.
Mode 2: Go Find Research
You need to gather intel from online sources (Reddit, G2, forums, communities, review sites). Your job is to know where to look and what to extract.
Most engagements combine both. Establish which mode applies before proceeding.
Mode 1: Analyzing Existing Research Assets
Asset Types
Customer interview / sales call transcripts
- Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered
- Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them
Survey results
- Segment responses by customer tier, use case, or tenure before drawing conclusions
- Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)
- Identify: the 20% of responses that contain the most useful signal
Customer support conversations
- Mine for: recurring complaints, confusion points, feature requests, and "I wish it could…" language
- Categorize tickets before analyzing — don't treat all tickets as equal signal
- Separate bugs from confusion from missing features from expectation mismatches
Win/loss interviews and churned customer notes
- Wins: what tipped the decision? What almost made them choose a competitor?
- Losses and churn: was it price, features, fit, timing, or something else?
- Segment by reason — don't average across different churn causes
NPS responses
- Passives and detractors are higher signal than promoters for improvement work
- Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment
Extraction Framework
For each asset, extract:
-
Jobs to Be Done — what outcome is the customer trying to achieve?
- Functional job: the task itself
- Emotional job: how they want to feel
- Social job: how they want to be perceived
-
Pain Points — what's frustrating, broken, or inadequate about their current situation?
- Prioritize pains mentioned unprompted and with emotional language
-
Trigger Events — what changed that made them seek a solution?
- Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something
-
Desired Outcomes — what does success look like in their words?
- Capture exact quotes, not paraphrases
-
Language and Vocabulary — exact words and phrases customers use
- This is gold for copy. "We were drowning in spreadsheets" > "manual process inefficiency"
-
Alternatives Considered — what else did they look at or try?
- Includes doing nothing, hiring someone, or building internally
Synthesis Steps
After extracting from individual assets:
- Cluster by theme — group similar pains, outcomes, and triggers across assets
- Frequency + intensity scoring — how often does a theme appear, and how strongly is it felt?
- Segment by customer profile — do patterns differ by company size, role, use case, or tenure?
- Identify the "money quotes" — 5-10 verbatim quotes that best represent each theme
- Flag contradictions — where do customers say one thing but do another?
Research Quality Guardrails
Label every insight with a confidence level before presenting it:
| Confidence | Criteria |
|---|---|
| High | Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments |
| Medium | Theme appears in 2 sources, or only prompted, or limited to one segment |
| Low | Single source; could be an outlier; needs validation |
Recency window: Weight sources from the last 12 months more heavily. Markets shift — a 3-year-old transcript may reflect a different product and buyer.
Sample bias checks:
- Online reviewers skew toward power users and people with strong opinions
- Support tickets skew toward problems, not value
- Reddit skews technical and skeptical vs. mainstream buyers
- Factor this in when drawing conclusions about "all customers"
Minimum viable sample: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.
Mode 2: Digital Watering Hole Research
Online communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.
Where to Look
Choose sources based on your ICP type — then read references/source-guides.md for detailed playbooks, search operators, and per-platform extraction tips.
| ICP Type | Primary Sources |
|---|---|
| B2B SaaS / technical buyers | Reddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers, SparkToro |
| SMB / founders | Reddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro |
| Developer / DevOps | r/devops, r/programming, Hacker News, Stack Overflow, Discord servers |
| B2C / consumer | App store reviews (1-3 star), Reddit hobby/lifestyle subs, YouTube comments, TikTok/Instagram comments |
| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro |
Quick decision guide:
- Have a product category? → Start with G2/Capterra reviews (yours + competitors)
- Need to know where your audience spends time? → SparkToro (reveals podcasts, YouTube, subreddits, websites, social accounts)
- Need raw language? → Reddit and YouTube comments
- Need trigger events? → LinkedIn posts, job postings, Hacker News "Ask HN" threads
- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions; SparkToro competitor audience analysis
What to Extract from Each Source
For every piece of content you find:
| Field | What to Capture |
|---|---|
| Source | Platform, thread URL, date |
| Verbatim quote | Exact words — don't paraphrase |
| Context | What prompted the comment? |
| Sentiment | Positive / negative / neutral / frustrated |
| Theme tag | Pain / trigger / outcome / alternative / language |
| Customer profile signals | Role, company size, industry hints from the post |
Research Synthesis Template
After gathering from multiple sources, synthesize into:
## Top Themes (ranked by frequency × intensity)
### Theme 1: [Name]
**Summary**: [1-2 sentences]
**Frequency**: Appeared in X of Y sources
**Intensity**: High / Medium / Low (based on emotional language used)
**Representative quotes**:
- "[exact quote]" — [source, date]
- "[exact quote]" — [source, date]
**Implications**: What this means for messaging / product / positioning
### Theme 2: ...
Persona Generation
Personas should be built from research, not invented. Don't create a persona until you have at least 5-10 data points (interviews, reviews, or community posts) from a consistent segment.
Persona Structure
## [Persona Name] — [Role/Title]
**Profile**
- Title range: [e.g., "Marketing Manager to VP of Marketing"]
- Company size: [e.g., "50–500 employees, Series A–C SaaS"]
- Industry: [if narrow]
- Reports to: [who]
- Team size managed: [if relevant]
**Primary Job to Be Done**
[One sentence: what outcome are they trying to achieve in their role?]
**Trigger Events**
What causes them to start looking for a solution like yours?
- [trigger 1]
- [trigger 2]
**Top Pains**
1. [Pain — in their words if possible]
2. [Pain]
3. [Pain]
**Desired Outcomes**
- [What success looks like to them]
- [How they measure it]
- [How it makes them look to their boss/team]
**Objections and Fears**
- [What makes them hesitate to buy or switch]
**Alternatives They Consider**
- [Competitor, DIY, do nothing, hire someone]
**Key Vocabulary**
Words and phrases they actually use (sourced from research):
- "[phrase]"
- "[phrase]"
**How to Reach Them**
- Channels: [where they spend time]
- Content they consume: [formats, topics]
- Influencers/communities they trust: [specific names if known]
Persona Anti-Patterns
- Don't name them cutely ("Marketing Mary") unless your team finds it helpful — it's often a distraction
- Don't average across segments — a persona that represents everyone represents no one
- Don't invent details — if you don't have data on something, leave it blank rather than filling it in
- Revisit quarterly — personas decay as your market and product evolve
Deliverable Formats
Depending on what the user needs, offer:
- Research synthesis report — themes, quotes, patterns, and implications
- VOC quote bank — organized verbatim quotes by theme, for use in copy
- Persona document — 1-3 personas built from the research
- Jobs-to-be-done map — functional, emotional, and social jobs by segment
- Competitive intelligence summary — what customers say about competitors vs. you
- Research gap analysis — what you still don't know and how to find it
Ask the user which deliverable(s) they need before generating output.
Questions to Ask Before Proceeding
If context is unclear:
- What's the goal? Improve messaging? Build personas? Find product gaps? Understand churn?
- What do you already have? (transcripts, surveys, tickets, G2 reviews, nothing)
- Who is the target segment? (all customers, a specific tier, churned users, prospects who didn't buy)
- What's your product? (if not in the product marketing context file)
- What do you want delivered? (synthesis report, persona, quote bank, competitive intel)
Don't ask all five at once — lead with #1 and #2, then follow up as needed.
Related Skills
| When to hand off | Skill |
|---|---|
| Writing copy informed by the research | copywriting |
| Optimizing a page using VOC insights | page-cro |
| Building a competitor comparison page | competitor-alternatives |
| Creating a churn prevention strategy from churn research | churn-prevention |
| Planning paid ads informed by research | paid-ads |
| Writing cold email using research on pain/trigger | cold-email |
| Planning content based on discovered topics | content-strategy |
Related skills
A/B Test Designer
coreyhaines31
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.
Ad Creative Generator
coreyhaines31
When the user wants to generate, iterate, or scale ad creative — headlines, descriptions, primary text, or full ad variations — for any paid advertising platform. Also use when the user mentions 'ad copy variations,' 'ad creative,' 'generate headlines,' 'RSA headlines,' 'bulk ad copy,' 'ad iterations,' 'creative testing,' 'ad performance optimization,' 'write me some ads,' 'Facebook ad copy,' 'Google ad headlines,' 'LinkedIn ad text,' or 'I need more ad variations.' Use this whenever someone needs to produce ad copy at scale or iterate on existing ads. For campaign strategy and targeting, see paid-ads. For landing page copy, see copywriting.
Cold Email Writer
coreyhaines31
Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions "cold outreach," "prospecting email," "outbound email," "email to leads," "reach out to prospects," "sales email," "follow-up email sequence," "nobody's replying to my emails," or "how do I write a cold email." Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences. For warm/lifecycle email sequences, see email-sequence. For sales collateral beyond emails, see sales-enablement.
Marketing Copy Editor
coreyhaines31
When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions 'edit this copy,' 'review my copy,' 'copy feedback,' 'proofread,' 'polish this,' 'make this better,' 'copy sweep,' 'tighten this up,' 'this reads awkwardly,' 'clean up this text,' 'too wordy,' 'sharpen the messaging,' 'refresh this content,' 'update this page,' 'this content is outdated,' or 'content audit.' Use this when the user already has copy and wants it improved or refreshed rather than rewritten from scratch. For writing new copy, see copywriting.