plugins/pm/skills/interview-guide/SKILL.md
Create JTBD-based interview guides for user research. Structured questions for discovery interviews.
npx skillsauth add coalesce-labs/catalyst interview-guideInstall 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.
Generate structured interview guides using Jobs-to-be-Done methodology.
/interview-guide
Planning user research interviews? I'll create a JTBD-based interview guide.
Tell me:
1. What topic are we exploring? (e.g., "why users churn after trial")
2. Who are we interviewing? (role, context, segment)
3. What hypothesis are we testing? (optional but helpful)
I'll check your existing research first, then generate a guide that
focuses on gaps -- not re-asking what you already know.
Output: thoughts/shared/pm/interviews/interview-guide-[topic]-[date].md
Automatic Context Checks: When this skill is invoked, immediately check:
| Source | Files/Folders | Search Terms | What to Extract |
| ----------------- | ------------------------------------------------------------------ | ------------------------------------------- | ---------------------------------------- |
| Research Plan | thoughts/shared/pm/research/*.md | hypothesis, problem statement, target users | Current understanding of problem |
| User Personas | thoughts/shared/pm/research/personas*.md or stakeholder template | target segment, role, company size | Who to interview and their context |
| PRDs | thoughts/shared/pm/prds/*.md | problem statement, user pain | Problem framing for interview hypothesis |
| Strategy | thoughts/shared/pm/frameworks/*.md | user segment, JTBD canvas | Jobs framework and strategic fit |
| Previous Research | thoughts/shared/pm/interviews/*.md | similar problem area, past themes | Avoid revalidating, build on insights |
Context Priority:
Cross-Skill Links:
/user-interview for processing transcripts/user-research-synthesis for deeper synthesis/user-research-synthesis for analysis/write-prod-strategy/interview-prep is for PM job interviews, not user researchBefore creating the guide, let me understand what you're trying to learn...
Checking:
thoughts/shared/pm/prds/ for the feature or problem you're researchingthoughts/shared/pm/research/ for previous findings on this areathoughts/shared/pm/frameworks/ for strategic contextBased on what I find, I'll show you:
Research Topic:
Target User:
Research Goal:
Before creating the guide, check thoughts/shared/pm/research/ for existing interview syntheses and findings.
Search for:
*interview*, *research*, *synthesis*)Categorize what you find into three buckets:
## Research Foundation for This Interview Guide
**Based on [N] previous interviews/syntheses found in thoughts/shared/pm/research/:**
### Well-Validated Themes (don't over-index here)
These themes have strong evidence from prior research. Include 1-2 confirmation
questions but don't spend 10 minutes re-exploring what you already know.
- [Theme 1]: Supported by [N] interviews. Evidence: "[key quote]"
- [Theme 2]: Supported by [N] interviews. Evidence: "[key quote]"
### Themes Needing More Evidence (probe deeper here)
These came up in prior research but need more data points or deeper understanding.
Allocate extra time in the guide for these areas.
- [Theme 3]: Mentioned by [N] users but unclear why. Probe: [specific angle]
- [Theme 4]: Conflicting signals from past research. Probe: [what to clarify]
### Unexplored Areas (add discovery questions)
These areas haven't been covered in prior research and represent blind spots.
Add open-ended discovery questions to surface new insights.
- [Area 1]: No prior data. Suggested opening: "[question]"
- [Area 2]: Adjacent to known themes but never directly explored.
Add a note at the top of the generated guide:
"Based on [N] previous interviews, we already know [validated themes summary]. This guide focuses on deepening [weak evidence areas] and exploring [new areas]. Avoid spending excessive time re-validating established findings."
If no previous research is found, note: "No existing research found in thoughts/shared/pm/research/. This is a discovery interview -- all questions are exploratory."
Focus on understanding:
When PM types /interview-guide, respond:
Let's create an interview guide. I'll use the JTBD framework.
Tell me:
1. What topic are we exploring?
2. Who are we interviewing? (role, context)
3. What hypothesis are we testing? (optional)
I'll generate a structured guide with opening, core, and closing questions.
Build rapport, set context
Understand their world
Dig into the job to be done
Test ideas without leading
Wrap up, ask for referrals
# Interview Guide: [Topic]
**Research Goal:** [What we want to learn]
**Target Participant:** [Who we're interviewing]
**Duration:** 45-60 minutes
---
## Part 1: Opening (5 min)
"Thanks for joining. I'm [name], a PM at [company]. We're researching [topic] to better understand [goal]. There are no right or wrong answers—I'm here to learn from your experience."
**Logistics:**
- "Is it okay if I record this for notes?"
- "Everything you share is confidential"
- "Feel free to skip any question"
---
## Part 2: Background (10 min)
1. "Tell me about your role and what you do day-to-day."
2. "How does [topic area] fit into your work?"
3. "Walk me through a typical [relevant workflow]."
---
## Part 3: Core JTBD Questions (25 min)
### Situation & Trigger
4. "Think about the last time you needed to [job]. What was happening?"
5. "What triggered that need? What were you trying to accomplish?"
### Current Solution
6. "How do you handle [job] today?"
7. "What tools or processes do you use?"
8. "What works well about your current approach?"
9. "What's frustrating or difficult about it?"
### Progress & Success
10. "When [job] goes really well, what does that look like?"
11. "How do you know when you've succeeded?"
### Impact & Value
12. "What happens when [job] goes poorly?"
13. "How does that affect you / your team / your business?"
14. "If you could wave a magic wand, what would be different?"
---
## Part 4: Solution Exploration (10 min)
**Show concept/prototype if applicable**
15. "Looking at this [concept], what stands out to you?"
16. "How would this fit into your current workflow?"
17. "What concerns would you have about using something like this?"
18. "What would make this more valuable to you?"
---
## Part 5: Closing (5 min)
19. "Is there anything else about [topic] that I should have asked?"
20. "Who else should I talk to about this?"
21. "Would you be open to a follow-up conversation?"
**Thank them and explain next steps.**
---
## Notes Template
| Question | Response | Key Quote | Insight |
| -------- | -------- | --------- | ------- |
| Q1 | | | |
| Q2 | | | |
---
## Post-Interview
- [ ] Send thank you email
- [ ] Transcribe key quotes
- [ ] Tag themes
- [ ] Add to research repository
Open-ended: "Tell me about..." / "Walk me through..." Follow-up: "Why was that?" / "Can you give an example?" Clarifying: "When you say X, what do you mean?" Emotional: "How did that make you feel?"
Leading: "Don't you think X is annoying?" Binary: "Do you like X?" (yes/no) Hypothetical: "Would you use X if we built it?" Multiple: "What about X and Y and Z?"
Interview guides:
thoughts/shared/pm/interviews/interview-guide-[topic]-[date].mdAfter creating the guide:
/user-research-synthesis/prd-draft/write-prod-strategyFeeds into:
/user-research-synthesis - After interviews, synthesize the raw notes/prd-draft - Research findings go into Hypothesis section/write-prod-strategy - Deep user research informs strategic decisionsPulls from:
thoughts/shared/pm/research/ - Previous research on this topicthoughts/shared/pm/frameworks/ - Strategic context about this user problemBefore delivering the interview guide, verify:
| Check | Criteria | Pass? |
| ------------------------------------- | --------------------------------------------------------------------------------------------------------- | ----- |
| Past research checked | Searched thoughts/shared/pm/research/ and categorized findings into validated/needs-evidence/unexplored | [ ] |
| Guide reflects prior knowledge | Questions focus on gaps, not re-validating what's already known | [ ] |
| Research foundation note included | Top of guide states what's known and where this guide focuses | [ ] |
| No leading questions | Every question is open-ended, not suggesting a desired answer | [ ] |
| JTBD framework applied | Questions cover situation/trigger, current solution, progress/success, impact/value | [ ] |
| Time-boxed sections | Each section has a suggested time allocation that totals 45-60 min | [ ] |
| Follow-up prompts included | At least 2-3 follow-up probes per core question | [ ] |
| Closing includes referrals | Guide asks "Who else should I talk to?" | [ ] |
| Output file saved | Guide saved to thoughts/shared/pm/interviews/interview-guide-[topic]-[date].md | [ ] |
If any check fails, address it before delivering the output.
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`.