agentleFS
karerokarero/website-builder/skills/customer-research/SKILL.md

customer-research

Skill9 starsChanged 30 days agoMITView on GitHub

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.

66 other projects use a version of this, 49 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use popups, free-tools and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CesarjoquinSkill

    popups

    When the user wants to create or optimize popups, modals, overlays, slide-ins, or banners for conversion purposes. Also use when the user mentions "exit intent," "popup conversions," "modal optimization," "lead capture popup," "email popup," "announcement banner," "overlay," "collect emails with a popup," "exit popup," "scroll trigger," "sticky bar," or "notification bar." Use this for any overlay or interrupt-style conversion element. For forms outside of popups, see cro. For general page conversion optimization, see cro.

    Also in 23 projects that use this

  • CesarjoquinSkill

    free-tools

    When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or brand awareness. Also use when the user mentions "engineering as marketing," "free tool," "marketing tool," "calculator," "generator," "interactive tool," "lead gen tool," "build a tool for leads," "free resource," "ROI calculator," "grader tool," "audit tool," "should I build a free tool," or "tools for lead gen." Use this whenever someone wants to build something useful and give it away to attract leads or earn links. For downloadable content lead magnets (ebooks, checklists, templates), see lead-magnets.

    Also in 24 projects that use this

  • coreyhaines31Skill

    marketing-council

    When the user wants multiple expert perspectives on a marketing question — a simulated board of advisors staffed by legendary marketers (Seth Godin, David Ogilvy, Eugene Schwartz, April Dunford, Rory Sutherland, Alex Hormozi, Byron Sharp, and more). Also use when the user mentions 'marketing council,' 'board of advisors,' 'advisory board,' 'what would Seth Godin say,' 'what would Ogilvy think,' 'channel Hormozi,' 'get multiple perspectives,' 'debate this,' 'have the council review,' 'marketing mentors,' or asks how a famous marketer would approach their problem. The council gives each advisor's take through their documented frameworks, surfaces where they disagree, and synthesizes a recommendation. For executing the winning direction, hand off to positioning, offers, copywriting, ads, or the relevant skill.

    Also in 19 projects that use this

  • ukunal91appSkill

    community-marketing

    Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: "build a community," "community strategy," "Discord community," "Slack community," "community-led growth," "brand advocates," "user community," "forum strategy," "community engagement," "grow our community," "ambassador program," "community flywheel.

    Also in 36 projects that use this

  • timruebenachSkill

    competitor-profiling

    When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions 'competitor profile,' 'competitor research,' 'competitor analysis,' 'profile this competitor,' 'analyze competitor,' 'competitive intelligence,' 'competitor deep dive,' 'who are my competitors,' 'competitor landscape,' 'competitor dossier,' 'competitive audit,' or 'research these competitors.' Input is a list of competitor URLs. Output is structured competitor profile markdown files. For creating comparison/alternative pages from profiles, see competitor-alternatives. For sales-specific battle cards, see sales-enablement.

    Also in 27 projects that use this

  • +7 more from Cesarjoquin

The file

We split this skill into the rules it gives an agent

9 rules. 6 are common, 2 are distinctive, and 1 is very specific to this project.

  • 6

    Common

    Most of the 58 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If .agents/product-marketing-context.md exists (or .claude/product-marketing-context.md in older setups), read it before asking questions.

    line 15
  2. Common:

    Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them

    line 37
  3. Common:

    After extracting from individual assets:

    line 84
  4. Common:

    Minimum viable sample: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.

    line 110
  5. Common:

    After gathering from multiple sources, synthesize into:

    line 154
  6. Distinctive:

    Write each deliverable — including its section headers and labels — in the site's content language (a German build gets "Themen", "Zitate", …

    line 235
  7. Common:

    Ask the user which deliverable(s) they need before generating output.

    line 249
  8. Common:

    If context is unclear:

    line 255
  9. Distinctive:

    Don't ask all six at once — lead with #1 and #2, then follow up with the rest as needed (#6 matters most when the target segment in #3 …

    line 264

