Skip to content This library is free, offered as dana. If it helps your work, donate here →

This is one of 3,622 free prompts in the penguin tree ai library. Sign up once and the whole library opens, with new prompts by email.

open the library →

Customer feedback pattern extractor

Synthesizes raw qualitative feedback — user interview notes, open-ended survey responses, support tickets, sales call transcripts — into ranked themes, recurring patterns, supporting verbatim quotes, severity scores…

download .md

Purpose

Turn a messy pile of qualitative feedback into a structured, evidence-backed synthesis — ranked themes, the patterns behind them, supporting verbatim quotes, and prioritized product insights — so a PM or researcher can move from "we have 40 interviews" to "here are the three things we should build" without losing the signal in the noise.

When to Use

Invoke this skill when the user asks to:

  • Synthesize user interview notes or transcripts into themes
  • Analyze open-ended survey responses for recurring patterns
  • Make sense of support tickets, NPS comments, or churn feedback
  • Find what customers keep asking for or complaining about across sources
  • Build a research readout or insights summary for a discovery sprint
  • Decide what to prioritize based on qualitative customer data

Inputs Required

Before starting, collect:

  • Feedback corpus: The raw notes, transcripts, survey exports, or quotes (paste or describe volume)
  • Source type: Interviews / surveys / support tickets / sales calls / reviews / mixed
  • Research goal: The question this research was meant to answer
  • Audience segment: Who provided the feedback (role, plan tier, lifecycle stage, persona)
  • Product context: What the product does and where it is in its lifecycle
  • Decision at stake: What the synthesis will inform (roadmap, a feature, a pivot, messaging)

If the research goal or decision is missing, infer the most likely intent from the corpus and state the assumption explicitly before delivering.

Instructions

Step 1: Tag and Code the Raw Data

Read the full corpus and apply open coding before forcing structure.

  • Assign each distinct statement a short code (e.g., "onboarding too long," "wants Slack integration," "pricing unclear")
  • Tag each code with a valence: Pain / Desire / Praise / Behavior / Objection
  • Track the source ID so every code traces back to a specific respondent — this preserves the evidence trail
  • Do not merge codes prematurely; capture nuance first, cluster second

Step 2: Cluster Codes into Themes

Group related codes into 4–8 themes using affinity logic.

  • A theme requires support from at least 2 distinct sources — single-source observations are flagged separately as "weak signal," not themes
  • Name each theme as an insight, not a topic: "Users abandon setup when forced to invite teammates first" beats "Onboarding"
  • Note when codes pull in opposite directions — contradictions are findings, not errors

Step 3: Score Each Theme

For every theme, assign three scores:

  • Frequency: How many distinct sources raised it (count, not vibe)
  • Severity: High / Medium / Low — how much it blocks the user's goal or threatens retention
  • Confidence: Strong / Moderate / Tentative — based on source count, consistency, and how directly the data supports the interpretation

Rank themes by a blended view of frequency × severity, surfacing high-severity themes even when frequency is moderate.

Step 4: Attach Verbatim Evidence

For each theme, include 2–3 representative verbatim quotes drawn from the corpus.

  • Quotes must be real excerpts from the provided feedback — never fabricated or paraphrased into a quote
  • Choose quotes that show the emotion and specificity behind the theme, not the blandest restatement
  • If the corpus lacks a usable quote for a theme, note that the theme is inferred from coded patterns rather than a clean verbatim

Step 5: Separate Signal From Noise

Explicitly call out:

  • Strong signals: Themes with high frequency and consistency
  • Weak signals: Single-source or low-confidence items worth watching, not acting on
  • Contradictions: Where segments or individuals want opposing things — and a hypothesis for why
  • Surprises: Findings that contradict the team's likely assumptions

Step 6: Translate Themes into Product Insights

Convert the top themes into decision-ready insights. For each:

  1. Insight: What the data tells us (one sentence, declarative)
  2. So what: The implication for the product or business
  3. Recommended action: Build / investigate / monitor / deprioritize — with a concrete next step
  4. Validation gap: What you'd need to learn before committing significant resources

Step 7: Prioritized Recommendation

Close with the top 3 actions in priority order, each tied back to its supporting theme and score. Be decisive — name what to do first.

Output Format

  • Structure: Executive summary → ranked theme table → per-theme detail with quotes → signal/noise/contradiction callouts → product insights → top 3 prioritized actions
  • Length: 1,000–1,500 words
  • Format: Structured document; a scannable theme table plus prose detail blocks and bulleted insights
  • Sections: Summary (3–4 sentences) / Theme Ranking Table (Theme · Frequency · Severity · Confidence) / Theme Detail (with quotes) / Signal vs. Noise / Product Insights / Top 3 Prioritized Actions
  • Tone: Senior researcher briefing a product team — evidence-first, plain-spoken, willing to make a call

Quality Checklist

Before delivering output, verify:

  • [ ] 4–8 themes are identified, each backed by at least 2 distinct sources
  • [ ] Every theme has a frequency count, severity rating, and confidence rating
  • [ ] Every quote is a real excerpt from the provided corpus — none fabricated
  • [ ] Themes are named as insights, not single-word topics
  • [ ] Contradictions and weak signals are flagged separately from strong themes
  • [ ] The top 3 actions are ranked and each traces back to a scored theme

Notes

  • The most common synthesis failure is mistaking the loudest respondent for the most representative one — frequency counts guard against this; always count distinct sources, not mentions.
  • High-severity, low-frequency themes (e.g., a single enterprise account describing a dealbreaker) are easy to bury and often the most consequential — never let raw frequency alone bury them.
  • If the corpus is too small for confident patterns (fewer than ~5 sources), say so plainly and frame the output as directional hypotheses rather than validated findings.
  • Resist synthesizing toward what the team already wants to hear — surprises and contradictions are where the value lives.

How to use this skill

This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.

Installing in Claude Code:

  • ~/.claude/skills/<folder-name>/SKILL.md — auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)
  • <your-project>/.claude/skills/<folder-name>/SKILL.md — auto-loads only when working in that project (recommended for project-specific skills)

Restart Claude Code or open a new session to register.

Using in Claude.ai, ChatGPT, Gemini, or other AI tools:

  1. Drag this file into a new chat, or copy and paste its contents
  2. Send your task or request as your next message — the AI will apply the skill where it fits

For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills