Voice of customer synthesizer

Aggregate customer feedback from multiple sources — support tickets, NPS comments, Slack messages, G2 reviews, call transcripts, survey responses — into a unified VoC report with theme clustering, sentiment analysis, trend detection, and actionable recommendations for product, marketing, and CS teams.

How to use it

  1. Hit Copy SKILL.md — or use the Claude Code line below to get every file.
  2. Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
    ChatGPT: make a Project and paste it into Instructions.
    Neither? Paste it at the top of a new chat — it works for that chat.
  3. Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/research/composites/voice-of-customer-synthesizer#main ~/.claude/skills/voice-of-customer-synthesizer

For one project only, change the path to .claude/skills/voice-of-customer-synthesizer. This skill also uses run_skill.py — copying SKILL.md alone won't be enough. See the folder on GitHub.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text313 lines
voice-of-customer-synthesizer/SKILL.md313 lines9.6 KBpushed 96d agoRawView on GitHub

Voice of Customer Synthesizer

Turn scattered customer feedback into a single source of truth. Aggregates signals from every source you have, clusters them into themes, and produces a report that product, marketing, and CS teams can actually act on.

Built for: Startups where customer feedback lives in 6 different places and nobody has time to synthesize it. The founder says "what are customers saying?" and nobody has a clear answer. This skill produces that answer.

When to Use

  • "What are our customers saying?"
  • "Synthesize customer feedback from last quarter"
  • "Build a VoC report for the product team"
  • "What themes are coming up in customer feedback?"
  • "Aggregate feedback from all our channels"

Phase 0: Intake

Feedback Sources (provide all you have)

  1. Support tickets — Export from support tool (CSV: customer, date, subject, description, tags, resolution)
  2. NPS/CSAT survey responses — Scores + verbatim comments
  3. Slack messages — Customer channel messages, feedback channels
  4. G2/Capterra reviews — Will scrape if product is listed (provide product name or URL)
  5. Call/meeting transcripts — Customer call recordings or notes
  6. Churn exit survey responses — Why did customers leave?
  7. Feature request log — Internal tracker of what customers have asked for
  8. Social mentions — Twitter/LinkedIn/Reddit threads mentioning your product
  9. Email threads — Notable customer emails (praise or complaints)
  10. In-app feedback — Any in-product feedback submissions

Configuration

  1. Time period — What window to analyze? (Last 30 days, quarter, 6 months)
  2. Product name — For review scraping and context
  3. Report audience — Who's reading this? (Product team, exec team, CS team, all)
  4. Focus areas — Any specific themes to pay attention to? (e.g., "onboarding experience", "pricing feedback", "mobile app")

Phase 1: Data Collection

1A: Internal Data Processing

From the provided inputs, normalize all feedback into a standard format:

SOURCE | DATE | CUSTOMER | SEGMENT | FEEDBACK_TEXT | SENTIMENT | CATEGORY

Sentiment classification per item:

  • Positive — Praise, satisfaction, delight
  • Neutral — Feature request, question, observation
  • Negative — Complaint, frustration, disappointment
  • Critical — Churn threat, escalation, anger

1B: External Review Scraping (if applicable)

If product is on review platforms:

Chain: review-site-scraper for G2, Capterra, Trustpilot
Filter: reviews from the target time period

Extract: rating, review text, reviewer role/company size, date, pros, cons.

1C: Social Listening (if applicable)

Search: "[product name]" feedback OR review OR "switched to" OR "stopped using"
Search: "[product name]" site:reddit.com OR site:twitter.com

Phase 2: Theme Clustering

Group all feedback items into themes using a bottom-up approach:

Clustering Method

  1. Read all feedback items
  2. Identify recurring topics (mentioned by 3+ customers or in 3+ sources)
  3. Group into theme clusters
  4. Rank by frequency AND severity

Theme Template

THEME: [Name — e.g., "Onboarding Complexity"]
FREQUENCY: [N mentions across M sources]
SENTIMENT: [Predominantly positive/neutral/negative]
TREND: [↑ Growing / → Stable / ↓ Declining vs prior period]

REPRESENTATIVE QUOTES:
- "[Exact quote]" — [Source, Customer segment, Date]
- "[Exact quote]" — [Source, Customer segment, Date]
- "[Exact quote]" — [Source, Customer segment, Date]

