CtrlK
BlogDocsLog inGet started
Tessl Logo

feedback-synthesizer

Collects, categorizes, and synthesizes user feedback from multiple channels into actionable product insights. Performs sentiment scoring, theme tagging, NPS/CSAT analysis, feature request ranking, priority matrix generation, and Voice of Customer reporting. Use when the user asks to analyze customer feedback, survey responses, NPS scores, CSAT data, feature requests, app reviews, support tickets, social media mentions, or any Voice of Customer data; or when they need to prioritize a product roadmap from user input, identify top pain points from feedback, understand why users are churning, or produce an executive feedback report.

93

Quality

92%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Product Feedback Synthesizer

Workflow

Step 1 — Ingest & Inventory

  1. Identify all available feedback sources (files, URLs, pasted text).
  2. For each source, record: source name, channel type (survey / review / ticket / interview / social), date range, item count.
  3. Produce a Source Inventory Table before proceeding:
| Source            | Channel   | Date Range      | Items |
|-------------------|-----------|-----------------|-------|
| NPS survey export | Survey    | Jan–Mar 2024    |  412  |
| App Store reviews | Review    | Q1 2024         |   87  |
| Support tickets   | Ticket    | Feb 2024        |  230  |

Validation checkpoint: Warn if total items < 10 (limited statistical reliability). Flag inconsistent date ranges across sources before synthesis.


Step 2 — Clean & Normalise

  1. Remove exact duplicates (same text, same timestamp).
  2. Strip PII (names, emails, account IDs → [REDACTED]).
  3. Standardise sentiment labels: Positive / Neutral / Negative.
  4. Assign each item a unique ID: SRC-### (e.g., NPS-001, TKT-047).

Validation checkpoint: If > 15% of items are duplicates, note this in the summary — it may indicate a data export issue.


Step 3 — Categorise & Tag

For each feedback item assign:

  • Primary Theme: Usability · Performance · Pricing · Feature Request · Bug Report · Onboarding · Support · Other
  • Sentiment Score: Positive (+1) / Neutral (0) / Negative (−1)
  • Priority Signal: High / Medium / Low — language like "can't use", "losing customers", or "deal-breaker" = High

Produce a Categorisation Sample (first 5–10 items) to confirm taxonomy before bulk analysis:

| ID      | Source  | Theme           | Sentiment | Priority | Verbatim (truncated)              |
|---------|---------|-----------------|-----------|----------|-----------------------------------|
| NPS-001 | Survey  | Feature Request | Positive  | Medium   | "Would love a dark mode..."       |
| TKT-047 | Ticket  | Bug Report      | Negative  | High     | "Export crashes every time I..."  |
| REV-012 | Review  | Performance     | Negative  | High     | "App lags badly on Android..."    |

Validation checkpoint: For large (> 100 items) or domain-specific datasets, ask the user to confirm or adjust the theme taxonomy before proceeding.


Step 4 — Quantify & Rank

Calculate per theme:

  • Volume: count and % of total
  • Sentiment Ratio: % Positive, % Neutral, % Negative
  • Weighted Priority Score = (High×3 + Medium×2 + Low×1) / item count

Produce a Priority Matrix:

| Rank | Theme           | Volume | % Total | Sentiment Ratio (+/0/−) | Priority Score |
|------|-----------------|--------|---------|-------------------------|----------------|
|  1   | Performance     |   148  |  28.5%  | 5% / 10% / 85%          |      2.74      |
|  2   | Feature Request |   112  |  21.6%  | 70% / 20% / 10%         |      1.88      |
|  3   | Bug Report      |    89  |  17.1%  | 0% / 5% / 95%           |      2.91      |

Step 5 — Synthesise Insights

For each top-ranked theme (up to 5), write a structured insight block:

## Insight: [Theme Name]

**Signal strength:** [e.g., 148 mentions, 85% negative sentiment, Priority Score 2.74]

**What users say (representative verbatims):**
- "The app freezes for 10–15 seconds after uploading files." (REV-023)
- "Performance has gotten worse with every update." (NPS-187)
- "Unusable on mobile — takes 30 seconds to load a dashboard." (TKT-091)

**Pattern summary:**
[2–3 sentences describing the core user experience problem, affected segments, and when it occurs.]

**Recommended action:**
[1–2 concrete, specific actions — e.g., "Profile and optimise dashboard load time on Android; target < 3s. Prioritise before next feature release."]

**Business impact estimate:**
[Link to a metric where possible — e.g., "Appears in 40% of 1-star reviews; addressing may improve App Store rating and reduce churn in mobile segment."]

Step 6 — Deliver Report

Assemble the final output in the following sections (see REPORT_TEMPLATE.md for the full ready-to-fill template):

  1. Report header — period, total items analysed, sources list.
  2. Executive Summary — 3–5 sentences: top finding, most urgent issue, headline recommendation.
  3. Priority Matrix — table from Step 4.
  4. Top Insights — insight blocks from Step 5, ranked by Priority Score.
  5. Feature Request Ranking — table sorted by mention frequency, with mention count, % positive sentiment, and a sample quote per entry.
  6. Voice of Customer Highlights — 5–8 high-impact verbatim quotes, one per major theme, with source IDs.
  7. Recommended Next Steps — one immediate action (within 1 sprint), one short-term action (within 1 quarter), one strategic roadmap consideration.
  8. Data Quality Notes — caveats on sample size, date gaps, duplicate rate, or missing sources.

For a pre-formatted, copy-paste-ready version of this structure, refer to REPORT_TEMPLATE.md.


Worked Example

See EXAMPLES.md for a complete end-to-end walkthrough using 3 app-store reviews and 2 support ticket summaries, including Step 1 source inventory, Step 3 categorisation sample, and a full Step 5 insight block.


Processing Guidelines

  • Tone: Report findings factually. Do not soften negative feedback or editorialize.
  • Verbatims: Always include source IDs so findings are traceable.
  • Uncertainty: Label ambiguous sentiment (sarcasm, mixed signals) as Neutral and note the ambiguity.
  • Scope: If the user requests competitive analysis or persona development beyond the provided data, flag that additional data collection is needed.
  • Iterative mode: When feedback arrives in batches, re-run Steps 3–6 on the combined dataset rather than merging reports post-hoc.
Repository
OpenRoster-ai/awesome-agents
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.