“Common” is measured: kept by at least 6 in 10 of the 58 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

  1. 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
  2. Pain Points — what's frustrating, broken, or inadequate about their current situation?
    • Prioritize pains mentioned unprompted and with emotional language
  3. Trigger Events — what changed that made them seek a solution?
    • Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something
  4. Desired Outcomes — what does success look like in their words?
    • Capture exact quotes, not paraphrases
  5. Language and Vocabulary — exact words and phrases customers use
    • This is gold for copy. "We were drowning in spreadsheets" > "manual process inefficiency"
  6. 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:

  1. Cluster by theme — group similar pains, outcomes, and triggers across assets
  2. Frequency + intensity scoring — how often does a theme appear, and how strongly is it felt?
  3. Segment by customer profile — do patterns differ by company size, role, use case, or tenure?
  4. Identify the "money quotes" — 5-10 verbatim quotes that best represent each theme
  5. Flag contradictions — where do customers say one thing but do another?

Research Quality Guardrails

Label every insight with a confidence level before presenting it:

ConfidenceCriteria
HighTheme appears in 3+ independent sources; mentioned unprompted; consistent across segments
MediumTheme appears in 2 sources, or only prompted, or limited to one segment
LowSingle 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 TypePrimary Sources
B2B SaaS / technical buyersReddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers, SparkToro
SMB / foundersReddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro
Developer / DevOpsr/devops, r/programming, Hacker News, Stack Overflow, Discord servers
B2C / consumerApp store reviews (1-3 star), Reddit hobby/lifestyle subs, YouTube comments, TikTok/Instagram comments
EnterpriseLinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro
DACH / German-speakingReddit (r/de, r/Finanzen, industry-specific German subs), Gutefrage.net, OMR Forum (onlinemarketing rockstars), XING, Kununu (employer/B2B reviews), Trusted Shops (ecommerce trust reviews)

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
  • Researching a German-speaking ICP? → SparkToro skews English-language and US-centric (see references/source-guides.md), so it under-represents this audience — weight the DACH row's sources more heavily and treat SparkToro's output as directional only

What to Extract from Each Source

For every piece of content you find:

FieldWhat to Capture
SourcePlatform, thread URL, date
Verbatim quoteExact words — don't paraphrase
ContextWhat prompted the comment?
SentimentPositive / negative / neutral / frustrated
Theme tagPain / trigger / outcome / alternative / language
Customer profile signalsRole, 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

Write each deliverable — including its section headers and labels — in the site's content language (a German build gets "Themen", "Zitate", "Personas", not English headers over German quotes); these artifacts feed the site's copy, so they follow the CONTENT language even when the owner converses in another (the conversation itself follows the user's language, per new-website §1). Depending on what the user needs, offer:

  1. Research synthesis report — themes, quotes, patterns, and implications
  2. VOC quote bank — organized verbatim quotes by theme, for use in copy
  3. Persona document — 1-3 personas built from the research
  4. Jobs-to-be-done map — functional, emotional, and social jobs by segment
  5. Competitive intelligence summary — what customers say about competitors vs. you
  6. 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:

  1. What's the goal? Improve messaging? Build personas? Find product gaps? Understand churn?
  2. What do you already have? (transcripts, surveys, tickets, G2 reviews, nothing)
  3. Who is the target segment? (all customers, a specific tier, churned users, prospects who didn't buy)
  4. What's your product? (if not in the product marketing context file)
  5. What do you want delivered? (synthesis report, persona, quote bank, competitive intel)
  6. What language/market is the audience? (affects which sources in "Where to Look" apply — e.g. German-speaking ICP needs DACH-specific sources, not just the English-default list)

Don't ask all six at once — lead with #1 and #2, then follow up with the rest as needed (#6 matters most when the target segment in #3 isn't obviously English-speaking).


Related Skills

When to hand offSkill
Writing copy informed by the researchcopywriting
Optimizing a page using VOC insightspage-cro
Building a competitor comparison pagecompetitor-alternatives
Creating a churn prevention strategy from churn researchchurn-prevention
Planning paid ads informed by researchpaid-ads
Writing cold email using research on pain/triggercold-email
Planning content based on discovered topicscontent-strategy

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.