[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71E8JMSG8HGRRRYBWWAD3W2":3,"skill-same:01M71E8JMSG8HGRRRYBWWAD3W2":90},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":54,"commitSha":55,"skillDirectory":56,"forksCount":14,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M71E8JMSG8HGRRRYBWWAD3W2","customer-research",null,"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,\" \"PMF survey,\" \"product\u002Fmarket fit survey,\" \"customer interview questions,\" \"interview outreach,\" \"Sales Safari,\" or \"find out why customers churn\u002Fconvert\u002Fbuy.\" Use for analyzing existing research assets, mining online sources, AND running primary research (interviews and surveys). For writing copy informed by research, see copywriting. For acting on research to improve pages, see cro.","patinaproject\u002Fskills","patinaproject","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F229996889?v=4","01M71E58JKTDNY1138WYZK44TR","Patina Project","01M71E58K5GH4K16MV6A8BQ6NZ",1,"MIT","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcustomer-research\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"research","customer","customer research","when","writing","community research","reviews","churn","sources","ticket","safari","icp","synthesize","voice of customer","done","community","jtbd","survey","improve","analysis","2026-11-10 10:12:30",false,"---\nname: customer-research\ndescription: 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,\" \"PMF survey,\" \"product\u002Fmarket fit survey,\" \"customer interview questions,\" \"interview outreach,\" \"Sales Safari,\" or \"find out why customers churn\u002Fconvert\u002Fbuy.\" Use for analyzing existing research assets, mining online sources, AND running primary research (interviews and surveys). For writing copy informed by research, see copywriting. For acting on research to improve pages, see cro.\nmetadata:\n  version: 2.0.2\n---\n\n# Customer Research\n\nYou 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.\n\n## Before Starting\n\n**Check for product marketing context first:**\nIf `.agents\u002Fproduct-marketing.md` exists (or `.claude\u002Fproduct-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context to skip questions already answered.\n\n---\n\n## Three Modes of Research\n\n### Mode 1: Analyze Existing Assets\nYou have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.\n\n### Mode 2: Mine Existing Signal (Online)\nYou gather intel from online sources (Reddit, G2, forums, communities, review sites) — customers speaking in public, unprompted. Your job is to know where to look and what to extract.\n\n### Mode 3: Go Ask (Primary Research)\nNo signal exists yet, or you need answers only the customer can give. You run interviews and surveys directly. For the full playbook — the PMF survey, 5-why laddering, outreach templates, incentives, best-customer recruiting, and the confirmation-bias guardrail — read `references\u002Finterviews-and-surveys.md`.\n\nMost engagements combine modes. Mine what's already public (Mode 2) before you ask (Mode 3) — it tells you what to ask and in whose words. Establish which mode(s) apply before proceeding.\n\n---\n\n## Mode 1: Analyzing Existing Research Assets\n\n### Asset Types\n\n**Customer interview \u002F sales call transcripts**\n- Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered\n- Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them\n\n**Survey results**\n- Segment responses by customer tier, use case, or tenure before drawing conclusions\n- Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)\n- Identify: the 20% of responses that contain the most useful signal\n\n**Customer support conversations**\n- Mine for: recurring complaints, confusion points, feature requests, and \"I wish it could…\" language\n- Categorize tickets before analyzing — don't treat all tickets as equal signal\n- Separate bugs from confusion from missing features from expectation mismatches\n\n**Win\u002Floss interviews and churned customer notes**\n- Wins: what tipped the decision? What almost made them choose a competitor?\n- Losses and churn: was it price, features, fit, timing, or something else?\n- Segment by reason — don't average across different churn causes\n\n**NPS responses**\n- Passives and detractors are higher signal than promoters for improvement work\n- Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment\n\n### Extraction Framework\n\nFor each asset, extract:\n\n1. **Jobs to Be Done** — what outcome is the customer trying to achieve?\n   - Functional job: the task itself\n   - Emotional job: how they want to feel\n   - Social job: how they want to be perceived\n\n2. **Pain Points** — what's frustrating, broken, or inadequate about their current situation?\n   - Prioritize pains mentioned unprompted and with emotional language\n\n3. **Trigger Events** — what changed that made them seek a solution?\n   - Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something\n\n4. **Desired Outcomes** — what does success look like in their words?\n   - Capture exact quotes, not paraphrases\n\n5. **Language and Vocabulary** — exact words and phrases customers use\n   - This is gold for copy. \"We were drowning in spreadsheets\" > \"manual process inefficiency\"\n\n6. **Alternatives Considered** — what else did they look at or try?\n   - Includes doing nothing, hiring someone, or building internally\n\n### Synthesis Steps\n\nAfter extracting from individual assets:\n\n1. **Cluster by theme** — group similar pains, outcomes, and triggers across assets\n2. **Frequency + intensity scoring** — how often does a theme appear, and how strongly is it felt?\n3. **Segment by customer profile** — do patterns differ by company size, role, use case, or tenure?\n4. **Identify the \"money quotes\"** — 5-10 verbatim quotes that best represent each theme\n5. **Flag contradictions** — where do customers say one thing but do another?\n\n### Research Quality Guardrails\n\nLabel every insight with a confidence level before presenting it:\n\n| Confidence | Criteria |\n|------------|----------|\n| **High** | Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments |\n| **Medium** | Theme appears in 2 sources, or only prompted, or limited to one segment |\n| **Low** | Single source; could be an outlier; needs validation |\n\n**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.\n\n**Sample bias checks**:\n- Online reviewers skew toward power users and people with strong opinions\n- Support tickets skew toward problems, not value\n- Reddit skews technical and skeptical vs. mainstream buyers\n- Factor this in when drawing conclusions about \"all customers\"\n\n**Minimum viable sample**: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.\n\n---\n\n## Mode 2: Digital Watering Hole Research\n\nOnline communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.\n\n### Where to Look\n\nChoose sources based on your ICP type — then read `references\u002Fsource-guides.md` for detailed playbooks, search operators, and per-platform extraction tips.\n\n| ICP Type | Primary Sources |\n|----------|----------------|\n| B2B SaaS \u002F technical buyers | Reddit (role-specific subs), G2\u002FCapterra, Hacker News, LinkedIn, Indie Hackers, SparkToro |\n| SMB \u002F founders | Reddit (r\u002Fentrepreneur, r\u002Fsmallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro |\n| Developer \u002F DevOps | r\u002Fdevops, r\u002Fprogramming, Hacker News, Stack Overflow, Discord servers |\n| B2C \u002F consumer | App store reviews (1-3 star), Reddit hobby\u002Flifestyle subs, YouTube comments, TikTok\u002FInstagram comments |\n| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro |\n\n**Quick decision guide:**\n- Have a product category? → Start with G2\u002FCapterra reviews (yours + competitors)\n- Need to know where your audience spends time? → SparkToro (reveals podcasts, YouTube, subreddits, websites, social accounts)\n- Need raw language? → Reddit and YouTube comments\n- Need trigger events? → LinkedIn posts, job postings, Hacker News \"Ask HN\" threads\n- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions; SparkToro competitor audience analysis\n\n### What to Extract from Each Source\n\nFor every piece of content you find:\n\n| Field | What to Capture |\n|-------|----------------|\n| Source | Platform, thread URL, date |\n| Verbatim quote | Exact words — don't paraphrase |\n| Context | What prompted the comment? |\n| Sentiment | Positive \u002F negative \u002F neutral \u002F frustrated |\n| Theme tag | Pain \u002F trigger \u002F outcome \u002F alternative \u002F language |\n| Customer profile signals | Role, company size, industry hints from the post |\n\n### Research Synthesis Template\n\nAfter gathering from multiple sources, synthesize into:\n\n```\n## Top Themes (ranked by frequency × intensity)\n\n### Theme 1: [Name]\n**Summary**: [1-2 sentences]\n**Frequency**: Appeared in X of Y sources\n**Intensity**: High \u002F Medium \u002F Low (based on emotional language used)\n**Representative quotes**:\n- \"[exact quote]\" — [source, date]\n- \"[exact quote]\" — [source, date]\n**Implications**: What this means for messaging \u002F product \u002F positioning\n\n### Theme 2: ...\n```\n\n---\n\n## Mode 3: Interviews & Surveys (Primary Research)\n\nWhen there's no signal yet — or you need answers only the customer can give — go ask. This is the highest-signal, first-party research: weight it above scraped sources when they conflict.\n\n**Load `references\u002Finterviews-and-surveys.md` before running any interview or survey.** It covers:\n\n- **The first rule of customer research: you do not talk about customer research** — keep calls casual so customers give real answers, not performed ones\n- **Prove yourself wrong, not right** — research is disconfirmation, not validation (the Dropbox sync-speed example)\n- **Amy Hoy's Sales Safari** — passively mine pains, jargon, recommendations, and worldview from where the audience already gathers\n- **Recruiting your best customers** — segment the CRM by deal size \u002F short sales cycle \u002F low churn; ask sales & CS for referrals; always close with *\"who else should we talk to?\"*\n- **Outreach email template** and **incentives** — $50\u002Fcall, $5\u002Fsurvey; aim for 10 calls, be happy with 5\n- **Keep Asking Why (5-why laddering)** — worked example laddering a churn answer down to NRR; pain points vs. passion points\n- **The PMF survey (Sean Ellis \u002F Superhuman)** — *\"How would you feel if you could no longer use [product]?\"*; the **40% \"very disappointed\"** benchmark (Superhuman reached 58%)\n\nAnalyze whatever you gather back through the Mode 1 extraction framework and confidence guardrails above.\n\n---\n\n## Persona Generation\n\n### When there are no reviews yet\n\nEarly-stage products (or new categories) lack first-party review data. Don't invent personas — walk outward through proxy sources, in order:\n\n1. **Your own differentiator** — what the product does differently defines who feels that difference most; write the hypothesis down as a hypothesis\n2. **Direct competitors' reviews** — their customers describe the problem space in their words (note what's praised and what's missing)\n3. **Comparable products on marketplaces** — Amazon\u002Fapp-store reviews for adjacent solutions to the same job\n4. **Adjacent brands sharing the audience** — what else this buyer buys; their reviews reveal the buyer's broader language and values\n\nPersonas built this way are provisional: tag each with its proxy source, and replace proxy evidence with first-party evidence as real reviews arrive.\n\n\nPersonas 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.\n\n### Persona Structure\n\n```\n## [Persona Name] — [Role\u002FTitle]\n\n**Profile**\n- Title range: [e.g., \"Marketing Manager to VP of Marketing\"]\n- Company size: [e.g., \"50–500 employees, Series A–C SaaS\"]\n- Industry: [if narrow]\n- Reports to: [who]\n- Team size managed: [if relevant]\n\n**Primary Job to Be Done**\n[One sentence: what outcome are they trying to achieve in their role?]\n\n**Trigger Events**\nWhat causes them to start looking for a solution like yours?\n- [trigger 1]\n- [trigger 2]\n\n**Top Pains**\n1. [Pain — in their words if possible]\n2. [Pain]\n3. [Pain]\n\n**Desired Outcomes**\n- [What success looks like to them]\n- [How they measure it]\n- [How it makes them look to their boss\u002Fteam]\n\n**Objections and Fears**\n- [What makes them hesitate to buy or switch]\n\n**Alternatives They Consider**\n- [Competitor, DIY, do nothing, hire someone]\n\n**Key Vocabulary**\nWords and phrases they actually use (sourced from research):\n- \"[phrase]\"\n- \"[phrase]\"\n\n**How to Reach Them**\n- Channels: [where they spend time]\n- Content they consume: [formats, topics]\n- Influencers\u002Fcommunities they trust: [specific names if known]\n```\n\n### Persona Anti-Patterns\n\n- **Don't name them cutely** (\"Marketing Mary\") unless your team finds it helpful — it's often a distraction\n- **Don't average across segments** — a persona that represents everyone represents no one\n- **Don't invent details** — if you don't have data on something, leave it blank rather than filling it in\n- **Revisit quarterly** — personas decay as your market and product evolve\n\n---\n\n## Deliverable Formats\n\nDepending on what the user needs, offer:\n\n1. **Research synthesis report** — themes, quotes, patterns, and implications\n2. **VOC quote bank** — organized verbatim quotes by theme, for use in copy\n3. **Persona document** — 1-3 personas built from the research\n4. **Jobs-to-be-done map** — functional, emotional, and social jobs by segment\n5. **Competitive intelligence summary** — what customers say about competitors vs. you\n6. **Research gap analysis** — what you still don't know and how to find it\n\nAsk the user which deliverable(s) they need before generating output.\n\n---\n\n## Questions to Ask Before Proceeding\n\nIf context is unclear:\n\n1. **What's the goal?** Improve messaging? Build personas? Find product gaps? Understand churn?\n2. **What do you already have?** (transcripts, surveys, tickets, G2 reviews, nothing)\n3. **Who is the target segment?** (all customers, a specific tier, churned users, prospects who didn't buy)\n4. **What's your product?** (if not in the product marketing context file)\n5. **What do you want delivered?** (synthesis report, persona, quote bank, competitive intel)\n\nDon't ask all five at once — lead with #1 and #2, then follow up as needed.\n\n---\n\n## Related Skills\n\n| When to hand off | Skill |\n|-----------------|-------|\n| Writing copy informed by the research | `copywriting` |\n| Optimizing a page using VOC insights | `cro` |\n| Building a competitor comparison page | `competitors` |\n| Creating a churn prevention strategy from churn research | `churn-prevention` |\n| Planning paid ads informed by research | `ads` |\n| Writing cold email using research on pain\u002Ftrigger | `cold-email` |\n| Translating customer research into an ICP for outbound | `prospecting` |\n| Planning content based on discovered topics | `content-strategy` |\n| Rolling research into a comprehensive marketing plan | `marketing-plan` |\n","# Customer Research\n\nYou 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.\n\n## Before Starting\n\n**Check for product marketing context first:**\nIf `.agents\u002Fproduct-marketing.md` exists (or `.claude\u002Fproduct-marketing.md`, or the legacy `product-marketing-context.md` filename, in older setups), read it before asking questions. Use that context to skip questions already answered.\n\n---\n\n## Three Modes of Research\n\n### Mode 1: Analyze Existing Assets\nYou have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.\n\n### Mode 2: Mine Existing Signal (Online)\nYou gather intel from online sources (Reddit, G2, forums, communities, review sites) — customers speaking in public, unprompted. Your job is to know where to look and what to extract.\n\n### Mode 3: Go Ask (Primary Research)\nNo signal exists yet, or you need answers only the customer can give. You run interviews and surveys directly. For the full playbook — the PMF survey, 5-why laddering, outreach templates, incentives, best-customer recruiting, and the confirmation-bias guardrail — read `references\u002Finterviews-and-surveys.md`.\n\nMost engagements combine modes. Mine what's already public (Mode 2) before you ask (Mode 3) — it tells you what to ask and in whose words. Establish which mode(s) apply before proceeding.\n\n---\n\n## Mode 1: Analyzing Existing Research Assets\n\n### Asset Types\n\n**Customer interview \u002F sales call transcripts**\n- Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered\n- Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them\n\n**Survey results**\n- Segment responses by customer tier, use case, or tenure before drawing conclusions\n- Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)\n- Identify: the 20% of responses that contain the most useful signal\n\n**Customer support conversations**\n- Mine for: recurring complaints, confusion points, feature requests, and \"I wish it could…\" language\n- Categorize tickets before analyzing — don't treat all tickets as equal signal\n- Separate bugs from confusion from missing features from expectation mismatches\n\n**Win\u002Floss interviews and churned customer notes**\n- Wins: what tipped the decision? What almost made them choose a competitor?\n- Losses and churn: was it price, features, fit, timing, or something else?\n- Segment by reason — don't average across different churn causes\n\n**NPS responses**\n- Passives and detractors are higher signal than promoters for improvement work\n- Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment\n\n### Extraction Framework\n\nFor each asset, extract:\n\n1. **Jobs to Be Done** — what outcome is the customer trying to achieve?\n   - Functional job: the task itself\n   - Emotional job: how they want to feel\n   - Social job: how they want to be perceived\n\n2. **Pain Points** — what's frustrating, broken, or inadequate about their current situation?\n   - Prioritize pains mentioned unprompted and with emotional language\n\n3. **Trigger Events** — what changed that made them seek a solution?\n   - Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something\n\n4. **Desired Outcomes** — what does success look like in their words?\n   - Capture exact quotes, not paraphrases\n\n5. **Language and Vocabulary** — exact words and phrases customers use\n   - This is gold for copy. \"We were drowning in spreadsheets\" > \"manual process inefficiency\"\n\n6. **Alternatives Considered** — what else did they look at or try?\n   - Includes doing nothing, hiring someone, or building internally\n\n### Synthesis Steps\n\nAfter extracting from individual assets:\n\n1. **Cluster by theme** — group similar pains, outcomes, and triggers across assets\n2. **Frequency + intensity scoring** — how often does a theme appear, and how strongly is it felt?\n3. **Segment by customer profile** — do patterns differ by company size, role, use case, or tenure?\n4. **Identify the \"money quotes\"** — 5-10 verbatim quotes that best represent each theme\n5. **Flag contradictions** — where do customers say one thing but do another?\n\n### Research Quality Guardrails\n\nLabel every insight with a confidence level before presenting it:\n\n| Confidence | Criteria |\n|------------|----------|\n| **High** | Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments |\n| **Medium** | Theme appears in 2 sources, or only prompted, or limited to one segment |\n| **Low** | Single source; could be an outlier; needs validation |\n\n**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.\n\n**Sample bias checks**:\n- Online reviewers skew toward power users and people with strong opinions\n- Support tickets skew toward problems, not value\n- Reddit skews technical and skeptical vs. mainstream buyers\n- Factor this in when drawing conclusions about \"all customers\"\n\n**Minimum viable sample**: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.\n\n---\n\n## Mode 2: Digital Watering Hole Research\n\nOnline communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.\n\n### Where to Look\n\nChoose sources based on your ICP type — then read `references\u002Fsource-guides.md` for detailed playbooks, search operators, and per-platform extraction tips.\n\n| ICP Type | Primary Sources |\n|----------|----------------|\n| B2B SaaS \u002F technical buyers | Reddit (role-specific subs), G2\u002FCapterra, Hacker News, LinkedIn, Indie Hackers, SparkToro |\n| SMB \u002F founders | Reddit (r\u002Fentrepreneur, r\u002Fsmallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro |\n| Developer \u002F DevOps | r\u002Fdevops, r\u002Fprogramming, Hacker News, Stack Overflow, Discord servers |\n| B2C \u002F consumer | App store reviews (1-3 star), Reddit hobby\u002Flifestyle subs, YouTube comments, TikTok\u002FInstagram comments |\n| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro |\n\n**Quick decision guide:**\n- Have a product category? → Start with G2\u002FCapterra reviews (yours + competitors)\n- Need to know where your audience spends time? → SparkToro (reveals podcasts, YouTube, subreddits, websites, social accounts)\n- Need raw language? → Reddit and YouTube comments\n- Need trigger events? → LinkedIn posts, job postings, Hacker News \"Ask HN\" threads\n- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions; SparkToro competitor audience analysis\n\n### What to Extract from Each Source\n\nFor every piece of content you find:\n\n| Field | What to Capture |\n|-------|----------------|\n| Source | Platform, thread URL, date |\n| Verbatim quote | Exact words — don't paraphrase |\n| Context | What prompted the comment? |\n| Sentiment | Positive \u002F negative \u002F neutral \u002F frustrated |\n| Theme tag | Pain \u002F trigger \u002F outcome \u002F alternative \u002F language |\n| Customer profile signals | Role, company size, industry hints from the post |\n\n### Research Synthesis Template\n\nAfter gathering from multiple sources, synthesize into:\n\n```\n## Top Themes (ranked by frequency × intensity)\n\n### Theme 1: [Name]\n**Summary**: [1-2 sentences]\n**Frequency**: Appeared in X of Y sources\n**Intensity**: High \u002F Medium \u002F Low (based on emotional language used)\n**Representative quotes**:\n- \"[exact quote]\" — [source, date]\n- \"[exact quote]\" — [source, date]\n**Implications**: What this means for messaging \u002F product \u002F positioning\n\n### Theme 2: ...\n```\n\n---\n\n## Mode 3: Interviews & Surveys (Primary Research)\n\nWhen there's no signal yet — or you need answers only the customer can give — go ask. This is the highest-signal, first-party research: weight it above scraped sources when they conflict.\n\n**Load `references\u002Finterviews-and-surveys.md` before running any interview or survey.** It covers:\n\n- **The first rule of customer research: you do not talk about customer research** — keep calls casual so customers give real answers, not performed ones\n- **Prove yourself wrong, not right** — research is disconfirmation, not validation (the Dropbox sync-speed example)\n- **Amy Hoy's Sales Safari** — passively mine pains, jargon, recommendations, and worldview from where the audience already gathers\n- **Recruiting your best customers** — segment the CRM by deal size \u002F short sales cycle \u002F low churn; ask sales & CS for referrals; always close with *\"who else should we talk to?\"*\n- **Outreach email template** and **incentives** — $50\u002Fcall, $5\u002Fsurvey; aim for 10 calls, be happy with 5\n- **Keep Asking Why (5-why laddering)** — worked example laddering a churn answer down to NRR; pain points vs. passion points\n- **The PMF survey (Sean Ellis \u002F Superhuman)** — *\"How would you feel if you could no longer use [product]?\"*; the **40% \"very disappointed\"** benchmark (Superhuman reached 58%)\n\nAnalyze whatever you gather back through the Mode 1 extraction framework and confidence guardrails above.\n\n---\n\n## Persona Generation\n\n### When there are no reviews yet\n\nEarly-stage products (or new categories) lack first-party review data. Don't invent personas — walk outward through proxy sources, in order:\n\n1. **Your own differentiator** — what the product does differently defines who feels that difference most; write the hypothesis down as a hypothesis\n2. **Direct competitors' reviews** — their customers describe the problem space in their words (note what's praised and what's missing)\n3. **Comparable products on marketplaces** — Amazon\u002Fapp-store reviews for adjacent solutions to the same job\n4. **Adjacent brands sharing the audience** — what else this buyer buys; their reviews reveal the buyer's broader language and values\n\nPersonas built this way are provisional: tag each with its proxy source, and replace proxy evidence with first-party evidence as real reviews arrive.\n\n\nPersonas 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.\n\n### Persona Structure\n\n```\n## [Persona Name] — [Role\u002FTitle]\n\n**Profile**\n- Title range: [e.g., \"Marketing Manager to VP of Marketing\"]\n- Company size: [e.g., \"50–500 employees, Series A–C SaaS\"]\n- Industry: [if narrow]\n- Reports to: [who]\n- Team size managed: [if relevant]\n\n**Primary Job to Be Done**\n[One sentence: what outcome are they trying to achieve in their role?]\n\n**Trigger Events**\nWhat causes them to start looking for a solution like yours?\n- [trigger 1]\n- [trigger 2]\n\n**Top Pains**\n1. [Pain — in their words if possible]\n2. [Pain]\n3. [Pain]\n\n**Desired Outcomes**\n- [What success looks like to them]\n- [How they measure it]\n- [How it makes them look to their boss\u002Fteam]\n\n**Objections and Fears**\n- [What makes them hesitate to buy or switch]\n\n**Alternatives They Consider**\n- [Competitor, DIY, do nothing, hire someone]\n\n**Key Vocabulary**\nWords and phrases they actually use (sourced from research):\n- \"[phrase]\"\n- \"[phrase]\"\n\n**How to Reach Them**\n- Channels: [where they spend time]\n- Content they consume: [formats, topics]\n- Influencers\u002Fcommunities they trust: [specific names if known]\n```\n\n### Persona Anti-Patterns\n\n- **Don't name them cutely** (\"Marketing Mary\") unless your team finds it helpful — it's often a distraction\n- **Don't average across segments** — a persona that represents everyone represents no one\n- **Don't invent details** — if you don't have data on something, leave it blank rather than filling it in\n- **Revisit quarterly** — personas decay as your market and product evolve\n\n---\n\n## Deliverable Formats\n\nDepending on what the user needs, offer:\n\n1. **Research synthesis report** — themes, quotes, patterns, and implications\n2. **VOC quote bank** — organized verbatim quotes by theme, for use in copy\n3. **Persona document** — 1-3 personas built from the research\n4. **Jobs-to-be-done map** — functional, emotional, and social jobs by segment\n5. **Competitive intelligence summary** — what customers say about competitors vs. you\n6. **Research gap analysis** — what you still don't know and how to find it\n\nAsk the user which deliverable(s) they need before generating output.\n\n---\n\n## Questions to Ask Before Proceeding\n\nIf context is unclear:\n\n1. **What's the goal?** Improve messaging? Build personas? Find product gaps? Understand churn?\n2. **What do you already have?** (transcripts, surveys, tickets, G2 reviews, nothing)\n3. **Who is the target segment?** (all customers, a specific tier, churned users, prospects who didn't buy)\n4. **What's your product?** (if not in the product marketing context file)\n5. **What do you want delivered?** (synthesis report, persona, quote bank, competitive intel)\n\nDon't ask all five at once — lead with #1 and #2, then follow up as needed.\n\n---\n\n## Related Skills\n\n| When to hand off | Skill |\n|-----------------|-------|\n| Writing copy informed by the research | `copywriting` |\n| Optimizing a page using VOC insights | `cro` |\n| Building a competitor comparison page | `competitors` |\n| Creating a churn prevention strategy from churn research | `churn-prevention` |\n| Planning paid ads informed by research | `ads` |\n| Writing cold email using research on pain\u002Ftrigger | `cold-email` |\n| Translating customer research into an ICP for outbound | `prospecting` |\n| Planning content based on discovered topics | `content-strategy` |\n| Rolling research into a comprehensive marketing plan | `marketing-plan` |\n",{"name":5,"metadata":52,"description":7},{"version":53},"2.0.2","main","e6ee720f466a8344a52abd87679191fadde3b63f",".agents\u002Fskills\u002Fcustomer-research","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills","https:\u002F\u002Fgithub.com\u002Fpatinaproject","https:\u002F\u002Fwww.patinaproject.com","The best way to pick your next pair of boots or shoes.","2026-11-12 00:44:02",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add patinaproject\u002Fskills --skill customer-research",{"tool":68,"command":69},"bunx","bunx skills add patinaproject\u002Fskills --skill customer-research",{"tool":71,"command":72},"pnpm","pnpm dlx skills add patinaproject\u002Fskills --skill customer-research","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcustomer-research\u002FSKILL.md",true,[76,82,86],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},"evals\u002Fevals.json","REFERENCE","参考文档",12547,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcustomer-research\u002Fevals\u002Fevals.json",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Finterviews-and-surveys.md",8640,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcustomer-research\u002Freferences\u002Finterviews-and-surveys.md",{"path":87,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fsource-guides.md",16190,"https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fcustomer-research\u002Freferences\u002Fsource-guides.md",[91,99,124,136,159,183],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":98},"01M72KDQJR99954NE224VB3KZ2","code-review","Review the changes since a fixed point (commit, branch, tag, or merge-base) along five axes: Standards (does the code follow this repo's documented coding standards?), Spec (does the code match what the originating issue\u002Fspec asked for?), Evidence (does each claim in the pull request have evidence that shows it?), Bugs (does the changed code have logic errors, unhandled states, races, or regressions?), and Security (does the change open injection, auth, secret, input, or CI workflow holes?). Runs the reviews in parallel sub-agents, tags every finding Important, Nit, or Pre-existing, and reports them side by side with what blocks merge. Given an earlier reviewed head and its findings, it reviews only the newer commits, rechecks the earlier findings, and never repeats one. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fcode\u002Fskills\u002Fcode-review\u002FSKILL.md",[],[],"2026-11-10 22:39:42",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":111,"publishedAt":47},"01M71ESEDVHD9EXN6787XHP7HD","writing-for-pstack","Write or tighten an operator prompt for a patina-mode run. Use when the operator asks to write, revise, or review a prompt that will be passed to patina-mode.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-pstack\u002FSKILL.md",[105,106],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[112,113,31,114,115,116,117,118,119,120,121,122,30,123],"for","pstack","writing for pstack","review","run","mode","write","operator","use","tighten","prompt","revise",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":132,"publishedAt":47},"01M71ESCJ0SSJFFENF8HYDKBTJ","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[130,131],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[133,112,31,134,120,135,30],"writing for agents","editing","documents",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":47},"01M71ESA1NN9WVMD2HA5Z1RRDY","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwizard\u002FSKILL.md",[],[138,143,144,145,146,147,30,148,149,150,151,152,120,153,154,155,112,156,157,158],"interactive","can","credentials","one","Bash","invoke","dashboard","generate","human","secrets","provisioning infrastructure","ci","up","setting","running","only",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":47},"01M71ES8FAN567N3JEPG8W6AS1","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[161,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,144,182,146],"more","true","decision","session","time","chunk","as","shared","map","tickets","destination","at","tracker","plan","work","agent session","one at a time",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":47},"01M71ES6PWJPKBW8R24YFH4PY6","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002Fpatinaproject\u002Fskills\u002Fblob\u002Fmain\u002Fplugins\u002Fwork\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[190,191,192,193,194,195,196,197,167,198],"wait","wait what","stop","it","land","re","pitch","message","last"]