/cs-interview-mapper¶
Run the interview-mapper skill on this input:
$ARGUMENTS
Workflow¶
-
route.py— Maps (goal × respondent) to one of 16 lenses (org-mapping, JTBD, CustDev, expert, usability, exit, win/loss, candidate, intercept, conflict-mediation, ethnographic, change-readiness, focus-group, team-retro, visitor-experience, brand-positioning) and returns the applicable pipeline steps. -
number_lines.py→ coding →extract_claims.py→verify_quotes.py→check_support.py— Numbers the transcript for traceability, codes Layer 1 (facts) and Layer 2 (analysis) from the lens template, then checks every quote is verbatim in the source AND that the conclusion is actually entailed by it (verbatim ≠ support — these are two separate checks). -
consensus.py(for unstable Layer-2 cells) — N isolated re-runs, fresh context each time, re-fed the transcript. Agreement →[consensus]. Disagreement →[⚑ disputed], routed tomake_adjudication.pyfor a human to decide blind. -
For >=2 interviews:
extract_nuggets.py→ cluster →score_insights.py --k 3→build_provenance.py+render_board.py— Atomizes each mapping into nuggets, clusters by theme (counting distinct interviews, not quotes), and only promotes a cluster toinsightonce=k independent interviews carry a verified quote. Below the threshold:
watchlistorweak.
Output¶
- Coded mapping with grounding status per cell (
verified/paraphrase/rejectedxsupported/unsupported), plus[consensus]or[⚑ disputed]marks on Layer 2. - Change log, omission list, rejected-quotes list (transparency is a feature, not an afterthought).
- For >=2 interviews: insight cards with verified evidence, prevalence, tension, counter-evidence,
and confidence — or
watchlist/weakif triangulation isn't met. - A standalone HTML provenance board (
render_board.py) tracing insight → quote → line → interview.
Hard rule¶
No verbatim quote + line number, checked by script, no cell. Verbatim does not imply support — check both. Disagreement between independent runs is flagged for a human, never picked by the model. A pattern requires >=k distinct interviews with a verified quote; one participant is a signal to probe, not an insight.
Distinct from¶
research-ops/skills/product-research(sibling, via/cs-product-research) — that selects the research method, sizes the sample, and synthesizes already-coded observations into a repository. It never opens a transcript. This command produces the coded, verified evidence that feeds it, or runs standalone on one transcript.product-team/ux-researcher-designer— that turns synthesized research into personas/journey design artifacts. This produces the grounded coding those artifacts should be built from.
First run¶
Onboarding-free: run skills/interview-mapper/scripts/route.py --goal <goal> --respondent <who> first — it is the deterministic
entry point that decides the lens and pipeline for you. No config file, no defaults to set.