Not-a-Vibe-Coder
A skill that turns any project idea — no matter how vague — into 8 living planning
documents that act as the project's persistent memory across a long context window.
The documents are the source of truth for "what we agreed on"; the user's live
instructions are always the final authority and can override the docs at any time.
Core Principles (never violate these)
- User command > files > AI assumptions. If the user says something that
contradicts a file, the user wins — and the relevant file(s) should then be
updated to reflect the new instruction.
- No silent additions. Never add features, tech choices, pages, tables, or
rules the user did not ask for or approve. If something seems missing, ask —
don't assume. Exception: when the user explicitly says "fill it in",
"brainstorm the rest", "you decide", etc. — see Phase 3.
- Design.md is special. NEVER fill Design.md with your own taste. Always ask
the user for style direction (e.g. minimal, playful, corporate, dark mode,
neumorphic, etc.) and a color palette (or offer 2-3 palette options to pick
from) before writing anything into it.
- One file at a time, in order, during initial planning — don't dump all 8
files at once unless the user explicitly asks for that.
- Tracker.md is append-only progress tracking — update it whenever work is
completed, never rewrite history, just check items off and add new ones as
they emerge.
- Mid-project changes ripple. If the user requests a change mid-build that
affects earlier decisions (e.g. "actually let's use Postgres instead of
Firebase", "add a booking feature"), update ALL affected files yourself,
without being asked file-by-file. Then summarize what changed.
- Read before you write. At the start of any session, if these files
already exist in the project, read all 8 before doing anything else — they
are your memory.
The 8 Files
| File |
Purpose |
| PRD.md |
What the app does, features, goals, user requirements |
| TechSpec.md |
Architecture, tech stack, APIs, database choices |
| AppFlow.md |
User flows and navigation |
| Design.md |
UI/UX guidelines, layout, style, color palette |
| Schema.md |
Database tables, relationships, data models |
| ImplementationPlan.md |
Step-by-step development roadmap |
| Tracker.md |
Completed work, pending tasks, progress |
| Rules.md |
Coding standards, constraints, project rules |
Workflow
Phase 0 — Detect intent
- ONLY for brand new projects. If project has existing code files, ABORT and do not use this skill.
- If the user gives a one-liner idea ("build me a restaurant ordering app") for a new project,
this is the trigger to start Phase 1.
- If the user gives a fully detailed spec already, you can still create the
files but populate them directly from what they said — skip redundant
questions.
Phase 1 — PRD.md first
This is the foundation. Everything else depends on it.
- Take whatever the user gave you (even just "restaurant app") and ask a small
number of clarifying questions to flesh out the PRD — target audience, core
features, platforms (web/mobile/both), must-haves vs nice-to-haves, monetization
if any, etc. Use
ask_user_input_v0 for quick multiple-choice clarifications
where natural.
- The user can also choose to skip Q&A and just write directly into PRD.md
themselves — if they say "I'll fill it in", create a skeleton PRD.md with
section headers and placeholders, and wait for them.
- Do not invent features. If the user's answer is vague, ask again or offer
options — don't fill gaps with assumptions.
- Once the PRD feels solid, write PRD.md, show it to the user, and get
confirmation before moving to the next file.
Phase 2 — Remaining files, one by one (except Design.md)
In this order: TechSpec.md → AppFlow.md → Schema.md → ImplementationPlan.md →
Rules.md → Tracker.md → Design.md (last, see Phase 2.5).
For each file:
- Propose a draft based on the PRD and any prior files, OR ask the user
questions if there's a real decision to make (e.g. "Should this use
PostgreSQL or a simpler option like SQLite/Firebase?").
- Show the draft, ask for confirmation or edits.
- Only move to the next file after the user is satisfied with the current one.
If the user says "just fill out the rest yourself, no assumptions, brainstorm
properly" — this means: make reasonable, justifiable choices consistent with
the PRD and any constraints already stated (not random/lazy defaults), but
still present everything to the user afterward for review before building
starts. "No assumptions" here means "don't contradict or extend the PRD's
intent" — not "ask about every detail."
Phase 2.5 — Design.md (always interactive)
Never write Design.md without asking the user:
- Overall style direction (e.g. minimal / modern / playful / corporate / retro /
brutalist / glassmorphism / dark-first) — offer
ask_user_input_v0 choices
if
1---2name: not-a-vibe-coder3description: Turns vague prompts into 8 structured planning files for brand new projects. DO NOT use on existing codebases.4---567# Not-a-Vibe-Coder89A skill that turns any project idea — no matter how vague — into 8 living planning10documents that act as the project's persistent memory across a long context window.11The documents are the source of truth for "what we agreed on"; the user's live12instructions are always the final authority and can override the docs at any time.1314## Core Principles (never violate these)15161. **User command > files > AI assumptions.** If the user says something that17 contradicts a file, the user wins — and the relevant file(s) should then be18 updated to reflect the new instruction.192. **No silent additions.** Never add features, tech choices, pages, tables, or20 rules the user did not ask for or approve. If something seems missing, ask —21 don't assume. Exception: when the user explicitly says "fill it in",22 "brainstorm the rest", "you decide", etc. — see Phase 3.233. **Design.md is special.** NEVER fill Design.md with your own taste. Always ask24 the user for style direction (e.g. minimal, playful, corporate, dark mode,25 neumorphic, etc.) and a color palette (or offer 2-3 palette options to pick26 from) before writing anything into it.274. **One file at a time, in order**, during initial planning — don't dump all 828 files at once unless the user explicitly asks for that.295. **Tracker.md is append-only progress tracking** — update it whenever work is30 completed, never rewrite history, just check items off and add new ones as31 they emerge.326. **Mid-project changes ripple.** If the user requests a change mid-build that33 affects earlier decisions (e.g. "actually let's use Postgres instead of34 Firebase", "add a booking feature"), update ALL affected files yourself,35 without being asked file-by-file. Then summarize what changed.367. **Read before you write.** At the start of any session, if these files37 already exist in the project, read all 8 before doing anything else — they38 are your memory.3940## The 8 Files4142| File | Purpose |43|---|---|44| PRD.md | What the app does, features, goals, user requirements |45| TechSpec.md | Architecture, tech stack, APIs, database choices |46| AppFlow.md | User flows and navigation |47| Design.md | UI/UX guidelines, layout, style, color palette |48| Schema.md | Database tables, relationships, data models |49| ImplementationPlan.md | Step-by-step development roadmap |50| Tracker.md | Completed work, pending tasks, progress |51| Rules.md | Coding standards, constraints, project rules |5253## Workflow5455### Phase 0 — Detect intent5657- ONLY for brand new projects. If project has existing code files, ABORT and do not use this skill.58- If the user gives a one-liner idea ("build me a restaurant ordering app") for a new project,59 this is the trigger to start Phase 1.60- If the user gives a fully detailed spec already, you can still create the61 files but populate them directly from what they said — skip redundant62 questions.6364### Phase 1 — PRD.md first6566This is the foundation. Everything else depends on it.6768- Take whatever the user gave you (even just "restaurant app") and ask a small69 number of clarifying questions to flesh out the PRD — target audience, core70 features, platforms (web/mobile/both), must-haves vs nice-to-haves, monetization71 if any, etc. Use `ask_user_input_v0` for quick multiple-choice clarifications72 where natural.73- The user can also choose to skip Q&A and just write directly into PRD.md74 themselves — if they say "I'll fill it in", create a skeleton PRD.md with75 section headers and placeholders, and wait for them.76- Do not invent features. If the user's answer is vague, ask again or offer77 options — don't fill gaps with assumptions.78- Once the PRD feels solid, write PRD.md, show it to the user, and get79 confirmation before moving to the next file.8081### Phase 2 — Remaining files, one by one (except Design.md)8283In this order: TechSpec.md → AppFlow.md → Schema.md → ImplementationPlan.md →84Rules.md → Tracker.md → Design.md (last, see Phase 2.5).8586For each file:87- Propose a draft based on the PRD and any prior files, OR ask the user88 questions if there's a real decision to make (e.g. "Should this use89 PostgreSQL or a simpler option like SQLite/Firebase?").90- Show the draft, ask for confirmation or edits.91- Only move to the next file after the user is satisfied with the current one.9293If the user says "just fill out the rest yourself, no assumptions, brainstorm94properly" — this means: make reasonable, justifiable choices consistent with95the PRD and any constraints already stated (not random/lazy defaults), but96still present everything to the user afterward for review before building97starts. "No assumptions" here means "don't contradict or extend the PRD's98intent" — not "ask about every detail."99100### Phase 2.5 — Design.md (always interactive)101102Never write Design.md without asking the user:103- Overall style direction (e.g. minimal / modern / playful / corporate / retro /104 brutalist / glassmorphism / dark-first) — offer `ask_user_input_v0` choices105 if