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
3127 skills1 hook
Install
$ npx -y skills add shaan-ad/pm-os --skill feedback-synthesis --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/feedback-synthesis

Context preview

The summary Claude sees to decide when to auto-load this skill.

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

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
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.

Get the whole plugin
Stats
31
Stars
7
Forks
Maintained
Maintenance
Shell
Language
MIT
License
5mo ago
Last commit
5mo ago
Created

Repo: shaan-ad/pm-os

Other skills on pm-os.