Automated summary
Runs a thorough feature-discovery interview that explores, challenges, and documents a new feature idea before planning, producing a standalone discovery document.
Strengths
- Breaks the interview into explicit steps (design exploration, external research, deep questioning, validation) with checkpoints through AskUserQuestion
- Grounds discovery in the actual codebase by invoking the design-exploration skill and reading existing PRD/JTBD documents
- Enforces the UBIQUITOUS_LANGUAGE glossary terms and flags wording conflicts immediately
- Handles context compaction by re-reading created task files and resuming at the last unanswered section
Limitations
- Tightly coupled to the Claude Code ecosystem (AskUserQuestion, /vp, /ct, /si, /ubiquitous-language skills, template under .claude/docs), so it is not portable as-is
- Long multi-turn session whose output quality depends heavily on how precisely the user answers
- Assumes discovery-template.md exists and defines the output contract; without it the workflow has no target shape
Use it when a feature idea is still vague and needs deep clarification before planning or implementation begins.
Avoid it for quick brainstorming, PRD/JTBD authoring, or direct implementation work, which are covered by separate skills.
Security analysis
SafeThe skill only uses read/write/edit/grep/glob, AskUserQuestion, Task, and Skill tools for interviewing, documenting, and orchestrating other safe skills. It does not execute shell commands, network requests, destructive operations, or handle secrets. No obfuscation or exfiltration risk.
No concerns found
How this analysis is madeExamples
/nf add streak freeze to the habit trackerI want to spec out an offline mode for the mobile app — help me think through everything we should consider.Do a deep dive on our team-invite feature: walk me through the UX flows, states, and error handling before we plan it.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]
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/feature-discovery-interview-mrzxuom8' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/feature-discovery-interview-mrzxuom8/download' --output '.skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md.part' && mv '.skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md.part' '.skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read, Write, Edit, Grep, Glob, AskUserQuestion, Task, Skill
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md' && test -s '.skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/nf' && cp -R '.skill-downloads/feature-discovery-interview-mrzxuom8' '.claude/skills/nf'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/feature-discovery-interview-mrzxuom8'openskills read 'feature-discovery-interview-mrzxuom8'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/feature-discovery-interview-mrzxuom8/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.