From product-eval
Pulls product evidence from connected sources, CSV uploads, and the web; normalizes, identity-resolves, strength-rates, and weights it into scoped evidence items for decision-making.
How this skill is triggered — by the user, by Claude, or both
Slash command
/product-eval:gather-evidenceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Retrieve product-relevant data for a problem or area and turn it into normalized, identity-resolved, strength-rated, weighted evidence items. This is the Problem Scout, retrieval and grading, not theming (that is `synthesize`).
Retrieve product-relevant data for a problem or area and turn it into normalized, identity-resolved, strength-rated, weighted evidence items. This is the Problem Scout, retrieval and grading, not theming (that is synthesize).
After source setup. Read .product-eval/<scope>/sources.md for what's available, the join keys per source, and the confidence ceiling. If it is missing, run source discovery for this scope first.
Don't dump everything. Decide where to look: walk the metric tree (acquisition→advocacy), the user journey, the personas, and competitive gaps, and form "where would pain show up?" hypotheses. Retrieve against those.
Connectors vary: probe, don't assume. Before bulk-pulling, make one cheap call to learn a source's actual shape (list its operations; pull one recent item; inspect the fields), then build the real query around what you see. If a connected source won't return data, climb the adaptive fetch ladder in references/fetch-strategies.md, relax the query, try an alternate operation, re-read the tool schema and re-parameterize, or fall back to a broad pull + local filter, diagnosing each failure (auth / empty / schema / permission / rate-limit) and retrying at most ~3 times per failure class before handing back to the user. Record the working access pattern so later pulls are one step.
Stopping rule: sample rather than exhaust: pull a representative recent set per source (default ~30-50 items, or until new items stop surfacing new themes, theme saturation), but always capture totals so volume/frequency signals survive. When a fetch is blocked or a source is unavailable: do not work around it, note the gap explicitly, treat that source as missing (which lowers reachable Confidence), and ask the user to paste or upload the data (CSV / export / text). Never substitute an alternative fetch method for a blocked one.
For each item record: claim (state the pain, not the solution), source_type, persona, funnel_stage, impact_type, timestamp, raw_metric, and raw_link. Follow the claim-extraction rules in references/signal-analysis.md, and write each item to the evidence-card schema in the data contract (DATA-CONTRACT.md, plugin root).
Apply the identity ladder in ../discover-sources/references/identity-resolution.md, using the join keys recorded in .product-eval/<scope>/sources.md: stitch the same person/account across sources, write .product-eval/<scope>/identities.md (method + confidence per merge), and tag each evidence item with person_id / account_id. Dedup so one user across channels is one voice, not several. Keep identifiers readable so the same entity stitches across systems into a holistic picture; data handling (retention, redaction, .gitignore) is the user's own governance call, per that reference.
Rate each item 1-5 (references/signal-analysis.md plus the evidence-quality rubric) and compute its weight (base-by-strength × recency). These feed the sufficiency gate and Confidence downstream.
Apply the signal hierarchy: keep tier-1 (migration stories, workarounds, specific complaints) over vague mentions; exclude competitor marketing, paid/incentivized reviews, bots, and stale items. When signals are thin, widen the search (proxies, adjacent areas, competitor gaps) and mark items as emerging/lower-confidence.
Before finalizing, freshness-check the competitive and gap evidence. Fetch the relevant changelogs / release notes, competitor /changelog, /releases, "What's New", GitHub releases, release-notes RSS, and the company's own changelog. For each piece of evidence, compare its date against shipped changes touching the same capability: if a release post-dates the evidence and addresses it, mark the evidence stale / superseded, decay its weight, and raise a contradiction flag for synthesize. Treat a changelog as a factual freshness check (not pain evidence, and not the same as competitor marketing), and remember a shipped feature isn't necessarily a good one, so a hit downgrades a table-stakes gap rather than auto-killing a differentiation play.
Write .product-eval/<scope>/evidence/* and .product-eval/<scope>/identities.md. Summarize what was found (counts by source, distinct accounts after dedup, notable clusters, anything retired as stale) and hand the evidence to the ranking or decision flow for problem-framed synthesis.
A short summary, items found, distinct users/accounts after dedup, source mix, anything striking, plus the written evidence. Keep internal paths out of chat unless asked. Note honestly that it rates evidence as described, not ground truth. End with Next move: and route toward problem-framed synthesis/ranking for broad decisions, or readiness for one named bet.
npx claudepluginhub sparkline-ventures/product-evalInventories product-data sources (connectors, tools, files, offline systems) and maps each to evidence roles and decision-confidence ceilings. Run before analysis to establish what data exists.
Synthesises user signals from multi-research sources (interviews, support tickets, NPS, app reviews, sales calls) into a weighted insight brief with confidence ratings, divergence analysis, and research gaps.
Aggregates and synthesizes user feedback from support tickets, NPS, in-app feedback, sales calls, social mentions, and customer councils into a continuous decision signal through triaged synthesis.