mvp-spec
The spec you write before touching any code. Turns a rough idea into a buildable v1 with a clean feature cut, data model, and stack recommendation.
Phase 1: Capture the Idea
Ask for anything missing:
- The idea — What does it do? One sentence.
- Who is it for? — Target user. "Developers" is too vague. "Solo SaaS founders building with Next.js" is specific.
- Monetization — Free, freemium, paid, credits? Skip for now if unclear.
- Tech preferences — Any stack constraints? Or let the skill recommend.
If the user gives you a paragraph, extract these from it and confirm before continuing. Don't ask for what you already have.
Phase 2: The One-Build Rule
Before writing anything, validate the scope:
- Is this ONE product, or three ideas stapled together?
- Can v1 be built and shipped in 1–2 weeks by one person?
- Is there one clear action the user takes to get value?
If the idea is too broad, cut it. This spec covers v1 only — not the vision, not the roadmap.
The narrowing question: "If you could only ship ONE feature this week and it had to deliver real value — what would it be?" That's the core loop. Build the spec around that.
Phase 3: Feature Split
List every feature that came up. Then sort ruthlessly.
LAUNCH (ships in v1)
Only features that complete the core loop:
- User can sign up
- User can do the one thing
- User gets value from doing it
- You can see that they got value
LATER (month 2+)
Everything else. Default everything here unless it's provably required for launch:
- Settings, preferences, notifications
- Team features, collaboration, multi-user
- Admin dashboard
- Analytics dashboards
- Mobile optimization
- Integrations, webhooks, API access
The test: "If I remove this, can a user still get value from v1?" Yes → LATER.
Phase 4: Data Model
Design only for LAUNCH features. Don't model LATER features — the schema will change anyway.
users
├── id (uuid)
├── email
├── [plan | credits — if monetized in v1]
├── created_at
└── updated_at
[core resource]
├── id (uuid)
├── user_id → users.id
├── [core fields]
├── created_at
└── updated_at
Relationships:
- users has many [resources]
- [resource] belongs to user
One table per entity. No join tables unless collaboration is in v1 (it almost never is).
Phase 5: API Routes
Only routes LAUNCH features actually need.
Auth
POST /api/auth/signup
POST /api/auth/login
GET /api/auth/me
[Resource]
GET /api/[resource] — list (current user only)
POST /api/[resource] — create
GET /api/[resource]/:id — get one
DELETE /api/[resource]/:id — delete
No PUT/PATCH unless editing is core to the loop in v1.
Phase 6: Pages
Every screen the user sees in v1.
/ — Landing page
/login — Auth
/signup — Auth
/dashboard — Main view after login
/[resource]/:id — Detail view (if needed)
/settings — Only if required for launch
Phase 7: Tech Stack
Match the recommendation to the user's stated constraints.
| Priority | Stack |
|---|---|
| Ship fastest, solo | Next.js + Supabase + Vercel |
| Full backend control | Next.js + Postgres + Prisma + Railway |
| AI-heavy | Next.js + Vercel AI SDK + Supabase |
| Python backend | FastAPI + Postgres + Supabase Auth |
Always explain why — one sentence per choice. "Supabase: auth + postgres in one service, no separate backend needed for v1."
Phase 8: Scope Cut List
The most important section. Explicitly list what v1 does NOT build.
v1 does NOT include:
- Team workspaces or multi-user support
- Email notifications
- API access for external integrations
- Mobile app
- Custom domains
- [anything that came up but got cut]
This prevents scope creep during the build. Reference it every time someone says "just one more thing."
Verify
[ ] Problem statement is one sentence
[ ] 2-3 user personas with specific pain — not demographic labels
[ ] Core loop identified — one action, one value delivered
[ ] Feature list split into LAUNCH and LATER
[ ] LAUNCH features cover exactly one core loop, nothing else
[ ] Data model covers LAUNCH features only — no speculative tables
[ ] API routes listed with HTTP methods
[ ] All pages listed — no screens without a route
[ ] Tech stack recommended with one-sentence reasoning per choice
[ ] Scope cut list explicitly names what v1 does NOT build
[ ] Entire spec is buildable in 1-2 weeks by one person
See references/guide.md for full example specs, the one-build rule applied to real product ideas, and data model patterns by product type.
More from tushaarmehtaa/tushar-skills
segment-users
Read your database schema, generate behavioral user segments with exact queries, and recommend targeted actions per segment. Use when the user wants to understand their user base, find power users, identify churn risk, build email cohorts, or understand usage patterns. Triggers on requests like "segment users", "who are my power users", "find churned users", "user cohorts", "churn analysis", "inactive users", "behavioral segmentation", "who's about to leave", or any mention of grouping users by activity, usage, or lifecycle.
6model-audit
Print the complete AI model routing table for your product. Every AI call, what model it actually uses, and the cost per call. Run whenever you touch models or pricing.
5teardown
Pick apart an existing product, landing page, or app and analyze what's working, what's not, and what to steal for your own project. Use when the user wants to analyze a competitor, study a product, understand why something converts, review a landing page, or learn from an existing app. Triggers on requests like "teardown", "analyze this product", "review this landing page", "what makes this work", "study this app", "competitor analysis", "what can I steal from this", "break down this site", "why does this convert", or any request to critically analyze an existing product or page.
1