skills/mvp/SKILL.md
Product design, feature planning, and technical architecture for new projects. Explores the problem space through deep requirements gathering, suggests creative features, makes architecture decisions, and produces a structured MVP plan with scope boundaries, a future roadmap, and a deliverable tracker. Uses plan mode for deliberate thinking before writing any artifacts. Use when the user says "mvp", "plan a product", "design features", "what should I build", "feature planning", "scope an MVP", or describes a product they want to plan.
npx skillsauth add nathan13888/nice-skills mvpInstall 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.
Deep requirements gathering, feature ideation, scope management, technical architecture, and living documentation for new products. Produces 5 planning artifacts: OVERVIEW, FEATURES, MVP_SCOPE, ROADMAP, and DELIVERABLES.
Follow all steps sequentially across 3 phases. Do NOT write any files until the plan is approved in Step 6.
EnterPlanMode immediately -- no files are written until the plan is approved in Step 6./mvp (bare) -- start the full workflow from Step 1/mvp a fitness tracker -- seed description provided, use it as the answer to Step 1's seed question and skip that question/mvp --resume -- Glob for existing docs in ./docs/mvp/, ./plans/, ./mvp/. If found, read them and resume from the appropriate step based on what's already documented. If not found, start fresh from Step 1.Deep requirements gathering via AskUserQuestion with concrete options. Ask ALL of these questions, adapting options based on prior answers:
Seed question (skip if a description was provided in the invocation):
What are you building? Describe the problem or product in a few sentences.
Target users (select one):
Problem severity (select one):
Existing solutions (multiSelect):
Scale expectations (select one):
After gathering all answers, produce a Problem Brief and confirm it with the user via AskUserQuestion:
## Problem Brief
**Product:** {one-line description}
**Target users:** {audience}
**Core problem:** {the pain being solved}
**Current alternatives:** {what exists today}
**Scale:** {expected scale}
**Key insight:** {what makes this solution different/better}
Ask: "Does this Problem Brief capture your vision correctly? (Yes / Adjust -- tell me what to change)"
Targeted questions based on Step 1 answers. Use AskUserQuestion for each:
Core workflows -- Ask:
What is the SINGLE most important thing a user does?
Then ask clarifying sub-questions based on the answer:
Repeat for up to 2 more workflows: "What's the SECOND most important workflow?" and "Any third critical workflow?"
Technical constraints (multiSelect):
Which of these apply to your product?
Options: Auth required / Real-time updates / Offline support / Mobile-first / API integrations / Data persistence / Multi-tenancy / Privacy compliance (GDPR etc.) / None of these
Anti-goals (multiSelect):
What should we explicitly EXCLUDE from the MVP? These are common features that add scope without proving the core idea.
Options: Admin dashboard / Analytics / Payments / Notifications / Mobile app / User customization / Social features / Search / Internationalization
Architecture questions tailored to the product type. Use AskUserQuestion for each:
Application type (select one):
Framework (options based on app type):
For Web app: Next.js / SvelteKit / Remix / Plain React + Vite / Astro / Other For CLI tool: Node.js (Commander) / Python (Click/Typer) / Rust (Clap) / Go (Cobra) / Other For API service: Express / Fastify / FastAPI / Actix / Go net/http / Other For Mobile app: React Native / Flutter / Swift / Kotlin / Other For Desktop app: Electron / Tauri / Other For Library/SDK: TypeScript / Python / Rust / Go / Other
Mark the best fit as "(Recommended)" based on requirements gathered in Steps 1-2. Explain why in one sentence.
Database (select one):
Deployment (select one):
Architecture pattern (select one):
After gathering, add a Tech Stack section and confirm with the user:
## Tech Stack
**Type:** {app type}
**Framework:** {framework}
**Database:** {database}
**Deployment:** {platform}
**Architecture:** {pattern}
**Key rationale:** {why these choices fit the requirements}
Ask: "Does this tech stack look right? (Yes / Adjust -- tell me what to change)"
Deploy 2 Task agents in parallel (both with Plan subagent_type) with the full context from Steps 1-3.
Construct the prompts from the templates in AGENT_PROMPTS.md (located in this skill's directory). Read that file to get the prompt templates.
Agent 1: Product Architect
Agent 2: Domain Explorer
After both agents return, synthesize their outputs into a unified, deduplicated feature list. Merge overlapping suggestions, preserve the best description, and track the source of each feature.
Present the unified feature table to the user:
## Proposed Features
| # | Feature | Description | Complexity | Source | Suggested Tier |
| --- | ---------- | -------------------- | ---------- | ----------------- | -------------- |
| 1 | User auth | Email/password login | M | User | MVP |
| 2 | Dashboard | Main overview screen | M | Product Architect | MVP |
| 3 | CSV export | Download data | S | Domain Explorer | Future |
Source column values:
User -- explicitly requested by the userInferred -- derived from requirements (e.g., auth implied by multi-user)Suggested -- proposed by an agentThen use AskUserQuestion twice:
(multiSelect): "Which features MUST be in your MVP? (select all that apply)"
"Any features to ADD that are missing, or REMOVE entirely? (Add / Remove / Looks good)"
Organize features into two sections:
MVP Scope -- ordered by implementation sequence respecting dependencies:
### MVP Scope (v1)
| Order | Feature | Depends On | Complexity | Notes |
| ----- | ----------- | ----------- | ---------- | ------------------------- |
| 1 | Data models | -- | S | Foundation |
| 2 | User auth | Data models | M | Required by most features |
Future Roadmap -- grouped into release waves:
### Future Roadmap
#### v1.1 -- Quick Wins
| Feature | Complexity | Why deferred |
#### v1.2 -- Enhanced Experience
| Feature | Complexity | Why deferred |
#### Backlog -- Investigate Later
| Feature | Complexity | Why deferred |
Present both sections to the user, then use AskUserQuestion as a hard approval gate:
Ready to finalize this plan? Pick an option:
- Approve -- proceed to documentation (Recommended)
- Adjust scope -- move features between MVP and future
- Adjust order -- resequence the implementation plan
- Deep-dive -- expand a specific feature before approving
Handle each option:
ExitPlanMode to unlock file writes, proceed to Step 7.Loop until the user approves.
On approval, call ExitPlanMode to unlock file writes.
First, ask where to save using AskUserQuestion:
Where should I save the MVP planning documents?
./docs/mvp/(Recommended)./plans/./mvp/- Custom path
Create the chosen directory if it doesn't exist.
Produce 5 artifacts:
OVERVIEW.md -- Product Vision & Tech Stack# {Product Name}
## Vision
{2-3 sentence product vision}
## Problem Brief
**Product:** {one-line description}
**Target users:** {audience}
**Core problem:** {the pain being solved}
**Current alternatives:** {what exists today}
**Scale:** {expected scale}
**Key insight:** {what makes this solution different/better}
## Tech Stack
**Type:** {app type}
**Framework:** {framework}
**Database:** {database}
**Deployment:** {platform}
**Architecture:** {pattern}
**Key rationale:** {why these choices fit}
## Product Principles
1. {principle 1}
2. {principle 2}
3. {principle 3}
## Competitive Landscape
| Alternative | Strengths | Weaknesses | Our Differentiator |
| ----------- | --------- | ---------- | ------------------ |
FEATURES.md -- Complete Feature CatalogEvery feature (MVP + future) with user stories, acceptance criteria, complexity, dependencies, and tier.
# Feature Catalog
## MVP Features
### {Feature Name}
- **Tier:** MVP
- **Complexity:** {S/M/L}
- **Dependencies:** {list or none}
- **Source:** {User/Inferred/Suggested}
**User Story:** As a {user type}, I want to {action} so that {benefit}.
**Acceptance Criteria:**
- [ ] {criterion 1}
- [ ] {criterion 2}
- [ ] {criterion 3}
---
## Future Features
### {Feature Name}
...
MVP_SCOPE.md -- Ordered Implementation Plan# MVP Implementation Plan
## Implementation Sequence
| Order | Feature | Depends On | Complexity | Notes |
| ----- | ------- | ---------- | ---------- | ----- |
| 1 | ... | -- | S | ... |
## Architecture Decisions
- {Decision 1 and rationale}
- {Decision 2 and rationale}
## Explicitly Out of Scope
These items are intentionally excluded from the MVP:
- {item 1} -- {reason}
- {item 2} -- {reason}
## Mini-Specs
### {Feature 1}
{Brief technical approach -- 3-5 bullets on how to implement}
### {Feature 2}
...
ROADMAP.md -- Future Release Waves# Product Roadmap
## v1.1 -- Quick Wins
| Feature | Complexity | Why Deferred | Trigger to Reconsider |
| ------- | ---------- | ------------ | --------------------- |
## v1.2 -- Enhanced Experience
| Feature | Complexity | Why Deferred | Trigger to Reconsider |
| ------- | ---------- | ------------ | --------------------- |
## Backlog -- Investigate Later
| Feature | Complexity | Why Deferred | Trigger to Reconsider |
| ------- | ---------- | ------------ | --------------------- |
## Open Questions
- {question 1}
- {question 2}
DELIVERABLES.md -- Living Progress TrackerNested markdown checklists with complexity tags inline:
# Deliverables Tracker
## MVP (v1)
- [ ] **Data models** (S) -- Define core schemas
- [ ] User model
- [ ] {Domain model 1}
- [ ] {Domain model 2}
- [ ] **User auth** (M) -- Email/password authentication
- [ ] Registration flow
- [ ] Login flow
- [ ] Session management
## Future
- [ ] **v1.1: {Feature}** (S)
- [ ] **v1.1: {Feature}** (M)
- [ ] **v1.2: {Feature}** (L)
- [ ] **Backlog: {Feature}** (L)
Print a summary of what was created:
## MVP Plan: {product name}
**Product:** {one-line description}
**Tech stack:** {framework} + {database} on {deployment}
**MVP features:** {count} features ({S count} small, {M count} medium, {L count} large)
**Future features:** {count} features across {wave count} release waves
**Documentation:** {path}
### Files Created
| File | Purpose |
| ---------------------- | ------------------------------------ |
| {path}/OVERVIEW.md | Product vision and tech stack |
| {path}/FEATURES.md | Complete feature catalog with specs |
| {path}/MVP_SCOPE.md | MVP implementation plan and sequence |
| {path}/ROADMAP.md | Future release roadmap |
| {path}/DELIVERABLES.md | Implementation checklist tracker |
---
## What's Next?
1. **Deep-dive** into a specific feature -- I'll expand the spec
2. **Run /init-repo** -- scaffold the project infrastructure
3. **Start building** -- pick the first MVP feature and begin
4. **Refine scope** -- revisit prioritization or add features
5. **Export** -- create GitHub Issues, Linear tasks, etc. from the plan
EnterPlanMode at the very start -- no file writes until scope is approved in Step 6ExitPlanMode only after the user explicitly approves the planAskUserQuestion with concrete options everywhere, not open-ended promptsSuggested in the Source column/init-repo as the natural next step for scaffolding the project infrastructuredata-ai
Ingest arbitrary feedback (GitHub/GitLab URL, pasted review, image, file path, free text) about the current repo, decompose it into a prioritized action plan with per-item owners (human / main-agent / subagent), confirm with the user, then dispatch execution. Use when user says "/tackle", "address this feedback", "act on this review", "work through this feedback", or "what should I do about this".
development
Capture a problem or change request, verify it lightly against the codebase, draft a structured issue report, then route to one of: upload to GitHub/GitLab, document in code, hand off for implementation, or a free-text next step. Use when user says "/issue", "report a problem", "file a bug", "raise an issue", "track this", or "open a ticket".
testing
Create a new git branch off trunk using the project's existing naming convention. Detects trunk (main/master/etc.) and the dominant prefix pattern (feat/, <username>/, etc.) from existing branches, slugifies the feature description, and runs git checkout -b. Use when user says "feature branch", "new branch", "create branch", "git branch", or "/feature-branch".
development
Quick situational awareness for the current git branch. Summarizes what a feature branch is about by analyzing commits and changes against trunk. On trunk, highlights recent interesting activity. Use when user says "wtf", "what's going on", "what is this branch", "what changed", or "catch me up".