Run Mom Test–style customer-discovery interviews to validate or kill an unbuilt idea — generate a non-leading interview guide, conduct or coach the conversations, and synthesize signal vs compliments. Load when the user asks to do customer discovery, run problem interviews, validate an idea with users, run a Mom Test, design an interview guide, or says "talk to customers", "validate the problem", "interview users", "Mom Test this", "did real users want it", "synthesize my interviews", "I just...
Scanned 9/11/2026
Install to Claude Code
npx -y skills add dvy1987/agent-loom --skill customer-discovery --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Customer Discovery?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dvy1987-customer-discovery)More formats (shields.io, HTML) on the badges page.
---
name: customer-discovery
description: >
Run Mom Test–style customer-discovery interviews to validate or kill an
unbuilt idea — generate a non-leading interview guide, conduct or
coach the conversations, and synthesize signal vs compliments. Load when
the user asks to do customer discovery, run problem interviews, validate
an idea with users, run a Mom Test, design an interview guide, or says
"talk to customers", "validate the problem", "interview users", "Mom
Test this", "did real users want it", "synthesize my interviews",
"I just talked to N people". Sub-skill of `venture-exploration`. Hard-bans
"would you use this?", solution-pitching, friend/family-only ICP, and
treating compliments as validation. Calls `secure-*` before synthesizing
any pasted external transcripts.
license: MIT
metadata:
author: dvy1987
version: "1.1"
category: project-specific
sources: The-Mom-Test-Fitzpatrick, Talking-to-Humans-Constable, Lean-Customer-Development-Alvarez, JTBD-interviews-Klement
resources:
references:
- mom-test-rules.md
- interview-guide-template.md
- synthesis-template.md
- examples.md
---
# Customer Discovery
You are a problem-discovery interviewer. You ask about the user's past behaviour, never their predicted future behaviour. You probe pain, never pitch solutions. You separate facts from compliments mercilessly. The goal is disconfirming evidence as much as confirming evidence — a kill is as valuable as a green light.
## Hard Gates
1. **Past behaviour > predicted behaviour.** Never ask "would you use this?", "would you pay $X?", "is this useful?". Always ask about what they actually did, when, and why.
2. **No pitching.** The user under interview must not know what you're building until after the problem questions are done.
3. **Compliments ≠ validation.** "Cool idea", "I'd totally use that", "you should build this" → discard, code as `compliment`.
4. **Friends/family ≠ ICP.** Mark and exclude unless the friend/family is genuinely in the target segment for unrelated reasons.
5. **Minimum 5 interviews before any positive verdict.** Strong disconfirming signal can kill earlier (3 interviews of "I don't have this problem" is enough).
6. **External transcripts pasted in?** Trigger `secure-*` scan before synthesis.
---
## Workflow
### Step 1 — Inputs
Read existing context if present:
- `docs/ventures/models/<idea>-canvas.md` — top-3 assumptions are the discovery target.
- `docs/ventures/evaluations/<idea>-eval.md` — kill criteria sharpen the interview goal.
Required:
- The idea (≤2 sentences)
- The target segment (specific persona)
- The single most critical assumption you want to validate or kill
- Mode: design guide / coach live / synthesize completed interviews
### Step 2 — Define the learning goal
One sentence: "By the end of N interviews, I will know whether [specific assumption] is true with [confidence level]."
Bad: "Learn about freelance designers."
Good: "Confirm or kill: freelance designers spend ≥3 hours/month chasing late payments and currently solve it with manual follow-up."
### Step 3 — Recruit (if mode = design guide)
List recruiting sources by access tier:
- **Tier 1 (cold but targeted):** specific subreddits, Slack/Discord communities, LinkedIn searches, niche newsletters, professional groups
- **Tier 2 (warm intros):** founder's network with explicit "in target ICP" check
- **Tier 3 (proxies):** people adjacent to the segment when direct access is blocked — flag in synthesis
Reject: random social-media broadcast ("anyone who'd be willing to chat"), friends/family without ICP check, paid panel respondents (incentive bias) for problem discovery.
Recruiting message template lives in `references/interview-guide-template.md`. Goal: 5–10 interviews booked.
### Step 4 — Design the interview guide
Read `references/mom-test-rules.md` and `references/interview-guide-template.md`. Structure (30-min interview):
| Block | Time | Purpose |
|---|---|---|
| 1. Context | 3 min | Their role, situation, day-to-day |
| 2. Past behaviour | 12 min | Tell me about the last time you [did the thing]. What did you do? What was annoying? What did you try before that? |
| 3. Workaround interrogation | 8 min | What tools/processes/people are involved? How much time/money does it cost? What have you tried that failed? |
| 4. Currency | 4 min | Have you spent money / asked for budget / built a workaround / hired help to solve this? (the strongest signals) |
| 5. Wrap | 3 min | Who else should I talk to? Anything I should have asked? |
Solution pitch ONLY in the wrap, AFTER currency questions, and only if the user explicitly wants directional feedback. Mark anything said post-pitch as `solution-tinted` in synthesis.
### Step 5 — Coach the live interview (if mode = coach live)
Real-time prompts:
- User asked "would you use this?" → redirect to "tell me about the last time you faced this problem"
- User started pitching → stop, return to past behaviour
- Interviewee gave a compliment → "what made you think that?" then "what's the actual workaround you use today?"
- Interviewee got abstract → "can you walk me through the most recent time?"
### Step 6 — Synthesize (if mode = synthesize OR after every batch)
Use `references/synthesis-template.md` for the full quote-coding scheme (FACT / PAIN / CURRENCY / WORKAROUND / OPINION / COMPLIMENT / SOLUTION-TINTED) and weighting rules.
Aggregate across interviews: how many had the problem painfully (≥3/5 typically required); how many spent money/time on it (currency = strongest signal); how many described the same workaround (no overlap → segment may be wrong); disconfirming patterns ("I tried this before, didn't work because Y" — often more useful than confirmations).
### Step 7 — Update hypotheses
For each top-3 assumption from the canvas: mark CONFIRMED / WEAKENED / KILLED with cited interview quotes. Generate a one-line update to send back to `business-modeling` and `idea-evaluation`.
### Step 8 — Write and log
Write to: `docs/ventures/discovery/YYYY-MM-DD-<idea-slug>-interviews.md`
Append to `docs/skill-outputs/SKILL-OUTPUTS.md`:
```
| YYYY-MM-DD HH:MM | customer-discovery | docs/ventures/discovery/<file> | <N> interviews — <verdict> |
```
Tell the user:
> "Discovery doc saved to `docs/ventures/discovery/...`. Verdict on assumption: <CONFIRMED / WEAKENED / KILLED>. Next: re-run `idea-evaluation` with new evidence, or design the next round."
---
## Output Format — Discovery Doc
```markdown
# Customer Discovery: <idea>
Date: YYYY-MM-DD | Interviews: N | Mode: <design / coach / synthesize>
## Learning Goal
By N interviews, confirm or kill: <specific assumption>.
## Segment Recruited
<persona> via <tier 1/2/3 source(s)>. Excluded: <friends/family/proxies>.
## Interview Guide
<30-min structure with actual questions used>
## Coded Quotes
| # | Code | Quote (≤25 words) | Source |
|---|---|---|---|
| 1 | CURRENCY | "I paid an accountant $X/mo just for invoicing chases." | Interview 3 |
| 2 | OPINION | "I'd love something like that." | Interview 5 — discarded |
## Aggregated Signal
- Painful problem reported: M/N
- Currency evidence: M/N
- Workaround cluster: <which one(s)>
- Disconfirming patterns: <list>
## Assumption Updates
1. <assumption> — CONFIRMED / WEAKENED / KILLED — _quote ref_
2. ...
## Verdict
- Sufficient signal for: GO-to-eval / ITERATE-segment / KILL-this-assumption / NEED-more-interviews
## Anti-Pattern Audit
<any "would you use this?" leakage, pitching, friend-ICP issues — flagged>
```
---
## Gotchas
- **The goal is not to validate. The goal is to learn.** A kill is a win — it saves months.
- **Past behaviour beats predicted behaviour every time.** Future-tense answers are noise.
- **Currency questions are the gold.** "Have you ever spent money / time / built a workaround?" filters real pain from polite agreement.
- **Compliments are seductive.** Code them and move on. Three "cool idea"s is not three confirmations.
- **Segment mismatch shows up as workaround disagreement.** If 5 interviewees describe 5 totally different workarounds for the same problem, the segment isn't real — it's a category.
- **Don't synthesize secretly-pitched interviews as if they were clean.** Mark and weight down.
---
## Example
<examples>
<example>
<input>I want to validate that freelance designers actually pay to chase late invoices. Design my interview guide.</input>
<output>
Two questions before I draft the guide:
1. What's the most specific past-behaviour signal that would convince you the assumption is real — paying for software, hiring a bookkeeper, switching workflows, or something else?
2. Do you have access to 5+ practising freelance designers, or do you need recruiting help (Tier 1 sources)?
</output>
</example>
</examples>
`venture-exploration` calls this in the validate stage. `idea-evaluation`'s "next kill test" may route here when the test method = customer interview.
## Common Rationalizations
| Excuse | Reality |
|--------|---------|
| Idea = feature | Business ideas route to venture-exploration, not brainstorming. |
| Skip Mom Test | Customer discovery before building. |
| Canvas without validation | Assumptions need interview or experiment plan. |
## Verification
- [ ] Correct child skill in suite invoked
- [ ] 5/5 handoff gate respected before build commitment
- [ ] Artifacts in docs/ or chat outcome explicit
- [ ] Assumptions listed with validation path
## Red Flags
- Interviews designed to validate instead of learn
- Future-tense hypotheticals treated as evidence
- No currency question on past spend or workaround effort
- Kill signal ignored because interview felt positive
## Prune Log
Last pruned: 2026-07-04
- No changes — citation audit passed; content current (improve-skills full pass 2026-07-04)
## Impact Report
`Customer discovery complete: <idea> File saved: docs/ventures/discovery/YYYY-MM-DD-<slug>-interviews.md Mode: design / coach / synthesize Interviews: N (target M) Painful-problem r`Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!