plugins/discovery/skills/user-interview/SKILL.md
Systematically process user interviews to extract actionable insights. Batch processes interviews and generates research reports.
npx skillsauth add coalesce-labs/catalyst user-interviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Systematically process user interviews to extract actionable insights using Claude Code.
/user-interview
Just finished user interviews? Drop your transcripts and I'll extract insights.
Tell me:
1. How many interviews do you have? (paste transcripts or point me to files)
2. What was the research goal? (what were you trying to learn?)
3. Any specific hypotheses you were testing?
I'll cross-reference with your existing research, extract pain points,
feature requests, JTBD insights, and generate a shareable report.
Output: thoughts/shared/pm/interviews/[date]-interview-insights.md
Use /user-interview when:
Use /user-research-synthesis when:
Handoff: After processing 3+ individual interviews with /user-interview, suggest: "You now have [N] processed interviews. Want to run /user-research-synthesis to find cross-interview patterns and build a research report?"
Automatic Context Checks: When this skill is invoked, immediately check:
| Source | What to Check | Priority | | -------------------------------------------- | ----------------------------------------------- | -------- | | thoughts/shared/pm/research/ | Previous interview syntheses, existing themes | High | | thoughts/shared/pm/prds/ | Active PRDs that this interview relates to | High | | thoughts/shared/pm/context/stakeholder-template.md | If interviewee is a known stakeholder/customer | Medium | | thoughts/shared/pm/context/business-info-template.md | Company context, product positioning | Medium | | thoughts/shared/pm/launches/ | Recent launches the interviewee might reference | Low |
Context Priority:
Cross-Skill Links:
/interview-guide for question preparation/user-research-synthesis for deeper analysis/prd-draft to reference findings/write-prod-strategyTools needed: Claude Code (primary), research repository (optional) When to use: After conducting 3+ user interviews
Before processing new interviews, check existing context:
thoughts/shared/pm/research/ for previous interview syntheses and findingsthoughts/shared/pm/context/business-info-template.md for product positioning contextFor each theme that emerges in the new interviews:
Show the PM a brief summary:
## Existing Research Context
- Found [N] previous interview syntheses in thoughts/shared/pm/research/
- Validated themes from prior research: [list]
- Active PRDs from thoughts/shared/pm/prds/ this research relates to: [list]
- New themes to watch for: [will identify during analysis]
Option A: transcription tool (Recommended)
Option B: Your recording tool
Option C: Claude
Run these queries in order:
Query 1: Pain Points
"Analyze all transcripts. What are the top 5 pain points customers mentioned?
For each:
- How many customers mentioned it
- Specific quotes
- Severity (how painful)
- Current workarounds"
Query 2: Feature Requests
"What features did customers request?
For each:
- Frequency
- User quotes
- Underlying need
- Priority (must-have vs nice-to-have)"
Query 3: Jobs to Be Done
"For each major use case, what job is the customer trying to accomplish?
Include:
- The task/goal
- Why it matters to them
- What triggers the need
- What success looks like"
Query 4: User Segments
"Do different user types express different needs?
Identify:
- 2-3 distinct user archetypes
- Unique needs per archetype
- Common needs across all"
Query 5: Surprises
"What was surprising or unexpected in these interviews?
What assumptions were challenged?"
Ask Claude:
"Create an executive summary covering:
- Top 3 insights
- Top 5 pain points (ranked)
- Top 3 feature requests
- Recommended next steps
Format as a report I can share with my team.
Save to thoughts/shared/pm/interviews/[date]-interview-insights.md"
For more thorough analysis, add these steps:
"Analyze sentiment across all transcripts:
For each user:
- Overall sentiment (positive/neutral/negative)
- What they love
- What they're frustrated by
- Quote that captures their feeling
Then: Overall sentiment trends across all users"
"Based on these interviews, score each opportunity:
[paste pain points and feature requests from Step 3]
For each opportunity, rate 1-5:
- Pain level (how much it hurts)
- Frequency (how often encountered)
- Reach (how many users affected)
- Strategic value
Recommend top 3 to pursue."
"Extract 15-20 powerful quotes from these interviews that:
- Illustrate key pain points
- Show user mental models
- Express emotional impact
- Could be used in PRDs or presentations
For each quote:
- The quote
- User context (role, company size, use case)
- What it illustrates"
Save these quotes for later use in PRDs, presentations, and marketing.
"What did users say about competitors?
- Which competitors were mentioned
- What users like about them
- What users don't like
- Why they chose us (or didn't)
Identify: What can we learn?"
"For each key workflow discussed:
- Step-by-step how users complete it today
- Where they get stuck
- What tools they use
- What they wish was different
Visualize: Current state → Desired future state"
research repository is purpose-built for research synthesis:
Setup:
Benefits:
Cost: $300-500/month (worth it if you do research continuously)
Using Make.com or Zapier:
Result: Automatic insights within an hour of interview completion.
Using Relay or n8n:
Result: Weekly research summary without manual effort.
# Customer Interview Insights - [Date]
## Executive Summary
[3-4 bullets: biggest insights]
## Interviews Conducted
- Number of interviews: [X]
- Date range: [Start] to [End]
- User segments: [List]
## Top Pain Points
1. **[Pain Point]** - [X] users mentioned
- Quote: "[User quote]"
- Impact: [Description]
- Current workaround: [How they cope]
2. [Repeat for top 5]
## Top Feature Requests
1. **[Feature]** - Priority: [High/Medium/Low]
- Requested by: [X] users
- Quote: "[User quote]"
- Underlying need: [Why they want this]
## User Archetypes
**Archetype 1: [Name]**
- Characteristics: [Description]
- Main use case: [What they do]
- Unique needs: [What they need]
## Key Insights
1. [Insight 1]
2. [Insight 2]
3. [Insight 3]
## Recommended Actions
1. [Action 1] - Owner: [Name] - Due: [Date]
2. [Action 2] - Owner: [Name] - Due: [Date]
3. [Action 3] - Owner: [Name] - Due: [Date]
## Appendix
- Full transcript links
- Complete quote bank
- Detailed user flows
Prepare:
/interview-guide)During Interviews:
Process quickly:
Share insights:
Build a repository:
thoughts/shared/pm/research/Regular synthesis:
Don't:
Do:
Quality metrics:
Business impact:
Using Notion or Confluence:
Using Claude Code:
thoughts/shared/pm/interviews/Using MCP + Claude:
"Monitor our customer research repository.
When 3+ users mention same pain point:
- Alert me
- Provide summary
- Suggest potential solutions"
Free:
$50-100/month:
$300-500/month:
Start free. Upgrade when you're doing 10+ interviews/month.
Before delivering the final research synthesis, verify:
| Check | Criteria | Pass? |
| -------------------------------- | --------------------------------------------------------------------------------- | ----- |
| Existing research referenced | Cross-referenced with thoughts/shared/pm/research/ findings | [ ] |
| Themes labeled correctly | Each theme marked as VALIDATED, CHALLENGED, or NEW vs. prior research | [ ] |
| Quotes are real | Every quote is directly from a transcript (not paraphrased or invented) | [ ] |
| Pain points quantified | Each pain point shows how many users mentioned it + severity | [ ] |
| Actionable recommendations | At least 3 specific next steps with owners and timelines | [ ] |
| PRD linkage | Insights connected to relevant active PRDs in thoughts/shared/pm/prds/ | [ ] |
| Segments identified | At least 2 distinct user archetypes with unique needs called out | [ ] |
| Surprises captured | At least 1 unexpected finding or challenged assumption noted | [ ] |
| Scope boundary stated | User knows when to use this skill vs /user-research-synthesis | [ ] |
| Output file saved | Report saved to thoughts/shared/pm/interviews/[date]-interview-insights.md | [ ] |
If any check fails, address it before delivering the output.
Goal: User insights inform every product decision.
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
development
Phase agent for the verify step of the 9-phase orchestrator pipeline (CTL-450). NEW skill — has no canonical wrapper. Runs read-only adversarial verification against the implement-phase diff: tsc, tests, lint, security scan, reward-hacking scan, code review, test coverage, silent-failure hunt. Writes ${ORCH_DIR}/workers/<TICKET>/verify.json then emits phase.verify.complete.<ticket>. Reads phase-implement.json as its prior-phase artifact. NEVER writes application code — only test files allowed. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies dependencies, estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.failed.<TICKET> on error. Dispatched by the phase-agent orchestrator (CTL-452)
testing
Phase agent for the review step of the 9-phase orchestrator pipeline (CTL-450). Wraps the /review skill (gstack) — explicitly skips /ultrareview per user decision. Reads verify.json from the prior phase, runs /review against the diff, writes ${ORCH_DIR}/workers/<TICKET>/review.json, and creates a remediation commit for any HIGH-severity finding that has a deterministic fix. Emits phase.review.complete.<ticket>. Spawned via phase-agent-dispatch via slash command — hence `user-invocable: true`.