/extract-insights
Extract insights from interview transcripts, following the insight-extraction skill.
Input: $ARGUMENTS
Workflow
Resolve sources. If files or a persona were named, use those transcripts from
product/interviews/. With no arguments, use the most recent transcript — or, if the current conversation contains a just-finished interview, use that directly. Real-interview transcripts work too: pasted text or a file path anywhere on disk. When a real transcript lives outsideproduct/interviews/, offer to archive a copy there as{YYYY-MM-DD-HHMM}-{interviewee-slug}.mdwith asource: realheader, so the whole interview corpus stays in one place.Extract 3–5 insights per the
insight-extractionskill: grounded in quotes, actionable, quantified when possible, prioritized by impact, in the transcript's language.Cross-interview synthesis. When multiple transcripts are involved, flag insights that recur across interviewees.
Save to
product/insights/{YYYY-MM-DD-HHMM}-{slug}.mdwith a header listing sources andsource: syntheticorsource: real(mixed corpora list both per source). For synthetic sources, include the one-time reminder that synthetic insights are hypotheses to verify with real users.Contrast against the overview's beliefs. Read the unverified beliefs in
product/overview.md(skip silently if the file or section doesn't exist) — every scope alike:[product],[opportunity: {slug}],[feature: {slug}]. If an insight confirms or contradicts one, say so in one line, citing the insight, and offer to annotate the belief on its own line in the overview:— confirmed/contradicted/weakened by [insights file] (date)(status keywords stay in English; no status = still unverified). Only real evidence confirms: insights fromsource: realtranscripts can earnconfirmedorcontradicted; synthetic insights only signal — call the belief promising in conversation, or propose at mostweakenedwhen they contradict it, neverconfirmed. Nothing is written without the user's approval.