plugins/v1tamins/skills/v1-interview-me/SKILL.md
Use when the user provides an idea, feature request, Linear ticket, or concept that needs fleshing out, product validation, or office-hours-style questioning. Triggers on "interview me about X", "help me spec out Y", "I have an idea for Z", "flesh out this idea", "office hours", "is this worth building".
npx skillsauth add v1-io/v1tamins v1-interview-meInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Collaboratively refine ideas through structured questioning, helping the agent understand the idea and the user crystallize their thinking. The interview process itself is valuable, not just the final deliverable.
Typical invocations:
/v1-interview-me [LINEAR_TICKET_ID or idea]v1-interview-me from the skills menu or use $v1-interview-me [LINEAR_TICKET_ID or idea]Examples:
/v1-interview-me
/v1-interview-me <LINEAR_TICKET_ID>
/v1-interview-me <paste idea or feature description>
In Codex, the slash examples below map directly to $v1-interview-me ....
Can also be triggered conversationally: "I have an idea for X", "help me spec out Y", "flesh out this concept".
Read any provided context (Linear ticket, feature description, rough idea). Identify:
Before interviewing, explore what already exists using available tools:
Hard rule: if a question can be answered by exploring the codebase, Linear, or documents -- explore instead of asking. Only interview for things that require the user's judgment, intent, or domain knowledge. Don't waste interview rounds on things you can look up.
Classify the session before asking the first question:
| Posture | Use When | Interview Bias | |---------|----------|----------------| | Startup diagnostic | Customer, revenue, fundraising, market, internal sponsor, adoption, or "worth building" language appears | Demand evidence, status quo, narrow wedge, observation, future fit | | Builder exploration | Side project, learning, hackathon, open source, creative tool, or "cool thing" language appears | Delight, fastest demo, who to show, surprising combinations, next build step | | Implementation spec | User already knows this should be built | Decisions, constraints, edge cases, integration, validation |
Default to Startup diagnostic when the user asks whether something is worth building. Default to Builder exploration when the user wants to riff before committing. Switch postures mid-interview if the user's answers reveal a different job.
Startup diagnostic forcing questions:
Ask these one at a time only when the answer is not already clear. Push vague answers once with a concrete follow-up, then record the gap and move on.
Builder exploration prompts:
End every posture with one concrete assignment: the next thing the user or agent should do.
After gathering context, identify the major decisions and branches in the design. List them explicitly:
"I see these key decisions that need resolving: A, B, C..."
Walk dependencies in order -- resolve upstream decisions before probing downstream ones. A decision is "resolved" when it reaches one of these states:
| State | Example | |-------|---------| | Decided | "We'll use webhooks, not polling" | | Intentionally deferred | "We'll decide the retry strategy after load testing" | | Blocked on external input | "Need pricing info from the vendor before choosing" |
Branch closure rule: don't move on from a decision until it reaches one of these states. This prevents the interview from producing a spec full of implicit assumptions.
The first question shapes the entire interview. Choose based on what the user provided:
| Starting Input | First Question Strategy | |---------------|----------------------| | Vague idea ("I want to build X") | "What's the problem you're solving, and who has it worst right now?" | | Feature request with some detail | "What workaround are people using today, and what breaks about it?" | | Linear ticket / spec | "What's the most uncertain part of this spec?" | | Technical concept | "What's the simplest version of this that would be useful?" |
Avoid generic openers like "tell me more" or "what's the goal." The first question should demonstrate you understood the input and are already thinking ahead.
In the same opening round, calibrate depth:
Then adjust the rest of the interview:
Use AskUserQuestion repeatedly. Interview until sufficient understanding is reached.
Question Strategy:
multiSelect: true when choices aren't mutually exclusiveProgressive Synthesis:
After every 2-3 rounds, share a brief summary of your current understanding:
"Here's what I'm hearing so far: [2-4 sentence synthesis]. Before I go deeper on X, does this track?"
Handling Uncertainty:
| Response Type | Meaning | Action | |--------------|---------|--------| | "I don't know" | Needs research | Record as Open Question (research needed), move on | | "I haven't decided" | Decision pending | Record as Open Question (decision needed), note tradeoffs discussed | | "It depends" | Conditional answer | Drill into conditions -- "What does it depend on?" Get the conditions enumerated. | | "I don't care" / "Either way" | Low priority for user | Make a reasonable default recommendation and note it | | "We should ask [person]" | Blocked on stakeholder | Record as Open Question (blocked: [person]), move on |
Don't keep pushing when user signals uncertainty. Document it with the right label and move on.
Adapt to Communication Style:
Constructive Challenge:
Actively probe for weak spots in the plan:
Recognizing Pivots:
If answers consistently point away from the original idea (the real problem is different, the assumed user is wrong, a simpler solution exists), pause and name it:
"Based on what you've described, it sounds like the core problem might actually be X rather than Y. Should we shift the interview in that direction?"
Don't silently drift. Explicitly acknowledge the pivot so the user can agree or disagree. If they agree, restart progressive synthesis from the new framing. If they disagree, note the alternative framing as an open question.
Question Categories (cycle through as needed):
| Category | Focus | Example Non-Obvious Questions | |----------|-------|------------------------------| | Current State | What exists today | "What workaround exists now?" / "How is this problem currently handled?" | | Demand & Wedge | Whether the idea has real pull and a narrow entry point | "Who would be upset if this disappeared?" / "What's the smallest version worth adopting this week?" | | Constraints | What limits the solution space | "What's the recovery story if this fails mid-operation?" / "What existing system invariants must we preserve?" | | Users & Actors | Who interacts and how | "Who has to clean up when this goes wrong?" / "What's the worst thing a confused user could do here?" | | State & Data | What changes and persists | "What happens to in-flight data if this is deployed mid-operation?" / "What's the source of truth when systems disagree?" | | Boundaries | Where responsibility ends | "What's explicitly NOT in scope that someone might assume is?" / "At what scale does this approach break down?" | | Failure Modes | What breaks and how | "What's the blast radius if the dependency is down for an hour?" / "How do we know this is broken before users tell us?" | | Risk & Priority | What matters most | "If this work isn't done, what breaks first?" / "Rank these concerns by impact" | | Validation | How to verify | "What's the smallest experiment to test this hypothesis?" / "How would we know this worked?" | | Evolution | How it changes over time | "What's the migration path when requirements change?" / "What decision here will be hardest to reverse?" | | Integration | How it connects | "What existing workflows does this interrupt or complicate?" / "Who needs to know when this happens?" |
Category Coverage Tracker:
Not all categories apply -- depth calibration from step 4 determines which matter. For analysis scope, focus on Current State, Constraints, Risk & Priority. For full design, cover all relevant categories.
Stop interviewing when:
Alternative Completion Signals:
Before writing final output:
This catches misunderstandings before they're written into permanent artifacts.
Select based on context:
| Condition | Format | Action | |-----------|--------|--------| | User provided a Linear ticket or existing doc | Update existing artifact | Integrate findings, mark new sections with "NEW:" prefix, preserve existing structure | | User needs implementation-ready spec | Standalone specification | Use spec template in step 10 | | Idea is early-stage or exploratory | Summary for discussion | Synthesize key insights, list open questions, skip formal structure | | User asked "is this worth building" | Diagnostic memo | Lead with demand evidence, status quo, narrow wedge, risks, and assignment | | User says "this is helpful" / "that's enough" | No output needed | The interview itself achieved the goal |
For standalone specs, use this structure:
# [Feature/Concept Name] Specification
## Overview
[1-2 paragraph summary of what this is and why it matters]
## Goals & Non-Goals
**Goals:**
- [Explicit objectives]
**Non-Goals:**
- [What this explicitly does NOT do]
## User Stories / Use Cases
[Primary flows with actor, action, outcome]
## Demand Evidence
[Specific behaviors, status quo, and narrowest wedge]
## Technical Design
[Architecture, data flow, key decisions]
## Edge Cases & Error Handling
[What happens when things go wrong]
## Dependencies & Integration Points
[What this touches and relies on]
## Open Questions
[Anything that still needs resolution - including intentional TBDs]
## Success Criteria
[How we know this works]
After producing output, suggest relevant next actions:
v1-stickify for persuasive framing)v1-prd skill)development
Run an extremely strict maintainability review for abstraction quality, giant files, and spaghetti-condition growth. Use for large prs, new features/architectures, a deep code quality audit, or especially harsh maintainability review.
testing
Commit, push, open, and land a pull request through CI handoff. Use when work is complete and the user wants an agent to create or update a PR, open it as a draft, monitor GitHub checks with `gh pr checks`, fix failed checks, retry up to three remediation pushes, mark the PR ready for review once green, and move a linked Linear ticket to Human Review when one exists. Trigger on requests like 'land this PR', 'open and monitor a PR', 'commit push and watch CI', 'get this ready for review', or 'finish the PR workflow'.
development
Use when reviewing a PR, reviewing the current branch, or posting code review feedback to GitHub. Triggers on "review this PR", "code review", "check this pull request", "review my branch", "review and fix".
development
Use when a plan, PRD, proposal, or implementation outline is overscoped, too ambitious for the immediate goal, or needs to be reduced to a bare-bones version. Triggers on "bare bones", "no damn whistles", "no bells and whistles", "strip this plan", "trim this plan", "scope creep", "descope this plan", "MVP only".