Install any skill in seconds. Free to start, no credit card required.
Get Started Free →When the user needs to analyze, categorize, or extract actionable insights from customer feedback across multiple sources, especially feature requests.
.claude/skills/mkurman-feedback-synthesis/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 85% | 0% |
-|-----------|-------------------|-------------------|---------------------|----------| | Theme] | Count] | Segments] | Score] | High/Med/Low] | H/M/L] |
Actions that address frequent feedback with low implementation effort.
Themes explicitly deprioritized with reasoning.
Breakdown by source, segment, and time period.
## Frameworks & Best Practices
### Opportunities Over Features
Never let customers design solutions. Prioritize opportunities (problems), not features. When a user says "I want a Gantt chart," the underlying opportunity might be "I need to visualize project timelines and communicate status to stakeholders." Always dig for the job-to-be-done behind the request.
### Opportunity Score (Dan Olsen)
Score each theme: Opportunity Score = Importance x (1 - Satisfaction), normalized to 0-1. This surfaces problems that are both important and underserved. A high-importance, high-satisfaction area is already well-served and should not be prioritized over a high-importance, low-satisfaction gap.
### Signal vs. Noise Rules
- **One customer saying it is not a pattern.** Require 3+ independent mentions of a theme before treating it as a signal. Exception: if the one customer is a whale account citing it as a churn risk.
- **Recency bias check.** A flood of recent feedback about one issue can overshadow a persistent problem. Always compare against the prior period.
- **Loudest does not equal most important.** Power users and vocal customers generate disproportionate feedback. Weight by segment size and revenue contribution, not volume alone.
- **Praise is data too.** Track what users love. Knowing your strengths prevents you from accidentally breaking them during a redesign.
### Assumption Testing
For each top-priority opportunity, identify the highest-risk assumption and design the cheapest possible test. Do not build the full solution to validate an assumption that could be tested with a prototype, survey, or Wizard of Oz experiment.
### Source-Specific Guidance
| Source | Strengths | Watch Out For |
|--------|-----------|---------------|
| Support tickets | High signal, specific problems | Skews toward bugs, misses satisfied users |
| NPS/surveys | Broad coverage, quantifiable | Low response rates can bias results |
| Feature request boards | Organized, vote counts available | Power users dominate voting |
| Sales call notes | Revenue-adjacent, prospect perspective | Prospects request features they may never use |
| App store reviews | Public, includes competitor comparisons | Skews negative, vague complaints |
| Social media | Unfiltered, real-time | Noisy, hard to segment |
### Avoiding Common Mistakes
- **Cherry-picking quotes** that support a pre-existing hypothesis. Present the full distribution, including contradictory feedback.
- **Conflating frequency with importance.** A low-frequency issue that causes churn matters more than a high-frequency annoyance users tolerate.
- **Delivering data without recommendations.** A theme map without action items is a report, not a synthesis. Always end with what to do next.
- **Ignoring the silent majority.** Users who never complain may be happy or disengaged. Segment analysis helps distinguish the two.
## Related Skills
- `user-research-synthesis` -- Chain when feedback analysis reveals gaps that need dedicated user research (interviews, usability tests).
- `churn-analysis` -- Chain when feedback themes correlate with churn patterns and need deeper retention analysis.
- `prd-writing` -- Chain when a clear opportunity emerges from the synthesis and needs to be specced into a PRD.
## Examples
### Example 1: Feature request prioritization
**User:** "Our feature request board has 150 items. Help me figure out what to build next quarter."
**Good output excerpt:**
> **Executive Summary:** 150 requests cluster into 9 themes. The top opportunity is not the most-requested feature (SSO, 34 votes) but the most underserved need: "real-time collaboration on shared documents" (Opportunity Score: 0.82). SSO scores lower (0.45) because existing workarounds satisfy most users adequately.
>
> **Opportunity 1: Real-time collaboration**
> - **Rationale:** 22 requests across 4 segments. Cited as expansion blocker in 3 enterprise deals worth $85K ARR. Current satisfaction: 2/10.
> - **Alternative solutions:** (a) Full real-time editing, (b) Lightweight commenting and presence indicators, (c) Async review workflow with notifications
> - **High-risk assumption:** Users want simultaneous editing, not just awareness of others' changes
> - **Cheapest test:** Add presence indicators only (show who is viewing a document) and measure whether collaboration-related tickets decrease
### Example 2: Multi-source synthesis
**User:** "We have 200 support tickets, 50 NPS responses, and notes from 10 customer interviews from last month. What are customers telling us?"
**Good output excerpt:**
> **Theme 1: CSV export broken for large datasets** (Opportunity Score: 0.91)
> - 47 support tickets, 8 NPS detractors, 3 interviews. Users hitting the 10K row limit work around it by splitting exports manually.
> - **Strategic alignment:** High -- data export is core to our "open platform" positioning.
> - **Cheapest test:** Not needed; this is a clear bug/limitation. Fix directly.
> - **Quick win:** Increase CSV export limit to 100K rows (engineering estimate: 2 days).| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 38,227 | 32,455 | -15% | 1 | 1 | 0% | 6,261 | 6,420 | +3% | 0 | 0 | — |
case-02 | fail→pass | 32,132 | 23,360 | -27% | 1 | 1 | 0% | 4,706 | 4,903 | +4% | 0 | 0 | — |
case-03 | fail→pass | 34,991 | 26,671 | -24% | 1 | 1 | 0% | 5,489 | 5,727 | +4% | 0 | 0 | — |
case-04 | fail→pass | 13,613 | 7,893 | -42% | 1 | 1 | 0% | 1,927 | 2,433 | +26% | 0 | 0 | — |
case-05 | pass→pass | 14,540 | 16,551 | +14% | 1 | 1 | 0% | 2,060 | 3,665 | +78% | 0 | 0 | — |
case-06 | pass→pass | 15,882 | 10,794 | -32% | 1 | 1 | 0% | 2,353 | 2,957 | +26% | 0 | 0 | — |
case-07 | pass→pass | 11,430 | 10,451 | -9% | 1 | 1 | 0% | 1,681 | 2,720 | +62% | 0 | 0 | — |
case-08 | pass→pass | 11,719 | 14,838 | +27% | 1 | 1 | 0% | 1,746 | 3,423 | +96% | 0 | 0 | — |
case-09 | pass→pass | 14,877 | 10,593 | -29% | 1 | 1 | 0% | 2,251 | 2,799 | +24% | 0 | 0 | — |
case-10 | pass→pass | 15,992 | 13,025 | -19% | 1 | 1 | 0% | 2,335 | 3,173 | +36% | 0 | 0 | — |
case-11 | pass→pass | 14,207 | 11,634 | -18% | 1 | 1 | 0% | 2,109 | 2,983 | +41% | 0 | 0 | — |
case-12 | fail→pass | 14,264 | 19,539 | +37% | 1 | 1 | 0% | 2,133 | 3,955 | +85% | 0 | 0 | — |
case-13 | pass→pass | 12,693 | 7,789 | -39% | 1 | 1 | 0% | 2,007 | 2,349 | +17% | 0 | 0 | — |
case-14 | fail→pass | 6,034 | 3,951 | -35% | 1 | 1 | 0% | 1,206 | 2,100 | +74% | 0 | 0 | — |
case-15 | pass→pass | 9,088 | 5,778 | -36% | 1 | 1 | 0% | 1,398 | 2,179 | +56% | 0 | 0 | — |
case-16 | pass→pass | 9,072 | 8,200 | -10% | 1 | 1 | 0% | 1,258 | 2,503 | +99% | 0 | 0 | — |
case-17 | pass→pass | 15,323 | 14,065 | -8% | 1 | 1 | 0% | 2,293 | 3,529 | +54% | 0 | 0 | — |
case-18 | pass→pass | 16,060 | 17,153 | +7% | 1 | 1 | 0% | 2,388 | 3,820 | +60% | 0 | 0 | — |
case-19 | pass→pass | 7,378 | 4,051 | -45% | 1 | 1 | 0% | 1,225 | 1,961 | +60% | 0 | 0 | — |
case-20 | fail→fail | 35,128 | 31,372 | -11% | 1 | 1 | 0% | 6,178 | 6,902 | +12% | 0 | 0 | — |
case-21 | fail→fail | 13,206 | 16,611 | +26% | 1 | 1 | 0% | 2,489 | 4,374 | +76% | 0 | 0 | — |
case-22 | fail→fail | 20,522 | 24,570 | +20% | 1 | 1 | 0% | 3,547 | 5,516 | +56% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.