name: nf description: >- Runs an in-depth feature-discovery interview that explores, challenges, and documents a new feature before planning. Use when asked to 'detail a feature', 'explore a new feature', 'feature discovery', 'interview about feature', 'spec out a feature', 'design a feature', 'think through a feature', 'deep dive on a feature', 'discover [feature-name]', or 'what should we consider for [feature]'. NOT for quick brainstorming (/brainstorm), PRD/JTBD docs (/product), or implementation tasks (/ct). argument-hint: [feature-description] allowed-tools: Read, Write, Edit, Grep, Glob, AskUserQuestion, Task, Skill
New Feature Discovery
Announcement: Begin with: "I'm using the nf skill for feature discovery."
Quick start
/nf add streak freeze → interview (design exploration → deep-dive → grill → validate) →
tasks/task-YYYY-MM-DD-streak-freeze/discovery-streak-freeze.md → next: /vp or /ct.
Objective
Turn a rough feature idea into a clear, standalone discovery document — the entry point for
anyone who later visualizes (/vp), plans (/ct), or implements (/si) the feature.
Guidelines
- Use
AskUserQuestionfor any unresolved clarification — structured options keep the interview auditable. - If behavior is unclear (UX flow, edge cases, error handling, states), ask the user to define it rather than inferring — downstream
/vpand/cttrust this doc as source of truth, so silent assumptions compound. - Ask non-obvious, thought-provoking questions; challenge confident-but-underspecified answers by naming the gap ("You said X — does that cover case Y?").
- Offer alternatives, shortcuts, and "go deeper" paths. Continue until the feature is fully understood.
- Keep the discovery template in mind throughout — gather exactly what's needed to fill it clearly.
Context management. This workflow runs long. On a compaction / context refresh: re-read already-created task files and the discovery template, then resume from the last unanswered section — do not restart. Don't stop early over token-budget worries; the parent harness handles compaction.
Workflow
Argument Validation
If no [feature-description] is provided, AskUserQuestion: "What feature would you like to explore?" (include a free-text option). Derive the feature-name slug from the answer.
Step 0 — Load Output Shape & Upstream Context
Read .claude/docs/templates/discovery-template.md first — it is the output contract (defines what the final doc contains). Don't duplicate its structure here; use the template as the source of truth for final shape.
Then load, if present:
docs/product-docs/PRD/PRD-*[feature-name]*.mdanddocs/product-docs/JTBD/JTBD-*[feature-name]*.md— product-level "what & why"; reference them in the discovery doc.docs/product-docs/UBIQUITOUS_LANGUAGE.md— use its terms verbatim; flag conflicts with user wording immediately. If missing or new terms surface, plan to invoke/ubiquitous-languageat the Step 4 → 5 transition.
Step 1 — Context Gathering & Design Exploration
Invoke the design-exploration skill to ground discovery in the real codebase. Ask it for: key codebase findings & current fit, viable design directions, constraints, and risk flags. Prefer fit / options / constraints / risks over implementation decomposition.
Checkpoint — AskUserQuestion: "Does this direction look right?" → "Continue with this approach" / "Explore a different direction" / "I have corrections".
Step 2 — External Research (if needed)
- Quick lookups: Exa MCP when the user asserts an external factual claim you can't verify from the codebase or prior turns. Skip for internal behavior (design-exploration covers it) or subjective preference.
- In-depth: spawn
comprehensive-researcheronly when the answer materially affects direction, scope, key requirements, or constraints. Ask for a concise decision memo (findings, implications for shape/scope, risks, unresolved unknowns) — not a broad report.
Step 3 — Deep-Dive Questions
Drive the conversation toward the template sections with non-obvious questions. Read references/interview-guide.md now — it holds the full question bank (Overview, Usage Context, Chosen Direction, How It Works, Scope, Requirements, and Post-Action / Cross-Surface behavior).
Stop when every template section has an answer the user confirmed once — don't re-confirm. For sections that need speculation, ask once, accept "skip / TBD", and note as [NEEDS CLARIFICATION: ...]. The draft needn't be perfect before writing — the grill round catches real gaps.
Step 4 — "Grill Me" Challenge Round
Invoke the /grill-me skill to pressure-test design and clarity. Before invoking, summarize: feature name/description, why it exists, chosen direction, how it works, in / out scope, key requirements, known risks.
After grilling: incorporate findings; tighten wording, scope boundaries, hidden assumptions, missing states / edge cases.
Update glossary (before writing): if new terms, synonym conflicts, or sharpened terms surfaced, invoke /ubiquitous-language to update docs/product-docs/UBIQUITOUS_LANGUAGE.md so downstream /vp, /ct, /si inherit the vocabulary.
Checkpoint — AskUserQuestion: "Proceed to discovery document" / "Revisit design based on findings" / "Cut scope based on grill findings".
Completion Check
One pass (not a loop): verify each has a ≥ 1-sentence answer — what is it? why exist? how works? in scope? out of scope? what constraints shape it? If ≤ 2 are weak, flag inline and proceed (grill + cross-AI catch blockers). If > 2 missing, run one more question round, then proceed regardless.
Step 5 — Discovery Document Writing
- Re-read
.claude/docs/templates/discovery-template.md(long interviews drift; re-reading prevents section/heading mismatches that/vpand/ctparsers depend on). - Create
tasks/task-YYYY-MM-DD-[feature-name]/and writediscovery-[feature-name].mdby filling the template with resolved decisions, flows, scope, requirements, and constraints. (Writing the file creates the task directory.) - If any required section can't be filled clearly, continue discovery instead of finalizing.
- Present a summary for confirmation.
Step 6 — Cross-AI Validation
Run cross-AI validation per .claude/docs/templates/cross-ai-protocol.md — it is the single source of truth for the configured validator set, availability fallback, comparison table, and verdict format. Initialize each validator's CLI skill sequentially first (they mutate runtime state), then dispatch all reviews in parallel in a single turn.
- FOCUS: review as senior product analyst — entry-point readability, completeness, consistency, flow clarity, scope boundaries, feasibility, and hidden ambiguities that would confuse
/vpor/ct. - FILE_REFS:
discovery-[feature-name].md+ relevant codebase paths. - OUTPUT: append "Cross-AI Validation: PASSED/FAILED" with consolidated verdict.
On failure → AskUserQuestion: "Revise discovery doc" / "Override and proceed" / "Abandon feature". Skip if no CLI available or the user opts out.
Output
tasks/task-YYYY-MM-DD-[feature-name]/discovery-[feature-name].md
Handoff — Next Steps
Discovery complete for [feature-name]:
- Document: tasks/task-YYYY-MM-DD-[feature-name]/discovery-[feature-name].md
Next steps:
→ Visualize the design: /vp [feature-name]
→ Skip to tech planning: /ct [feature-name]