{"slug":"suede-customer-research","title":"suede-customer-research","summary":"Suede-owned customer-research discipline for interview design, transcript and ticket synthesis, review and forum mining, quote banks, jobs, and evidence-backed personas. Use when discovering or synthesizing what a defined customer segment actually says, does, needs, and resists. ","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-23T08:58:01.823533Z","repo":{"url":"https://github.com/JasonColapietro/suede-creator-skills","stars":125,"forks":12,"license":"MIT","updatedAt":"2026-09-24T09:44:24Z"},"bodyHtml":"<hr>\n<h2>name: suede-customer-research\ndescription: \"Suede-owned customer-research discipline for interview design, transcript and ticket synthesis, review and forum mining, quote banks, jobs, and evidence-backed personas. Use when discovering or synthesizing what a defined customer segment actually says, does, needs, and resists. NOT FOR: competitor-only profiling (use suede-competitor-profiling), writing final marketing copy (use suede-copy), or deciding product priorities without product evidence (use suede-product-marketing).\"\nmetadata:\nversion: 2.0.1</h2>\n<h1>Suede Customer Research</h1>\n<p>Use this Suede customer-research playbook to ground positioning, product, and copy in traceable customer evidence rather than assumption.</p>\n<h2>Before Starting</h2>\n<p>Check for <code>.agents/product-marketing.md</code> (or <code>.claude/product-marketing.md</code>, or the legacy <code>product-marketing-context.md</code>) and read it if present — the ICP, segment definitions, and what research already exists decide where to look and what counts as a representative sample. Ask only what it does not already answer.</p>\n<hr>\n<h2>Two Modes of Research</h2>\n<h3>Mode 1: Analyze Existing Assets</h3>\n<p>You have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.</p>\n<h3>Mode 2: Go Find Research</h3>\n<p>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.</p>\n<p>Most engagements combine both. Establish which mode applies before proceeding.</p>\n<hr>\n<h2>Mode 1: Analyzing Existing Research Assets</h2>\n<h3>Asset Types</h3>\n<p><strong>Customer interview / sales call transcripts</strong></p>\n<ul>\n<li>Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered</li>\n<li>Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them</li>\n</ul>\n<p><strong>Survey results</strong></p>\n<ul>\n<li>Segment responses by customer tier, use case, or tenure before drawing conclusions</li>\n<li>Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)</li>\n<li>Identify: the 20% of responses that contain the most useful signal</li>\n</ul>\n<p><strong>Customer support conversations</strong></p>\n<ul>\n<li>Mine for: recurring complaints, confusion points, feature requests, and \"I wish it could…\" language</li>\n<li>Categorize tickets before analyzing — don't treat all tickets as equal signal</li>\n<li>Separate bugs from confusion from missing features from expectation mismatches</li>\n</ul>\n<p><strong>Win/loss interviews and churned customer notes</strong></p>\n<ul>\n<li>Wins: what tipped the decision? What almost made them choose a competitor?</li>\n<li>Losses and churn: was it price, features, fit, timing, or something else?</li>\n<li>Segment by reason — don't average across different churn causes</li>\n</ul>\n<p><strong>NPS responses</strong></p>\n<ul>\n<li>Passives and detractors are higher signal than promoters for improvement work</li>\n<li>Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment</li>\n</ul>\n<h3>Extraction Framework</h3>\n<p>For each asset, extract:</p>\n<ol>\n<li><p><strong>Jobs to Be Done</strong> — what outcome is the customer trying to achieve?</p>\n<ul>\n<li>Functional job: the task itself</li>\n<li>Emotional job: how they want to feel</li>\n<li>Social job: how they want to be perceived</li>\n</ul>\n</li>\n<li><p><strong>Pain Points</strong> — what's frustrating, broken, or inadequate about their current situation?</p>\n<ul>\n<li>Prioritize pains mentioned unprompted and with emotional language</li>\n</ul>\n</li>\n<li><p><strong>Trigger Events</strong> — what changed that made them seek a solution?</p>\n<ul>\n<li>Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something</li>\n</ul>\n</li>\n<li><p><strong>Desired Outcomes</strong> — what does success look like in their words?</p>\n<ul>\n<li>Capture exact quotes, not paraphrases</li>\n</ul>\n</li>\n<li><p><strong>Language and Vocabulary</strong> — exact words and phrases customers use</p>\n<ul>\n<li>This is gold for copy. \"We were drowning in spreadsheets\" &gt; \"manual process inefficiency\"</li>\n</ul>\n</li>\n<li><p><strong>Alternatives Considered</strong> — what else did they look at or try?</p>\n<ul>\n<li>Includes doing nothing, hiring someone, or building internally</li>\n</ul>\n</li>\n</ol>\n<h3>Synthesis Steps</h3>\n<p>After extracting from individual assets:</p>\n<ol>\n<li><strong>Cluster by theme</strong> — group similar pains, outcomes, and triggers across assets</li>\n<li><strong>Frequency + intensity scoring</strong> — how often does a theme appear, and how strongly is it felt?</li>\n<li><strong>Segment by customer profile</strong> — do patterns differ by company size, role, use case, or tenure?</li>\n<li><strong>Identify the \"money quotes\"</strong> — 5-10 verbatim quotes that best represent each theme</li>\n<li><strong>Flag contradictions</strong> — where do customers say one thing but do another?</li>\n</ol>\n<h3>Research Quality Guardrails</h3>\n<p>Label every insight with a confidence level before presenting it:</p>\n<table>\n<thead>\n<tr>\n<th>Confidence</th>\n<th>Criteria</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>High</strong></td>\n<td>Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments</td>\n</tr>\n<tr>\n<td><strong>Medium</strong></td>\n<td>Theme appears in 2 sources, or only prompted, or limited to one segment</td>\n</tr>\n<tr>\n<td><strong>Low</strong></td>\n<td>Single source; could be an outlier; needs validation</td>\n</tr>\n</tbody>\n</table>\n<p><strong>Recency window</strong>: Weight sources from the last 12 months more heavily. Markets shift — a 3-year-old transcript may reflect a different product and buyer.</p>\n<p><strong>Sample bias checks</strong>:</p>\n<ul>\n<li>Online reviewers skew toward power users and people with strong opinions</li>\n<li>Support tickets skew toward problems, not value</li>\n<li>Reddit skews technical and skeptical vs. mainstream buyers</li>\n<li>Factor this in when drawing conclusions about \"all customers\"</li>\n</ul>\n<p><strong>Minimum viable sample</strong>: 5 independent data points per segment — interviews, reviews, tickets, or community posts — before building a persona or drawing a messaging conclusion for that segment. Below 5, present the material as raw signal, not as a finding.</p>\n<hr>\n<h2>Mode 2: Digital Watering Hole Research</h2>\n<p>Online communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.</p>\n<h3>Where to Look</h3>\n<p>Choose sources based on your ICP type — then read <code>references/source-guides.md</code> for detailed playbooks, search operators, and per-platform extraction tips.</p>\n<table>\n<thead>\n<tr>\n<th>ICP Type</th>\n<th>Primary Sources</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>B2B SaaS / technical buyers</td>\n<td>Reddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers, SparkToro</td>\n</tr>\n<tr>\n<td>SMB / founders</td>\n<td>Reddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups, SparkToro</td>\n</tr>\n<tr>\n<td>Developer / DevOps</td>\n<td>r/devops, r/programming, Hacker News, Stack Overflow, Discord servers</td>\n</tr>\n<tr>\n<td>B2C / consumer</td>\n<td>App store reviews (1-3 star), Reddit hobby/lifestyle subs, YouTube comments, TikTok/Instagram comments</td>\n</tr>\n<tr>\n<td>Enterprise</td>\n<td>LinkedIn, industry analyst reports, G2 Enterprise filter, job postings, SparkToro</td>\n</tr>\n</tbody>\n</table>\n<p><strong>Quick decision guide:</strong></p>\n<ul>\n<li>Have a product category? → Start with G2/Capterra reviews (yours + competitors)</li>\n<li>Need to know where your audience spends time? → SparkToro (reveals podcasts, YouTube, subreddits, websites, social accounts)</li>\n<li>Need raw language? → Reddit and YouTube comments</li>\n<li>Need trigger events? → LinkedIn posts, job postings, Hacker News \"Ask HN\" threads</li>\n<li>Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions; SparkToro competitor audience analysis</li>\n</ul>\n<h3>What to Extract from Each Source</h3>\n<p>For every piece of content you find:</p>\n<table>\n<thead>\n<tr>\n<th>Field</th>\n<th>What to Capture</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Source</td>\n<td>Platform, thread URL, date</td>\n</tr>\n<tr>\n<td>Verbatim quote</td>\n<td>Exact words — don't paraphrase</td>\n</tr>\n<tr>\n<td>Context</td>\n<td>What prompted the comment?</td>\n</tr>\n<tr>\n<td>Sentiment</td>\n<td>Positive / negative / neutral / frustrated</td>\n</tr>\n<tr>\n<td>Theme tag</td>\n<td>Pain / trigger / outcome / alternative / language</td>\n</tr>\n<tr>\n<td>Customer profile signals</td>\n<td>Role, company size, industry hints from the post</td>\n</tr>\n</tbody>\n</table>\n<h3>Persist Captures Before Synthesizing</h3>\n<p>Save what you gathered before extracting themes from it — otherwise the\nprovenance gate below is unenforceable and a re-run repeats the entire\ncollection. Mirror the raw-evidence convention <code>suede-competitor-profiling</code>\nuses: one dated folder per run at <code>customer-research/raw/&lt;YYYY-MM-DD&gt;/</code>, one\nfile per source inside it (<code>reddit.md</code>, <code>g2-&lt;competitor&gt;.md</code>, <code>app-store.md</code>),\nplus a <code>captures.csv</code> whose columns are the capture table above. Create the date\nfolder fresh each run and never overwrite a prior date's — that is how you diff\nwhat moved in the market. Mode 1 assets (transcripts, tickets, win/loss notes,\nNPS verbatims) usually already live somewhere: don't copy them, record each in\n<code>captures.csv</code> by file path or system identifier plus date and segment, so every\nquote resolves to a named record either way.</p>\n<h3>Research Synthesis Template</h3>\n<p>After gathering from multiple sources, synthesize into:</p>\n<pre><code>## 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 / Medium / 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 / product / positioning\n\n### Theme 2: ...\n</code></pre>\n<hr>\n<h2>Persona Generation</h2>\n<h3>When there are no reviews yet</h3>\n<p>Early-stage products (or new categories) lack first-party review data. Don't invent personas — walk outward through proxy sources, in order:</p>\n<ol>\n<li><strong>Your own differentiator</strong> — what the product does differently defines who feels that difference most; write the hypothesis down as a hypothesis</li>\n<li><strong>Direct competitors' reviews</strong> — their customers describe the problem space in their words (note what's praised and what's missing)</li>\n<li><strong>Comparable products on marketplaces</strong> — Amazon/app-store reviews for adjacent solutions to the same job</li>\n<li><strong>Adjacent brands sharing the audience</strong> — what else this buyer buys; their reviews reveal the buyer's broader language and values</li>\n</ol>\n<p>Personas built this way are provisional: tag each with its proxy source, and replace proxy evidence with first-party evidence as real reviews arrive. The minimum viable sample above applies to proxy evidence too.</p>\n<h3>Persona Structure</h3>\n<p><strong>Read <a href=\"references/persona-templates.md\">references/persona-templates.md</a> before writing the first persona of a run</strong> — it holds the full fill-in structure (profile, primary job, triggers, pains, desired outcomes, objections, alternatives, vocabulary, how to reach them). Personas written from memory drift field by field and stop being comparable.</p>\n<h3>Persona Anti-Patterns</h3>\n<ul>\n<li><strong>Don't name them cutely</strong> (\"Marketing Mary\") unless your team finds it helpful — it's often a distraction</li>\n<li><strong>Don't average across segments</strong> — a persona that represents everyone represents no one</li>\n<li><strong>Don't invent details</strong> — if you don't have data on something, leave it blank rather than filling it in</li>\n<li><strong>Revisit quarterly</strong> — personas decay as your market and product evolve</li>\n</ul>\n<hr>\n<h2>Provenance Gate</h2>\n<p>Run this over the finished deliverable, before it goes out. Boundaries below\nforbids fabricated quotes, themes, sample sizes and frequency counts; this is\nwhat makes that checkable rather than aspirational.</p>\n<ul>\n<li><strong>Every verbatim resolves to a named capture record.</strong> Mode 2: platform, thread URL, and date, per the capture table above. Mode 1: the asset identifier or file, plus date and segment. A quote that cannot be attributed to a capture record is <strong>cut</strong> — never paraphrased into a theme, never rolled into a frequency count.</li>\n<li><strong>Recount the numbers at the same pass.</strong> \"Appeared in X of Y sources\" and every High/Medium/Low confidence label are recomputed from the capture records right now, not carried over from a draft. A confidence label that no longer matches the count gets downgraded, not defended.</li>\n<li><strong>Name the sample.</strong> Source mix, segment, date range, and total captures appear in the deliverable itself, so the reader can judge the base the conclusions sit on.</li>\n</ul>\n<hr>\n<h2>Deliverable Formats</h2>\n<p>Default deliverable: a <strong>research synthesis report</strong> (themes, quotes, patterns,\nimplications) plus a <strong>VOC quote bank</strong> organized by theme. Produce those unless\nthe user asked for something else.</p>\n<p>Offer these instead or in addition when the goal calls for it: a <strong>persona\ndocument</strong> (1-3 personas), a <strong>jobs-to-be-done map</strong> (functional, emotional,\nsocial jobs by segment), a <strong>competitive intelligence summary</strong> (what customers\nsay about competitors vs. you), or a <strong>research gap analysis</strong> (what you still\ndon't know and how to find it).</p>\n<hr>\n<h2>Questions to Ask Before Proceeding</h2>\n<p>If context is unclear:</p>\n<ol>\n<li><strong>What's the goal?</strong> Improve messaging? Build personas? Find product gaps? Understand churn?</li>\n<li><strong>What do you already have?</strong> (transcripts, surveys, tickets, G2 reviews, nothing)</li>\n<li><strong>Who is the target segment?</strong> (all customers, a specific tier, churned users, prospects who didn't buy)</li>\n<li><strong>What's your product?</strong> (if not in the product marketing context file)</li>\n</ol>\n<p>Don't ask all four at once — lead with #1 and #2, then follow up as needed.</p>\n<hr>\n<h2>Boundaries</h2>\n<ul>\n<li>Do not fabricate quotes, themes, sample sizes, sentiment, persona traits, or frequency counts.</li>\n<li>Do not contact participants, record sessions, scrape restricted communities, or expose identifying data without explicit authorization and consent.</li>\n<li>Do not present a convenience sample as representative; state source, segment, dates, sample size, and collection limits.</li>\n<li>Do not decide product priorities or customer truth from synthesis alone; separate evidence, inference, and open questions.</li>\n</ul>\n<h2>Routing</h2>\n<ul>\n<li>Need final copy from customer language -&gt; use <code>suede-copy</code>.</li>\n<li>Need competitor-only evidence -&gt; use <code>suede-competitor-profiling</code>.</li>\n<li>Need ICP or positioning synthesis -&gt; use <code>suede-product-marketing</code>.</li>\n<li>Need churn, outbound, paid, or content application -&gt; use <code>suede-churn-prevention</code>, <code>suede-cold-email</code>, <code>suede-ads</code>, or <code>suede-content-strategy</code>.</li>\n<li>From those skills, route interview design, review mining, and evidence synthesis back to <code>suede-customer-research</code>.</li>\n</ul>\n","files":[{"path":"agents/openai.yaml","sizeBytes":583,"isText":true},{"path":"CARD.md","sizeBytes":4487,"isText":true},{"path":"evals/evals.json","sizeBytes":10991,"isText":true},{"path":"references/persona-templates.md","sizeBytes":1547,"isText":true},{"path":"references/source-guides.md","sizeBytes":16640,"isText":true},{"path":"SKILL.md","sizeBytes":13703,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-13T07:22:57.969289Z","sha256":"92DD630D12A5FCF18500BA89E276C8D9ED32F92C0F09F66CF51503B74CDA95CD","sizeBytes":19796},"review":null,"source":{"repositoryUrl":"https://github.com/JasonColapietro/suede-creator-skills","path":"skills/suede-customer-research","license":"MIT","commit":"05d69df3c3b6a51d497ba14b0be90cc8932216a7","subtreeSha":"3941FE9644A36BBD21976FEF95CE111C804270CF587E54F4500B5867C4DDF29A","lastSyncedAt":"2026-09-25T07:37:29.687342Z"},"reviewedAt":"2026-09-13T07:24:13.35343Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/JasonColapietro/suede-creator-skills/tree/main/skills/suede-customer-research"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jasoncolapietro-suede-creator-skills@llmmart"},{"target":"git","command":"git clone https://github.com/JasonColapietro/suede-creator-skills.git"}]}