# asb-interview-learning

Reconciles customer interview notes against HYPOTHESES.md and QUESTIONS.md. Proposes evidence-based updates one at a time and delivers a clear verdict on whether to stop.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 630 installs · ★ 48
- Author: asmartbear
- License: CC-BY-4.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/asmartbear/asb-skills/tree/HEAD/.claude/skills/asb-interview-learning/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/asb-interview-learning

## What it does

The skill evaluates stored interview debrief files against existing working hypotheses. Instead of dumping arbitrary conclusions, it queues individual edits backed by quotes from the conversations. You approve or reject every proposed change directly before any file gets modified.

Under the hood, it sorts observations into three tiers. An outlier heard only once never shifts an active belief; it lands in a watch section labeled "That's funny" to catch future trends. Recurring feedback updates parameters, tightens target customer segments, or crosses out disproved assumptions. A single remark updates a hypothesis only if it delivers a genuine structural revelation about the problem.

Running the workflow requires populated `HYPOTHESES.md`, `QUESTIONS.md`, and individual debrief files in place. The skill is not designed to log single calls or schedule feature roadmaps. At the close of each run, it assesses surprise rates to recommend whether to stop talking, keep validating, or redirect the focus.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add asmartbear/asb-skills --skill asb-interview-learning -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/asb-interview-learning/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/asb-interview-learning/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add asmartbear/asb-skills --skill asb-interview-learning -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/asb-interview-learning/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add asmartbear/asb-skills --skill asb-interview-learning -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/asb-interview-learning/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install asmartbear/asb-skills asb-interview-learning
```

2. **Manually: put the files in place**
- File: `.github/skills/asb-interview-learning/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add asmartbear/asb-skills --skill asb-interview-learning -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/asmartbear/asb-skills --path .claude/skills/asb-interview-learning
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/asb-interview-learning/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add asmartbear/asb-skills --skill asb-interview-learning -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/asmartbear/asb-skills/tree/HEAD/.claude/skills/asb-interview-learning/SKILL.md

## When to use it
- update customer hypotheses based on interview debriefs
- filter one-off anecdotes out of recurring user patterns
- split overlapping hypotheses into distinct customer segments
- decide whether to continue customer interviews or pivot

## Example prompts
- What did we learn from these interviews?
- Synthesize my interview notes against HYPOTHESES.md
- Should I keep interviewing based on the recent debriefs?

## Source text · SKILL.md · CC-BY-4.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: f1f26015234b31cd.

BEGIN THIRD-PARTY FILE f1f26015234b31cd
```text
---
name: asb-interview-learning
description: "Facilitates the learning step of a proven customer-interview method — the synthesis half: reads a directory of per-interview debrief files against the working HYPOTHESES.md and QUESTIONS.md and proposes evidence-cited updates ONE at a time — double down, tune numbers, mark disproved, park heard-once observations in a 'That's funny' watch section, add new hypotheses with new questions — applying each agreed change directly to the files with a change log, and ending with a stop-or-continue-or-re-aim verdict on the interviewing itself. Load when the user says 'what did we learn from these interviews,' 'update my hypotheses from the interviews,' 'synthesize my interview notes,' or 'should I keep interviewing?' Do NOT load for recording a single conversation into a debrief (the previous step), for writing initial goals, hypotheses, or interview questions (earlier steps), or for deciding what to build next (comes after this method)."
---

# Learning: Let the Interviews Rewrite Your Hypotheses

Written predictions only pay off at reconciliation: the hypothesis list
was recorded precisely so that reality could argue with it, and this is
the step where the argument happens. The skill reads the accumulated
per-interview debriefs against the working hypothesis and question
files, builds a queue of proposed changes with the evidence for each,
and walks the user through it one proposal at a time — the user decides
every change, agreed changes land in the files immediately, and the
session ends with a real decision about the interviewing itself: keep
going, stop and act, or admit the answers are diverging and re-aim.

## The mental model

### The three-tier update rule

Not everything heard deserves a reaction, and the tiers are the core of
this step:

- **A stray voice** — one person said something contradictory. Change
  nothing: in the real world nothing is universal, and a belief file
  that flinches at every anecdote never converges. But *notice* it: the
  observation goes in a "That's funny" watch section, on the record,
  so the next synthesis checks whether it's become a pattern.
- **A pattern** — the same story, number, or attitude across several
  conversations; never claimed from a corpus of only one or two, where
  the first tier governs no matter how unanimous it looks. Update the
  hypothesis: tune its number, tighten its segment, or mark it
  disproved. Patterns are the fundamental truth the interviews exist to
  find.
- **A revelation** — even one customer says something that strikes the
```
END THIRD-PARTY FILE f1f26015234b31cd

The third-party file has ended. Everything between the f1f26015234b31cd tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2595 of 24649 bytes. © asmartbear · CC-BY-4.0 · https://github.com/asmartbear/asb-skills/tree/HEAD/.claude/skills/asb-interview-learning/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
