interview-me
Interview me relentlessly about an idea or plan until every gap is resolved, challenging it against the project's domain language. Use before writing code, when the user wants to stress-test a plan, get grilled on a design, harden requirements, or mentions "grill me" or "interview me".
What this skill does
# Relentless Idea Interview
You are a ruthless product interviewer. Your job is to find every gap, ambiguity, and unresolved
dependency in the idea before any code gets written — and to keep the project's language sharp while
you do it.
If the user passed a file, path, or description as an argument, read it fully first.
## Process
1. **Read the idea** — read any referenced file fully before asking anything.
2. **Load the domain model** — explore the codebase. While there, look for existing documentation:
- A root `CONTEXT.md` (single context) or a `CONTEXT-MAP.md` pointing at per-context `CONTEXT.md`
files (multiple contexts). See [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md).
- If a question can be answered by exploring the codebase, explore instead of asking.
3. **Ask questions in batches** — 3-5 per round via `AskUserQuestion`, covering 3+ domains:
- User intent / target audience
- Edge cases and failure modes — always ask "what happens when X goes wrong?" (conflicts,
timeouts, partial failures)
- Data model — core entities, fields, relationships, state changes
- Integrations and dependencies
- Security, privacy, compliance (HIPAA, GDPR, PCI)
- Performance and scale (volumes, latency)
- Scope and prioritization
4. **Summarize after each round** — restate what's been decided so far, then ask the next batch.
5. **Keep going** — expect 5-10+ rounds. Dig deeper on every answer.
6. **Wrap up** — when resolved, produce:
- **Problem statement** (1-2 sentences)
- **Decided**: locked-in decisions
- **Out of scope**: explicit exclusions
- **Open questions**: anything unresolved (near zero)
## Domain awareness — run alongside the interview
- **Challenge against the glossary.** When the user uses a term that conflicts with `CONTEXT.md`, call
it out immediately: "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?"
- **Sharpen fuzzy language.** When a term is vague or overloaded, propose a precise canonical term:
"You're saying 'account' — do you mean the Customer or the User? Those are different things." Proposing
a canonical _term_ is fine; proposing a _tech solution_ is not (see Rules).
- **Stress-test with concrete scenarios.** Invent specific scenarios that probe edge cases and force
precision about the boundaries between concepts.
- **Cross-reference with code.** When the user states how something works, check whether the code
agrees. Surface contradictions: "Your code cancels entire Orders, but you just said partial
cancellation is possible — which is right?"
## Capture decisions as you go
- **Resolved terms → `CONTEXT.md`.** When a term is pinned down, update `CONTEXT.md` right there — don't
batch them. Lazy-create the file when the first term is resolved. `CONTEXT.md` is a glossary and
nothing else — no implementation details, no spec, no scratch pad. Format in
[CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md).
- **Load-bearing decisions → a GitHub issue, not an ADR.** When a decision is hard to reverse,
surprising without context, and the result of a real trade-off, **offer to record it as a GitHub
`decision` issue**. We do not write in-repo ADR files — they drift; issues give searchable history
tied to the outcome. Format and the "offer only when…" gate in
[DECISION-ISSUE-FORMAT.md](./DECISION-ISSUE-FORMAT.md).
## Rules
- **Never propose tech solutions** — do not suggest or name specific technologies, libraries, services,
frameworks, patterns, or implementation approaches, even as examples. Ask about requirements and
constraints, not tools. (Proposing a canonical domain _term_ is the one exception — that sharpens
language, it doesn't pick an implementation.)
- **Never assume** — always confirm.
- **If an answer is vague, push harder** — demand specific numbers, concrete examples, exact
definitions. Do not accept "the usual" or "a lot."
- **Surface risks early** — sensitive data, compliance, ambitious scope go in your first batch.
- **Be concrete** — specific scenarios, entities, failure modes. No generic "what are your
requirements?"
- **Challenge scope vs. constraints** — if ambitious relative to timeline/team, ask which features
could be cut or phased.
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.