CUSTOMER SEGMENTS AFFECTED:
- [Segment 1: e.g., "New customers in first 30 days"]
- [Segment 2: e.g., "Enterprise accounts"]

ROOT CAUSE HYPOTHESIS:
[1-2 sentences: Why is this coming up? What's the underlying issue?]

IMPACT:
- On retention: [High/Medium/Low]
- On expansion: [High/Medium/Low]
- On acquisition: [High/Medium/Low]

Phase 3: Analysis

3A: Sentiment Overview

Overall Sentiment Distribution:
  Positive:  [N] items ([X%])  ████████░░
  Neutral:   [N] items ([X%])  ████░░░░░░
  Negative:  [N] items ([X%])  ██░░░░░░░░
  Critical:  [N] items ([X%])  █░░░░░░░░░

3B: Source Comparison

Source Volume Avg Sentiment Top Theme
Support tickets [N] [Pos/Neg score] [Theme]
NPS comments [N] [Score] [Theme]
G2 reviews [N] [Score] [Theme]
Slack [N] [Score] [Theme]
Calls [N] [Score] [Theme]

Insight: Different sources often reveal different stories. Support tickets skew negative (problems). Reviews skew bipolar (love/hate). Calls reveal nuance. Note where themes appear across sources for highest confidence.

3C: Segment Analysis

Customer Segment Dominant Sentiment Top Request Key Pain
[New customers] [Sentiment] [Request] [Pain]
[Power users] [Sentiment] [Request] [Pain]
[Enterprise] [Sentiment] [Request] [Pain]
[Churned] [Sentiment] [Request] [Pain]

3D: Trend Detection

Compare against prior period (if available):

Theme Prior Period This Period Trend Alert
[Theme 1] [N mentions] [N mentions] [↑X%] [New/Growing/Stable/Declining]
[Theme 2] ... ... ... ...

New themes this period: [Themes that weren't present before] Resolved themes: [Themes that decreased significantly — things you fixed]

Phase 4: Recommendations

For Product Team

Priority Theme Recommendation Evidence Strength
P0 [Theme] [Specific action] [N mentions, M sources, includes churn signals]
P1 [Theme] [Action] [Evidence]
P2 [Theme] [Action] [Evidence]

For CS/Support Team

Action Theme Expected Impact
[Create help article for X] [Theme] Deflect ~[N] tickets/month
[Add onboarding step for Y] [Theme] Reduce confusion for new users
[Proactive outreach to segment Z] [Theme] Prevent churn in at-risk segment

For Marketing Team

Action Theme Opportunity
[Use this proof point in messaging] [Positive theme] "[Customer quote ready for marketing]"
[Address this objection on website] [Negative theme] Counter common concern pre-sale
[Build case study around X] [Positive theme] [N] customers mentioned this win

Phase 5: Output Format

# Voice of Customer Report — [Period]
Sources analyzed: [list]
Total feedback items: [N]
Date range: [start] — [end]

---

## Executive Summary

[3-5 sentences: What are customers saying? What's the overall sentiment?
What's the single most important thing to act on?]

---

## Sentiment Overview

Positive: [X%] | Neutral: [X%] | Negative: [X%] | Critical: [X%]

Net Sentiment Score: [calculated — % positive minus % negative]
vs Prior Period: [+/- X points]

---

## Top Themes (Ranked by Impact)

### 1. [Theme Name] — [Sentiment] — [N mentions]
**Summary:** [2-3 sentences]
**Key quotes:**
> "[Quote]" — [Source]
> "[Quote]" — [Source]
**Recommended action:** [What to do]
**Owner:** [Product / CS / Marketing]

### 2. [Theme Name] — ...

### 3. [Theme Name] — ...

[Continue for top 5-8 themes]

---

## What Customers Love (Preserve These)

| Strength | Evidence | Marketing Opportunity |
|----------|---------|----------------------|
| [Feature/experience] | "[Quote]" — [N mentions] | [How to use in messaging] |

---

## What Customers Want (Feature Requests)

| Request | Frequency | Segments | Product Priority |
|---------|-----------|----------|-----------------|
| [Feature] | [N mentions] | [Who wants it] | [P0/P1/P2] |

---

## What Causes Pain (Fix These)

| Pain Point | Severity | Churn Risk | Recommended Fix |
|-----------|----------|------------|----------------|
| [Issue] | [High/Med/Low] | [Yes/No] | [Action] |

---

## Trends vs Prior Period

[What's getting better, what's getting worse, what's new]

---

## Team-Specific Action Items

### Product Team
1. [Action] — [Evidence]

### CS Team
1. [Action] — [Evidence]

### Marketing Team
1. [Action] — [Evidence]

---

## Appendix: All Themes Detail

[Full theme cards with all quotes and analysis]

Save to voc-report-[YYYY-MM-DD].md in the current working directory.

Scheduling

Run monthly or quarterly:

0 8 1 */3 * python3 run_skill.py voice-of-customer-synthesizer --client <client-name>

Cost

Component Cost
Review scraping (via review-site-scraper) ~$0.50-1.00
Web search (social mentions) Free
All analysis and synthesis Free (LLM reasoning)
Total Free — $1

Tools Required

  • Optional: review-site-scraper for G2/Capterra/Trustpilot reviews
  • Optional: twitter-mention-tracker for social mentions
  • Optional: reddit-post-finder for community feedback
  • All analysis is pure LLM reasoning on provided data

Trigger Phrases

  • "What are customers saying?"
  • "Build a VoC report"
  • "Synthesize our customer feedback"
  • "Run voice of customer analysis"
  • "Customer feedback summary for [period]"
1---
2name: voice-of-customer-synthesizer
3description: >
4 Aggregate customer feedback from multiple sources — support tickets, NPS comments,
5 Slack messages, G2 reviews, call transcripts, survey responses — into a unified VoC
6 report with theme clustering, sentiment analysis, trend detection, and actionable
7 recommendations for product, marketing, and CS teams. Chains review-site-scraper for public
8 review data.
9tags: [research]
10---
11 
12# Voice of Customer Synthesizer
13 
14Turn scattered customer feedback into a single source of truth. Aggregates signals from every source you have, clusters them into themes, and produces a report that product, marketing, and CS teams can actually act on.
15 
16**Built for:** Startups where customer feedback lives in 6 different places and nobody has time to synthesize it. The founder says "what are customers saying?" and nobody has a clear answer. This skill produces that answer.
17 
18## When to Use
19 
20- "What are our customers saying?"
21- "Synthesize customer feedback from last quarter"
22- "Build a VoC report for the product team"
23- "What themes are coming up in customer feedback?"
24- "Aggregate feedback from all our channels"
25 
26## Phase 0: Intake
27 
28### Feedback Sources (provide all you have)
291. **Support tickets** — Export from support tool (CSV: customer, date, subject, description, tags, resolution)
302. **NPS/CSAT survey responses** — Scores + verbatim comments
313. **Slack messages** — Customer channel messages, feedback channels
324. **G2/Capterra reviews** — Will scrape if product is listed (provide product name or URL)
335. **Call/meeting transcripts** — Customer call recordings or notes
346. **Churn exit survey responses** — Why did customers leave?
357. **Feature request log** — Internal tracker of what customers have asked for
368. **Social mentions** — Twitter/LinkedIn/Reddit threads mentioning your product
379. **Email threads** — Notable customer emails (praise or complaints)
3810. **In-app feedback** — Any in-product feedback submissions
39 
40### Configuration
4111. **Time period** — What window to analyze? (Last 30 days, quarter, 6 months)
4212. **Product name** — For review scraping and context
4313. **Report audience** — Who's reading this? (Product team, exec team, CS team, all)
4414. **Focus areas** — Any specific themes to pay attention to? (e.g., "onboarding experience", "pricing feedback", "mobile app")
45 
46## Phase 1: Data Collection
47 
48### 1A: Internal Data Processing
49 
50From the provided inputs, normalize all feedback into a standard format:
51 
52```
53SOURCE | DATE | CUSTOMER | SEGMENT | FEEDBACK_TEXT | SENTIMENT | CATEGORY
54```
55 
56Sentiment classification per item:
57- **Positive** — Praise, satisfaction, delight
58- **Neutral** — Feature request, question, observation
59- **Negative** — Complaint, frustration, disappointment
60- **Critical** — Churn threat, escalation, anger
61 
62### 1B: External Review Scraping (if applicable)
63 
64If product is on review platforms:
65 
66```
67Chain: review-site-scraper for G2, Capterra, Trustpilot
68Filter: reviews from the target time period
69```
70 
71Extract: rating, review text, reviewer role/company size, date, pros, cons.
72 
73### 1C: Social Listening (if applicable)
74 
75```
76Search: "[product name]" feedback OR review OR "switched to" OR "stopped using"
77Search: "[product name]" site:reddit.com OR site:twitter.com
78```
79 
80## Phase 2: Theme Clustering
81 
82Group all feedback items into themes using a bottom-up approach:
83 
84### Clustering Method
85 
861. Read all feedback items
872. Identify recurring topics (mentioned by 3+ customers or in 3+ sources)
883. Group into theme clusters
894. Rank by frequency AND severity
90 
91### Theme Template
92 
93```
94THEME: [Name — e.g., "Onboarding Complexity"]
95FREQUENCY: [N mentions across M sources]
96SENTIMENT: [Predominantly positive/neutral/negative]
97TREND: [↑ Growing / → Stable / ↓ Declining vs prior period]
98 
99REPRESENTATIVE QUOTES:
100- "[Exact quote]" — [Source, Customer segment, Date]
101- "[Exact quote]" — [Source, Customer segment, Date]
102- "[Exact quote]" — [Source, Customer segment, Date]
103 
104CUSTOMER SEGMENTS AFFECTED:
105- [Segment 1: e.g., "New customers in first 30 days"]
106- [Segment 2: e.g., "Enterprise accounts"]
107 
108ROOT CAUSE HYPOTHESIS:
109[1-2 sentences: Why is this coming up? What's the underlying issue?]
110 
111IMPACT:
112- On retention: [High/Medium/Low]
113- On expansion: [High/Medium/Low]
114- On acquisition: [High/Medium/Low]
115```
116 
117## Phase 3: Analysis
118 
119### 3A: Sentiment Overview
120 
121```
122Overall Sentiment Distribution:
123 Positive: [N] items ([X%]) ████████░░
124 Neutral: [N] items ([X%]) ████░░░░░░
125 Negative: [N] items ([X%]) ██░░░░░░░░
126 Critical: [N] items ([X%]) █░░░░░░░░░
127```
128 
129### 3B: Source Comparison
130 
131| Source | Volume | Avg Sentiment | Top Theme |
132|--------|--------|---------------|-----------|
133| Support tickets | [N] | [Pos/Neg score] | [Theme] |
134| NPS comments | [N] | [Score] | [Theme] |
135| G2 reviews | [N] | [Score] | [Theme] |
136| Slack | [N] | [Score] | [Theme] |
137| Calls | [N] | [Score] | [Theme] |
138 
139**Insight:** Different sources often reveal different stories. Support tickets skew negative (problems). Reviews skew bipolar (love/hate). Calls reveal nuance. Note where themes appear across sources for highest confidence.
140 
141### 3C: Segment Analysis
142 
143| Customer Segment | Dominant Sentiment | Top Request | Key Pain |
144|-----------------|-------------------|-------------|----------|
145| [New customers] | [Sentiment] | [Request] | [Pain] |
146| [Power users] | [Sentiment] | [Request] | [Pain] |
147| [Enterprise] | [Sentiment] | [Request] | [Pain] |
148| [Churned] | [Sentiment] | [Request] | [Pain] |
149 
150### 3D: Trend Detection
151 
152Compare against prior period (if available):
153 
154| Theme | Prior Period | This Period | Trend | Alert |
155|-------|-------------|-------------|-------|-------|
156| [Theme 1] | [N mentions] | [N mentions] | [↑X%] | [New/Growing/Stable/Declining] |
157| [Theme 2] | ... | ... | ... | ... |
158 
159**New themes this period:** [Themes that weren't present before]
160**Resolved themes:** [Themes that decreased significantly — things you fixed]
161 
162## Phase 4: Recommendations
163 
164### For Product Team
165 
166| Priority | Theme | Recommendation | Evidence Strength |
167|----------|-------|---------------|-------------------|
168| P0 | [Theme] | [Specific action] | [N mentions, M sources, includes churn signals] |
169| P1 | [Theme] | [Action] | [Evidence] |
170| P2 | [Theme] | [Action] | [Evidence] |
171 
172### For CS/Support Team
173 
174| Action | Theme | Expected Impact |
175|--------|-------|----------------|
176| [Create help article for X] | [Theme] | Deflect ~[N] tickets/month |
177| [Add onboarding step for Y] | [Theme] | Reduce confusion for new users |
178| [Proactive outreach to segment Z] | [Theme] | Prevent churn in at-risk segment |
179 
180### For Marketing Team
181 
182| Action | Theme | Opportunity |
183|--------|-------|------------|
184| [Use this proof point in messaging] | [Positive theme] | "[Customer quote ready for marketing]" |
185| [Address this objection on website] | [Negative theme] | Counter common concern pre-sale |
186| [Build case study around X] | [Positive theme] | [N] customers mentioned this win |
187 
188## Phase 5: Output Format
189 
190```markdown
191# Voice of Customer Report — [Period]
192Sources analyzed: [list]
193Total feedback items: [N]
194Date range: [start] — [end]
195 
196---
197 
198## Executive Summary
199 
200[3-5 sentences: What are customers saying? What's the overall sentiment?
201What's the single most important thing to act on?]
202 
203---
204 
205## Sentiment Overview
206 
207Positive: [X%] | Neutral: [X%] | Negative: [X%] | Critical: [X%]
208 
209Net Sentiment Score: [calculated — % positive minus % negative]
210vs Prior Period: [+/- X points]
211 
212---
213 
214## Top Themes (Ranked by Impact)
215 
216### 1. [Theme Name] — [Sentiment] — [N mentions]
217**Summary:** [2-3 sentences]
218**Key quotes:**
219> "[Quote]" — [Source]
220> "[Quote]" — [Source]
221**Recommended action:** [What to do]
222**Owner:** [Product / CS / Marketing]
223 
224### 2. [Theme Name] — ...
225 
226### 3. [Theme Name] — ...
227 
228[Continue for top 5-8 themes]
229 
230---
231 
232## What Customers Love (Preserve These)
233 
234| Strength | Evidence | Marketing Opportunity |
235|----------|---------|----------------------|
236| [Feature/experience] | "[Quote]" — [N mentions] | [How to use in messaging] |
237 
238---
239 
240## What Customers Want (Feature Requests)
241 
242| Request | Frequency | Segments | Product Priority |
243|---------|-----------|----------|-----------------|
244| [Feature] | [N mentions] | [Who wants it] | [P0/P1/P2] |
245 
246---
247 
248## What Causes Pain (Fix These)
249 
250| Pain Point | Severity | Churn Risk | Recommended Fix |
251|-----------|----------|------------|----------------|
252| [Issue] | [High/Med/Low] | [Yes/No] | [Action] |
253 
254---
255 
256## Trends vs Prior Period
257 
258[What's getting better, what's getting worse, what's new]
259 
260---
261 
262## Team-Specific Action Items
263 
264### Product Team
2651. [Action] — [Evidence]
266 
267### CS Team
2681. [Action] — [Evidence]
269 
270### Marketing Team
2711. [Action] — [Evidence]
272 
273---
274 
275## Appendix: All Themes Detail
276 
277[Full theme cards with all quotes and analysis]
278```
279 
280Save to `voc-report-[YYYY-MM-DD].md` in the current working directory.
281 
282## Scheduling
283 
284Run monthly or quarterly:
285 
286```bash
2870 8 1 */3 * python3 run_skill.py voice-of-customer-synthesizer --client <client-name>
288```
289 
290## Cost
291 
292| Component | Cost |
293|-----------|------|
294| Review scraping (via review-site-scraper) | ~$0.50-1.00 |
295| Web search (social mentions) | Free |
296| All analysis and synthesis | Free (LLM reasoning) |
297| **Total** | **Free — $1** |
298 
299## Tools Required
300 
301- **Optional:** `review-site-scraper` for G2/Capterra/Trustpilot reviews
302- **Optional:** `twitter-mention-tracker` for social mentions
303- **Optional:** `reddit-post-finder` for community feedback
304- All analysis is pure LLM reasoning on provided data
305 
306## Trigger Phrases
307 
308- "What are customers saying?"
309- "Build a VoC report"
310- "Synthesize our customer feedback"
311- "Run voice of customer analysis"
312- "Customer feedback summary for [period]"
313 

Discussion

Alternatives

Also in Feedback analysis