Purpose
Turn messy field input — call notes, Slack complaints, ticket threads, deal-blocker observations — into clean, product-ready feedback tickets that carry the severity, frequency, and business-impact context product teams need to prioritize. Eliminates the credibility gap where field teams say "customers hate X" and product asks "which customers, how often, and what does it cost us?"
When to Use
Invoke this skill when the user asks to:
- Turn sales call notes or customer complaints into product feedback tickets
- Convert a pile of unstructured field observations into structured feedback
- Prepare customer pain points for a product roadmap or prioritization meeting
- Build a repeatable feedback loop between solutions engineering / CS and product
- Frame a customer pain point with business impact so product will actually act on it
- Deduplicate and consolidate scattered feedback into ranked themes
Inputs Required
Before starting, collect:
- Raw feedback: The unstructured input — call notes, quotes, ticket text, Slack threads, or observations (paste as-is)
- Product area(s): Which part of the product this concerns (or "unknown — infer")
- Source context: Where the feedback came from — sales call, CS ticket, onboarding, churn interview, POC
- Account details (if known): Segment/tier, ARR band, deal stage, or number of affected accounts
- Business context: Whether any item is tied to a deal blocker, renewal risk, or expansion opportunity
- Existing ticket format (optional): Fields your product team uses (Jira, Linear, Productboard) so output maps cleanly
If account or business context is missing, infer conservatively and flag the assumption rather than inventing numbers.
Instructions
Step 1: Parse and Cluster Raw Input
Read all raw feedback and separate distinct signals from noise.
- Extract each discrete pain point as its own atomic item — split compound complaints ("the export is slow AND the columns are wrong") into separate items
- Discard pure sentiment with no actionable core ("they were frustrated") unless it can be tied to a concrete cause
- Cluster near-duplicates: if three notes describe the same underlying problem, merge them and note the count
- Preserve the customer's actual words as a verbatim quote where one exists — product teams weight direct quotes heavily
Step 2: Classify Each Item by Type
Tag every item as one of:
- Bug — something broken vs. documented/expected behavior
- Missing capability — a feature or workflow that does not exist
- UX friction — it works, but it's slow, confusing, or high-effort
- Performance/scale — degrades under load, volume, or specific conditions
- Integration gap — a connection to another system the customer needs
- Documentation/enablement — the capability exists but wasn't discoverable
Type drives which product team owns it and how it should be framed.
Step 3: Score Severity (per item)
Assign one of four levels with explicit reasoning:
- Critical — blocks a core workflow, causes data loss, or is a stated deal/renewal blocker
- High — significant friction with no reasonable workaround; recurring in sales cycles
- Medium — friction with a workaround; affects satisfaction but not deals
- Low — annoyance or polish; nice-to-have
Never assign a level without a one-line justification tied to workflow impact.
Step 4: Assess Frequency Signal
Rate how widespread the issue appears based on evidence:
- Frequency indicator: Isolated (1 account) / Emerging (2–4) / Recurring (5+) / Pervasive (majority of segment)
- Segment concentration: Note if the issue clusters in a specific tier, industry, or use case
- Distinguish observed frequency (what's in the data) from projected frequency (what you'd expect) — label which is which
Step 5: Frame Business Impact
Translate each item into language product prioritization actually responds to:
- Revenue exposure: Deal blocker / Renewal risk / Expansion blocker / No direct revenue tie — with ARR band if known
- Impact statement: One sentence connecting the pain to a business outcome ("This blocked a $120K POC because the prospect couldn't validate SSO in their sandbox")
- Workaround cost: What field or CS teams currently do to compensate, and the effort it takes
- Avoid inflated framing — a Medium item labeled Critical erodes the whole feedback channel's credibility
Step 6: Write the Structured Ticket
For each item, produce a ticket with these fields:
- Title: Action-oriented, specific ("Bulk export drops custom fields for accounts over 10K rows")
- Type / Severity / Frequency: From Steps 2–4
- Problem: What's happening and the workflow it interrupts
- Customer quote: Verbatim where available
- Business impact: From Step 5
- Affected accounts: Count and segment
- Suggested outcome: What "solved" looks like — a job to be done, not a prescribed solution
Step 7: Produce the Prioritized Roundup
After individual tickets, deliver a ranked summary table sorting items by a composite of severity × frequency × revenue exposure. Call out the top 3 for immediate product review and any theme that appears across multiple tickets (a systemic signal worth more than any single ticket).
Output Format
- Structure: Individual structured tickets, followed by a prioritized roundup table and a top-3 callout
- Length: Scales with input — typically 600–1,400 words for 5–12 tickets
- Format: Structured ticket blocks (labeled fields) + one summary table
- Sections: Ticket set → Prioritized roundup table → Top 3 for review → Cross-cutting themes
- Tone: Neutral, evidence-first, product-team-ready — advocates for the customer without exaggerating; frames everything in terms product can prioritize
Quality Checklist
Before delivering output, verify:
- [ ] Every ticket has all seven fields populated (no blank Severity or Business Impact)
- [ ] Severity levels each carry a one-line justification — none assigned bare
- [ ] Near-duplicate items were merged with a frequency count, not listed separately
- [ ] Any inferred account numbers or impact figures are explicitly flagged as assumptions
- [ ] The roundup table ranks by a stated composite, not arbitrary order
- [ ] Cross-cutting themes appearing in 2+ tickets are surfaced separately
Notes
- The single biggest reason field feedback gets ignored is inflated severity — protect the channel's credibility by scoring honestly, even when it means labeling a pet complaint as Low
- A verbatim customer quote plus a dollar figure moves items up a roadmap faster than any internal advocacy; prioritize capturing both
- When feedback lacks account or revenue context, translate it anyway but mark those fields "unknown — needs enrichment" so the field team knows exactly what to backfill before the roadmap review
- Systemic themes (the same friction across many tickets) often deserve a single strategic ticket rather than a dozen individual ones — flag these for the PM to consolidate
How to use this skill
This file is a Claude Code skill in Anthropic's standard format — markdown with YAML frontmatter at the top.
Installing in Claude Code:
~/.claude/skills/<folder-name>/SKILL.md— auto-loads in every session anywhere on your machine (recommended for skills you'll use across multiple projects)<your-project>/.claude/skills/<folder-name>/SKILL.md— auto-loads only when working in that project (recommended for project-specific skills)
Restart Claude Code or open a new session to register.
Using in Claude.ai, ChatGPT, Gemini, or other AI tools:
- Drag this file into a new chat, or copy and paste its contents
- Send your task or request as your next message — the AI will apply the skill where it fits
For Claude Code skill details: https://docs.anthropic.com/en/docs/claude-code/skills