npx skills add ...
npx skills add asmartbear/asb-skills --skill asb-interview-report
Facilitates the final step of a proven customer-interview method: distilling everything a round of interviews produced (GOALS.md, HYPOTHESES.md, QUESTIONS.md, and a directory of per-interview debriefs) into a single FINAL-REPORT.md the whole company can use. Top: a summary as brief as possible without losing salient information. Below: numbered findings (F1, F2, …) tagged validated / disproved / directional / watch / untested, every one citing debriefs and quoting customers verbatim, plus per-area briefs that marshal the evidence for ideal-customer definition, positioning, pricing, marketing & sales, and product priorities. Load when the user says 'write up what we found from the interviews,' 'summarize the interview results for the team,' or 'turn the interviews into a report.' Do NOT load for updating hypotheses from interviews (the synthesis step), for recording one conversation (the debrief step), or for actually doing the positioning, ideal-customer, or pricing work the report feeds.
npx skills add asmartbear/asb-skills --skill asb-interview-report
A round of interviews ends and the learning scatters: a hypothesis file only its author can decode, debriefs nobody rereads, teammates asking "so what did we actually find?" This skill closes the method by distilling all of it into one report — what is now known (including what got disproved), what is merely thought, and what remains untested — every claim carrying its evidence, in the customers' own words, organized so the people doing positioning, ideal-customer, pricing, marketing, and product work can act on it.
The interview method runs goals → hypotheses → questions → interviews → learning. Its output is validated facts: hypotheses confirmed, overturned, or tuned by real customer voices. Those facts are the raw material of strategy — but there is no mechanical procedure that turns "what customers said" into "what to do next." Humans do that combining, and they can only do it if the facts arrive organized, honest about their strength, and traceable to their sources. That package is this report. It is deliberately NOT the strategy itself: it delivers the evidence and names the decisions the evidence raises, and stops there.
The report serves both at once:
The finding-numbers (F1, F2, …) are the hinge between the two: a summary line ends with its F-number, and the F-entry below carries the evidence. The rule of thumb: when brevity is the goal, examples are bloat; everywhere else, examples are the proof — they make a claim believable, hard to counter, and easy for the reader to research further.
The single way this report fails is by stating things more strongly than the evidence supports — then every decision built on it inherits the inflation. So every finding wears its status:
Two more honesty obligations: sampling bias (who the interviewees were, how they were recruited, who's missing — "all referrals, no churned customers" changes what the findings mean) and "no pattern" findings (when answers genuinely scattered, that's a finding — knowing a pattern doesn't exist prevents building on a false one).
And state strength in numbers, never probability words. "Probably," "likely," "most," "often" mean wildly different things to different readers — the differences between individual interpretations are larger than the differences between the words — while "7 of 9" means the same thing to everyone. Every tally is exact; if a directional finding needs a confidence, be brave and put a number on it.
When the evidence splits — five voices at $40, five at $300 — the report never averages it into a mid-point nobody asked for. "It's a balance" is usually a refusal to decide wearing the costume of moderation. A split is either an emergent segment (report both claims, each naming whom it's about, plus the markers that sort them) or a genuine no-pattern finding (reported as such); the downstream decision it raises is a choice, and the report names that choice without making it. Related caution for readers, worth a line in the product brief when relevant: tallies establish facts — where an objectively true answer exists and individual errors cancel out — but votes cannot design; averaging contradictory desires produces the bland thing nobody hated enough to veto, not the thing anyone loves.
Each per-area brief marshals findings for a specific exercise, in that exercise's own terms:
Write to be understood, not admired. The work here wrestles with hard concepts, and clever metaphors, wordplay, or cute turns of phrase make them harder to grasp, not easier. Say plainly what you mean. If a sentence reads more clearly without a flourish, cut the flourish. State the actual point rather than gesturing wittily at it.
When you mention a numbered or lettered item to the user — K4, W2, O17, H3, and the like — add a few plain words on what it actually is ("K4 — the owner whose career rides on the site"). A bare token is unreadable to a human who saw it defined hours or days ago: the tag is for traceability, the gloss is for comprehension. Keep the tag for accuracy; always add the gloss.
Every finding in the body carries its tally ("7 of 9"), its debrief citations by filename, and verbatim quotes — multiple examples whenever multiple exist, because stacked independent voices are the proof. A claim that can't cite a debrief doesn't go in the report. Never pad and never trim: if only two voices support something, the tally says two and the status says directional. Tallies name their denominator honestly — "6 of 7 asked" when some debriefs lack the question — and a voice never asked counts toward nothing, neither a claim nor its disproof. Market-guru material (interviewees speaking for "most people" rather than themselves) is excluded from tallies and kept in the evidence with its flag. And tallies, like statuses, move only when evidence is re-examined or added — never by rounding.
The status marks are craft-gated: a ~ cannot be promoted to ✓ because the user is confident, an ✗ cannot be softened because it's disappointing, and an inconvenient finding cannot be dropped — "make it look more validated for the investor deck" is refused, gently and completely, because a report that flatters poisons everything downstream and its readers can't tell. What the user rightfully owns: wording (clearer phrasing of the same claim), emphasis (what the summary leads with), scope (a section they'd rather omit — noted as omitted), and their own interpretations, which are welcome in the briefs when labeled as theirs. Record the user's judgment as judgment, never as evidence.
Three refinements. Within an emergent segment, the denominator is the segment — "5/5 multi-provider" can validate a segment-scoped claim. A tally the sampling itself manufactured (9/9 name Facebook groups — when all nine were recruited through one) caps the status at directional no matter the count. And when the user disagrees with a status and the evidence doesn't move, their position is recorded as a plain labeled parenthetical beside the evidence inside the finding ("user's judgment, not evidence: expects this to validate"); the 💡 mark stays reserved for the briefs.
The summary contains no citations, no quotes, no commentary, and no evolution story — brevity is its job, and every line is a bare claim with its status mark, ending in the F-number that leads to the proof. Even a disproved belief is stated as present-tense knowledge ("✗ Security does not drive buying (F2)"), not as narrative ("✗ our security hypothesis was overturned"). The body contains ALL the citations, quotes, comparisons, and explanation — completeness is its job. Never blur the two: a summary that cites or explains is too long; a body claim that doesn't cite is an opinion.
The skill may offer its own reads — "💡 this pattern smells like the freelancer segment is the head of the market" — only inside the per-area briefs, only marked 💡, and only phrased as interpretation. Findings and implications never mix. When the evidence forces a choice rather than suggesting an answer, prefer the "decisions this raises" form and leave the choice with the humans.
No positioning statements, no ideal-customer definitions, no price recommendations, no roadmaps — the report feeds those exercises; it does not preempt them. When the user asks for them ("so what should our homepage say?"), point at the relevant brief and decline the rest: that work deserves its own session with the report as input.
Read what exists, asking only for what's missing:
asb-interview-debrief if installed, or the same brief record
built inline.asb-interview-learning, if installed), and proceed
as a snapshot if the user prefers.Zero debriefs = nothing to report; point back to interviewing. When the corpus is too thin to support a single validated finding (typically three debriefs or fewer), say so up front and offer the honest version: a thin report of directional and watch items with no validated section, clearly labeled.
Before drafting, harvest everything:
Assign F-numbers as findings crystallize; make each finding one claim (split compounds so evidence can hit each part separately).
Write the complete draft to disk first as FINAL-REPORT.md, in
the same directory as the hypothesis file (pasted inputs with no
known path: ask where the method's files live before writing) — the name says what it is:
the method's complete answer, the one file to hand to someone who
wasn't in the room — with the in-progress header,
sessions die and conversations truncate; the file is the memory. Then
present it whole (render it in the conversation, unless the user
prefers to read the file directly) and review it with the user in
small passes, a section or two per exchange: corrections of fact
against the debriefs (the debrief wins over memory — the user's and
yours), rewording, emphasis changes in the summary, additions labeled
as the user's interpretation. Status marks move only when evidence is
re-examined and actually supports the move. Update the file as each
pass settles, keeping the header's reviewed-through pointer current so
a fresh session can resume from disk alone; a resumed session re-reads
the source files too, since the remaining passes still check
corrections against the debriefs. If new evidence arrives mid-review
(forgotten debriefs, a late interview), re-sweep everything: existing
F-numbers keep their identity, new findings append fresh numbers —
never renumber — and any settled section whose substance changed,
including the Summary, reopens for one more pass.
Finalize when every section has been reviewed or the user explicitly waives the remainder. Remove the in-progress header, freeze the F-numbers — later documents may cite them, so a future revision appends new numbers and never renumbers or reuses old ones — and read the summary back one final time; it is the part most humans will ever see, so it gets the last polish. Close with the handoff: this report is the input to the work that follows — defining the ideal customer, positioning, pricing — and each per-area brief is where that exercise starts. If the interviews continue later, new debriefs go through synthesis and then a revised report; note the revision in the report's provenance rather than silently overwriting history.
# Interview findings — <company / project>, <date>
> ⚠️ IN PROGRESS — draft under review with the user; reviewed through
> <section name — or "review not started; begin at Summary">. (This
> note is removed at finalization.)
<One line of scope: N interviews, date range, interviewing concluded
or ongoing. If the debriefs were never synthesized, the snapshot
caveat lives here AND in Provenance: "snapshot — this report performs
first-pass synthesis; HYPOTHESES.md does not reflect these findings.">
## Summary
<As brief as possible without losing salient information. Each line:
status mark + crisp claim + F-number, and nothing else — no citations,
no quotes, no commentary, no comparisons to prior beliefs, no history.
Wrong: "~ An established plumber still reports missed-call fallout —
which cuts against the assumption that tenure dulls the pain (F1)."
Right: "~ Established solo plumbers still lose jobs to missed calls
(F1)." The evolution story lives in the finding below.>
- ✓ <the most consequential validated fact> (F1)
- ✗ <the disproved belief, stated as present-tense knowledge> (F2)
- <segment split in one line, if one emerged> (F4, F5)
- ~ <the strongest directional claim> (F7)
- ? <the biggest open question> (F12)
## Who we talked to
<N conversations with dates and segments; how interviewees were
recruited; known sampling biases and who's missing.>
## What we know (✓ validated · ✗ disproved)
<When a bar is empty, say so visibly — "Nothing validated yet: three
conversations cannot establish a pattern" or "No beliefs were
disproved this round" — emptiness stated is honesty; emptiness hidden
is spin.>
**F1.** ✓ <claim> — 8/8 debriefs. [H4, G2]
Evidence: 2026-06-12-tony.md: "two full weekends — call it 20
hours" · 2026-06-29-jen.md: "a week of evenings — 25 hours, maybe
more" · six more in the 18–25 band.
**F2.** ✗ <the overturned belief, restated as what is now known> —
6/7. [H7]
Evidence: <citations and quotes, several when several exist>.
## What we think (~ directional · 👀 watch)
**F7.** ~ <claim> — one voice, marked a revelation. [H5]
Evidence: <citation and quote>. Would settle it: <what evidence>.
**F9.** 👀 <parked observation, imported from the watch list>.
Evidence: <citation and quote>.
## What we don't know
**F12.** ? <untested goal or hypothesis, and why — question misfired,
never reached, segment missing> [G6]
- <sampling gap and what it could distort — gaps are prose bullets;
unresolved goals/hypotheses get F-numbers so the summary and later
documents can cite them>
## Segments (when segmentation emerged)
<Per segment: its markers, how to sort a prospect early, and the
per-segment differences in pain, price, and priorities — cited.>
## In their words
<The vocabulary bank: what they call themselves, the problem, the
product category, the pain — verbatim, attributed, loaded phrases
flagged as theirs.>
## For defining your ideal customer
Keystone candidates: <…> [F1, F4] · Deal-breaker candidates: <…> [F2]
Inciting events heard: <the actual trigger stories, quoted> [F5]
Sorting markers: <…> [F9] · Best-vs-worst signals: <…>
Decisions this raises: <…>
💡 <tentative implication — labeled with whose read it is and
"judgment, not a finding"; optional>
<When an expected input was never captured — no inciting events heard,
no channels probed — the brief says "none heard; a gap for the next
round" rather than silently omitting the line.>
## For positioning & messaging
## For pricing & packaging
## For marketing & sales
## For product priorities
<Same shape as the ideal-customer brief: marshaled [F-numbers] in the
exercise's own terms, decisions raised, labeled 💡 lines optional.>
## Provenance
Built from <files> as of <date>; synthesis runs through <date>;
<N> debriefs (<filenames>). The debriefs remain the primary sources.