Skip to content
Productivity
Skill

/feedback-synthesis

Analyze customer feedback from any source. Categorize by theme, frequency, and severity. Output a synthesis with top themes, representative quotes, and recommended actions.

From plugin
pm-os
3327 skills1 hook

Claude Code

$ npx -y skills add shaan-ad/pm-os --skill feedback-synthesis --agent claude-code

SKILL.md

feedback-synthesis.SKILL.md
name: feedback-synthesis
description: "Analyze customer feedback from any source. Categorize by theme, frequency, and severity. Output a synthesis with top themes, representative quotes, and recommended actions."

Feedback Synthesis

You analyze customer feedback and produce a structured synthesis report. Feedback can come from pasted text, files, or Slack channels (via MCP).

Before Running

1. Check that `knowledge/` exists. If not, tell the user: "No knowledge base found. Run `/pm-setup` first." 2. Read `knowledge/pm-context.md` for product context, key metrics, and tone preferences. 3. Read `knowledge/okrs.md` for current objectives (to connect feedback themes to goals).

Step 1: Collect Feedback

Ask the user: "How would you like to provide the feedback?"

Offer three options:

Option A: Paste directly

"Paste the feedback below. It can be messy: support tickets, NPS comments, survey responses, Slack messages, email threads. I'll parse it all."

Option B: Import from file

"Give me a file path (CSV, TXT, MD, or JSON). I'll read it and extract the feedback entries."

Read the file and parse it. Handle common formats:

  • CSV: Look for columns like "feedback", "comment", "message", "text", "description"
  • JSON: Look for arrays of objects with text fields
  • TXT/MD: Treat each paragraph or line as a separate piece of feedback

Option C: Pull from Slack (MCP)

Check if Slack MCP tools are available.

If available:

  • Ask: "Which Slack channel should I pull from? And how far back? (e.g., #product-feedback, last 7 days)"
  • Use Slack MCP to fetch messages from that channel and timeframe
  • Filter for actual feedback (skip status updates, casual chat, bot messages)

If NOT available:

  • Say: "Slack integration isn't set up. You can install the Slack MCP server for direct channel access. For now, paste the feedback or give me a file path."

Step 2: Parse and Categorize

Once you have the raw feedback, process it:

1. **Extract individual pieces of feedback.** Each distinct complaint, suggestion, praise, or question is one entry. 2. **Categorize each entry by theme.** Create themes from the data (don't use pre-built categories). Typical themes: usability issues, missing features, performance, pricing, onboarding, specific feature requests. 3. **Rate severity for each entry:**

  • **Critical**: User is blocked, churning, or losing money
  • **High**: Significant friction, workaround required
  • **Medium**: Annoying but manageable
  • **Low**: Nice-to-have, minor polish

4. **Rate sentiment:** Positive, Negative, Neutral, Mixed 5. **Count frequency:** How many entries per theme

Step 3: Generate Synthesis

Produce the synthesis in this format:

# Feedback Synthesis: {date}

**Source**: {where the feedback came from}
**Entries analyzed**: {count}
**Date range**: {if known}

---

## Top Themes

### 1. {Theme Name} ({count} mentions, {severity})
**Summary**: {1-2 sentence description of what users are saying}

**Representative quotes**:
> "{actual quote from feedback}"
> "{actual quote from feedback}"

**Severity breakdown**: {X critical, Y high, Z medium}

### 2. {Theme Name} ({count} mentions, {severity})
{same structure}

### 3. {Theme Name} ({count} mentions, {severity})
{same structure}

{Continue for all themes with 2+ mentions. Single-mention items go in "Other Signals" below.}

---

## Sentiment Overview
- Positive: {count} ({percentage})
- Negative: {count} ({percentage})
- Neutral: {count} ({percentage})
- Mixed: {count} ({percentage})

---

## Other Signals
{Single-mention items that are notable}

---

## Recommended Actions

| Priority | Action | Theme | Rationale |
|----------|--------|-------|-----------|
| 1 | {specific action} | {theme} | {why this is the top priority} |
| 2 | {specific action} | {theme} | {rationale} |
| 3 | {specific action} | {theme} | {rationale} |

---

## Connection to OKRs
{Map the top themes to current OKRs if relevant. Call out themes that are NOT covered by any current objective.}

---

*Generated by PM-OS feedback-synthesis*

Step 4: Save the Report

Write the synthesis to `knowledge/feedback/synthesis-{YYYY-MM-DD}.md`.

Tell the user: "Synthesis saved to `knowledge/feedback/synthesis-{date}.md`. This will show up in your `/pm-dashboard` and `/brief`."

Step 5: Suggest Next Steps

Based on the findings, suggest specific PM-OS actions:

  • If a critical theme emerged: "Consider running `/prd` to spec a fix for {theme}."
  • If a competitor was mentioned: "Run `/competitive-intel` on {competitor} to understand their approach."
  • If it connects to OKRs: "This feedback supports OKR {X}. Consider adding it to your `/prioritize` backlog."
  • If a theme is new territory: "This theme isn't covered by current OKRs. Consider an `/opportunity-assessment` for {theme}."

Behavior Notes

  • **Use actual quotes.** Never fabricate or paraphrase quotes in the "representative quotes" sections. Use the exact words from the feedback.
  • **Be specific in actions.** "Fix the onboarding flow" is too vague. "Add a progress indicator to the 5-step onboarding wizard" is better.
  • **Don't over-categorize.** If there are only 10 pieces of feedback, 3-4 themes is plenty. Don't create a theme for every entry.
  • **Flag data quality.** If the feedback set is small (<10), skewed toward one channel, or all from the same time period, note the limitations.
  • **Respect the product context.** Reference the product stage and key metrics from `pm-context.md` when making recommendations.
Read more
@shaan-ad
Ships withpm-os

A Claude Code plugin that turns your terminal into a complete product management operating system. 27 AI-powered skills covering every PM workflow: from writing PRDs to building slide decks, from competitive research to quarterly planning. No empty templates.

Stars on GitHub

Momentum

stars in total
33
Star history of shaan-ad/pm-os on GitHub, a chart by star-history.com

Other skills on pm-os.

competitive-intel

competitive-intel

Research a competitor from their URL or name. Fetch website, pricing, features, and news. Generate a battlecard with positioning,…

@shaan-ad@shaan-adInstall Skill
create-slide-deck

create-slide-deck

Create beautiful HTML slide decks for product presentations. Reads product context, extracts brand colors from websites, and…

@shaan-ad@shaan-adInstall Skill
decision-record

decision-record

Capture decisions with full context, alternatives considered, rationale, and revisit conditions. Auto-links to related PRDs,…

@shaan-ad@shaan-adInstall Skill
experiment-review

experiment-review

Analyze A/B tests and experiments with statistical rigor, assess significance, perform segment analysis, and produce a clear…

@shaan-ad@shaan-adInstall Skill
interview-guide

interview-guide

User research interview guide creation. Generates screening criteria, hypothesis-mapped questions, follow-up probes, and debrief…

@shaan-ad@shaan-adInstall Skill
journey-map

journey-map

End-to-end user journey mapping. Maps stages from awareness through advocacy, identifies actions, thoughts, emotions, pain…

@shaan-ad@shaan-adInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about feedback-synthesis.

Which coding agents can use feedback-synthesis?
feedback-synthesis installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.