Customer Interviews skill for Codex
Ask about last Tuesday, not someday. Codex starts every interview plan from the decision it must inform, recruits on behaviour rather than job title, and writes guides that reconstruct the last real instance of a task instead of asking people to predict the future. It rewrites leading and hypothetical questions, keeps concepts for the end of the call, and turns transcripts into coded snapshots with verbatim quotes ready for synthesis.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- customer-interviews Installs to ~/.agents/skills/customer-interviews/ for every project on this machine.
curl -fsSL codexskills.dev/cli.mjs -o codex-skills.mjsnode codex-skills.mjs install customer-interviews The CLI also searches, updates and removes skills. Run it with no arguments to pick from a list. Needs Node 20.12+.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- --project customer-interviews Installs to .agents/skills/customer-interviews/ in the current repository. Commit it and everyone who runs Codex there gets it.
curl -fsSLO codexskills.dev/downloads/customer-interviews.zipunzip -o customer-interviews.zip -d ~/.agents/skills/ The archive holds the skill folder with its generated agents/openai.yaml. Unzip into .agents/skills/ to scope it to a repo.
& ([scriptblock]::Create((irm codexskills.dev/install.ps1))) customer-interviews PowerShell 5.1 or 7. Installs to %USERPROFILE%\.agents\skills\. Add -Project for the current repo.
104-line POSIX script. No sudo, no telemetry. Read install.sh
Use it in Codex
Start a prompt with $customer-interviews, or pick it from /skills.
You can also just describe the task: Codex reads the description below and loads the playbook when your request matches.
What Codex reads before loading it
Plans, scripts and debriefs customer and user interviews for product decisions - research questions, screener and recruiting criteria, a discussion guide built on past-behaviour questions instead of hypotheticals, note-taking templates, consent handling, and per-interview snapshots that feed synthesis. Rewrites leading or pitchy questions. Use when asked to prepare an interview guide, recruit users for research calls, review interview questions, run problem or churn interviews, or summarize a set of interview transcripts.
Use it when
- You are preparing problem, switching or churn interviews
- You need a screener to recruit the right participants
- An existing guide is full of would-you questions
- Transcripts need structured snapshots before synthesis
Use something else when
- Snapshots are done and you need themes and insights across them: use user-research-synthesis
- You need a quantitative survey rather than conversations: use survey-design
- You want the jobs-to-be-done framing specifically: use jobs-to-be-done
How to check the result
Main guide sections contain no hypothetical questions, each research question maps to a guide section, and every snapshot holds at least two verbatim quotes.
The mistake it prevents
Asking people whether they would use a proposed feature and treating their polite yes as validation.
Interviews are done well when every question asks about something the person actually did, the guide serves a written research question tied to a decision, nobody pitched the product during the call, and each interview produces a snapshot within 24 hours that quotes the person rather than paraphrasing them into agreement.
Start from the decision
Write this before any questions:
Decision: <what we will decide with this research, and by when>
Research questions (2-4): <what we need to learn, not what we will ask>
Participants: <segment, behaviour criteria, count>
Out of scope: <topics we will not explore>
A research question (“How do teams decide which tool to adopt for sprint planning?”) is not an interview question. Never read research questions aloud to participants.
Recruiting
- Screen on behaviour, not demographics or self-description: “has run sprint planning in the last 2 weeks” beats “is a project manager”.
- 5-8 interviews per distinct segment usually surface the main patterns; stop when the last two interviews produced no new themes.
- Include people who churned, never activated, or chose a competitor. Only interviewing happy customers produces a love letter, not research.
- Screener: 4-6 questions, at least one that disqualifies, with answer options that do not reveal the “right” answer.
Sending recruiting emails or scheduling messages on the user’s behalf is outward communication: draft them and get approval before anything is sent.
Question rules
| Avoid | Why | Ask instead |
|---|---|---|
| “Would you use a feature that…?” | Hypothetical; people are poor predictors of their behaviour | “Tell me about the last time you needed to…” |
| “Don’t you find X frustrating?” | Leading | “How did X go last time?” |
| “Do you like our dashboard?” | Invites politeness | “Walk me through the last time you opened the dashboard. What were you looking for?” |
| “How often do you…?” | Invites idealized averages | “When did you last…? And before that?” |
| “What features do you want?” | Customers design poorly | “What did you try? What did it cost you when it failed?” |
| Two questions in one | Only one gets answered | Split them |
Follow-up probes do most of the work: “Tell me more about that”, “What happened next?”, “Why was that important?”, “What did you do instead?”, “Can you show me?” Silence after an answer is a probe too; wait three seconds before speaking.
For a bank of questions by interview type (problem, switching, churn, usability follow-up, pricing), read references/question-bank.md when drafting a new guide.
Discussion guide structure (45-60 min)
1. Intro (3 min): thanks, purpose in neutral terms, no right answers, consent to record
2. Context (7 min): role, team, how their week works around <topic>
3. Last-time story (20 min): reconstruct the most recent instance step by step
- trigger, who was involved, tools, workarounds, what went wrong, time and cost
4. Deep dive on research question 2 (10 min)
5. Reactions to concept or prototype, only if needed (10 min) - always last
6. Wrap (3 min): "Anything I should have asked?", who else to talk to, thanks/incentive
Showing a concept earlier contaminates everything after it.
Consent and data handling
- Get explicit consent to record before recording starts; state who will see the recording and how long it is kept.
- Store recordings and transcripts where the organization’s policy says; never paste identifiable transcripts into public tools or repo files that are not access-controlled.
- When summarizing, refer to participants by code (P1, P2) with segment, not by name.
- Respect requests to delete data; deleting files is irreversible, so confirm with the user before doing it.
Interview snapshot (fill within 24 hours)
## P4 - Ops lead, 40-person agency, churned in August
Date: 2026-10-14 | Interviewer: <name> | Recording: <link, access-controlled>
Context: runs weekly resourcing; team uses spreadsheets plus our tool for 5 months
Last-time story: <5-8 bullets of what happened, in order>
Pains (with intensity 1-3 and evidence):
- Rebuilding the plan when someone is sick (3) - "I spent my whole Monday redoing it"
Workarounds: duplicate spreadsheet, Slack thread per project
Goals / jobs: <what they were trying to achieve>
Surprises: <anything that contradicts our assumptions>
Quotes (verbatim):
- "..."
Follow-ups: <questions to test in next interviews>
Summarizing many transcripts
When given transcripts:
- Produce one snapshot per transcript first; do not jump to cross-interview themes.
- Keep quotes verbatim with participant code and timestamp if available.
- Mark anything inferred as inference.
- Count how many participants support each emerging theme and how many contradict it.
- Hand the snapshots to
$user-research-synthesisfor affinity mapping and insights.
Workflow
- [ ] 1. Write decision, research questions, participants
- [ ] 2. Draft screener; get approval before any outreach
- [ ] 3. Draft guide; rewrite every hypothetical or leading question
- [ ] 4. Pilot the guide with one colleague; cut to fit the time
- [ ] 5. Run interviews; snapshot each within 24 hours
- [ ] 6. After every 3 interviews, revise the guide for gaps
- [ ] 7. Stop at saturation; hand off to synthesis
Gotchas
- Interviewing to validate a solution you already love produces confirmation; ask about the problem, and let people describe their own workarounds.
- Compliments and “I would definitely use that” are not data. Commitments (time, money, intro to a decision-maker, sharing real files) are.
- Two interviewers maximum; one leads, one takes notes. More feels like an audit.
- Sales and support calls are not research interviews; the incentives differ.
- Do not offer incentives that bias answers (discounts on the product being discussed); use neutral gift cards where policy allows.
Verification
Scan the final guide: every question in sections 2-4 should be answerable only with a story about something that already happened. Count hypotheticals (“would”, “could you imagine”): zero outside the concept section. Confirm each research question maps to at least one guide section, and every snapshot contains at least two verbatim quotes.
What the zip contains
Codex reads bundled files only when a step points to them. Every one is shown here, so you can review it before installing.
agents/openai.yaml
Gives the Codex app a display name, a one-line description and a starter prompt for this skill.
interface:
display_name: "Customer Interviews"
short_description: "Ask about last Tuesday, not someday"
default_prompt: "$customer-interviews Write a discussion guide for interviewing teams who churned in the last quarter" references/question-bank.md
# Interview question bank
Pick 6-10 questions for a 45-60 minute guide. Every main question below asks about past
behaviour. Pair each with the generic probes from SKILL.md.
## Problem interviews (is this problem real and painful?)
- Tell me about the last time you had to <task>. What kicked it off?
- Walk me through what you did, step by step. Where were you, what tools were open?
- Which part took the longest? Which part did you dread?
- What did you do when <step> did not work?
- Who else was involved? What did they need from you?
- How did you know you were done? What happened afterwards?
- What does it cost you when this goes wrong? (time, money, reputation, stress)
- Have you tried to fix this before? What did you try, and why did you stop?
- If you could hand this task to someone else entirely, what would you tell them to watch out for?
## Switching interviews (why did they adopt or leave a product?)
Use for recent switchers, ideally within the last 90 days, while memory is fresh.
- When did you first realize the old way was not working? What was happening that day?
- What did you do next? Who did you talk to? What did you search for?
- Which options did you look at? How did you narrow them down?
- What almost stopped you from switching?
- What did you have to give up or migrate? How did that go?
- When did you make the final decision? Who signed off?
- What is different now, compared with before? What do you miss about the old way?
## Churn interviews
- Take me back to when you first signed up. What were you hoping it would do?
- When did it start feeling like it was not working out? What happened?
- What are you using now for this? How did you set it up?
- Was there a moment where something could have changed your mind?
- What would someone like you need to hear before trying us again? (listen, do not pitch)
## Usage and workflow interviews (existing customers)
- Open the product and show me what you did the last time you used it.
- What were you trying to get done? Did you get it done?
- Where do you go when the product does not do what you need?
- What do you export, copy or screenshot out of it? Where does that go?
- Which parts do you never touch? Why?
## Pricing and value (behaviour, not stated willingness to pay)
- How did you decide this was worth paying for? Who else had to agree?
- What budget does this come out of? What else competes for that budget?
- What did you pay for the previous solution, including people's time?
- When you renewed, did anyone question the cost? What did you say?
For structured willingness-to-pay methods, use the pricing-strategy skill instead.
## Concept or prototype reactions (always last)
- Here is something we are exploring. Take a minute to look at it and talk me through what you think it is.
- What would you do first? What do you expect to happen?
- How would this fit into the last time you did <task> that you described earlier?
- What would stop you from using it?
- Who on your team would care about this, and who would push back?
## Wrap-up
- What should I have asked that I did not?
- Is there anyone else you think I should talk to about this?
- Can I follow up if I have a quick question later?
About this skill
Written and maintained by the Codex Skills editors to the same editorial standard as every skill here: a selective description, a real workflow, known pitfalls and a way to verify the work. First published , last updated . MIT licensed. Something wrong or out of date? Tell us.