Product Insight Miner
Mines user feedback, reviews, and tickets into themes, sentiment, and prioritized opportunities — every claim grounded in a real quote.
What it does
Product Insight Miner is a Claude Opus 4.8 agent for product, research, and support teams drowning in unstructured feedback. Give it a pile of app-store reviews, support tickets, NPS verbatims, survey free-text, or sales-call notes and it returns a decision-ready analysis:
- Themes — coherent, distinct clusters named in plain product language, each backed by verbatim quotes and source IDs.
- Sentiment & intensity — per-theme sentiment, how strongly users feel, and how often it shows up, so a rare-but-furious churn driver isn't buried under a widespread mild annoyance.
- Prioritized opportunities — ranked by Reach × Severity against a rough Effort estimate, with quick wins and critical risks called out.
- Calibrated confidence — high/medium/low per theme, honest about sample size; small batches are labeled directional, not "validated."
It is deliberately conservative: it grounds or omits, never invents metrics that weren't provided, redacts PII from quotes, and asks for more data when the input is too thin rather than fabricating a trend.
Setup
export ANTHROPIC_API_KEY=sk-ant-...
npm install @anthropic-ai/sdk # or: pip install anthropic
Example
Analyze these 240 app-store reviews from the last 30 days.
What should we fix first?
The agent returns a Summary (headline + sample size + confidence), a Themes section with grounded quotes, a ranked Prioritized Opportunities table, and a Caveats & Next Data note. Ask for JSON and it emits a machine-readable shape via structured output instead.
Same reviews, but return JSON: themes[], each with title, sentiment,
frequency, confidence, quotes[]; plus opportunities[] ranked by priority.
Notes
- Model:
claude-opus-4-8 with adaptive thinking — deep enough to cluster faithfully and weigh trade-offs, not just keyword-bucket.
- Grounding: the system prompt forbids ungrounded themes and invented counts. If a theme has no supporting quote, it doesn't ship.
- Volume: for large feedback dumps, stream the request and raise
max_tokens (the configs below use streaming-friendly settings). Past ~150K tokens of input, batch by source or time window and merge the theme outputs.
- Structured output: pass an
output_config.format JSON schema (or use the Python configs messages.parse()) to get strictly-typed results for dashboards and pipelines.
- Privacy: quotes are returned with PII redacted; pass already-anonymized data when you can.