From cc-startup
Nine-phase procedure for creating any product, tool, service or project from scratch through interrogation. The agent never decides what enters the MVP — it asks, proposes, measures, documents; the user decides. Applies to any language, platform or domain. Invoke when the user asks to create a new project/product/tool, or when about to write the first file of an empty repository. Do NOT invoke for modifications to existing projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cc-startup:mvp-9-phasesThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Building a product without a disciplined process produces one of three outcomes:
Building a product without a disciplined process produces one of three outcomes: unbounded scope creep, a duplicate of something that already exists, or an MVP that doesn't actually work end-to-end. This skill defines a deterministic, nine-phase flow to avoid all three.
The agent informs; the user decides. Whenever there are N reasonable options, the agent presents ALL of them — ranked by estimated impact, with effort and trade-offs — and the user picks. The agent never silently drops an option for being "low impact".
Every product output must be deterministic and measurable. Findings the product reports must be:
Opinions, "best practices", and subjective suggestions are NOT findings. They go as separate, clearly labeled suggestions.
An undocumented phase is an incomplete phase. Each phase leaves a trace in
DEFINICION.md (at the project root) or in MEJORAS.md. Conversation does not
count as proof of execution.
E2E in one day. If the minimum scope doesn't fit in one working day, reduce it until it does. A small finished product beats an ambitious half-finished one.
Each phase has gates where the user must approve, choose, or classify. Two interaction modes are used, deliberately:
AskUserQuestion tool — for structured decisions where the answer fits
one of a small set of predefined options. Up to 4 questions can be batched
into a single invocation. Each option may include a preview for visual
side-by-side comparison (e.g., proposed file trees, architecture sketches).| Phase / gate | Mode |
|---|---|
| Phase 1 — name, problem | Plain chat |
| Phase 1 — user, expected output, demo path | AskUserQuestion batched (3 questions, single-select) |
| Phase 1 — scope per-candidate | AskUserQuestion 1 question × 2 opts (INCLUDE / EXCLUDE→MEJORAS) |
| Phase 1 — propose 2-4 architecture sketches | AskUserQuestion with preview |
| Phase 2 — differentiator narrative | Plain chat |
| Phase 2 — pivot/integrate/differentiate decision | AskUserQuestion (3 options) |
| Phase 3 — scope questionnaire (5 questions) | AskUserQuestion batched (4 + 1) |
| Phase 5 — per-gap strategy approval | AskUserQuestion 1 question × 3 opts (RESOLVE/NARROW/DEFER) |
| Phase 6 — coherence doubts | Plain chat (one at a time) |
| Phase 7 — test scope (datasets, count, method) | AskUserQuestion batched (multiSelect for datasets, single-select for method) |
| Phase 7 — per-finding true/false positive | AskUserQuestion 1 question × 2 opts |
| Phase 7 — gap severity classification | AskUserQuestion 1 question × 2 opts (CRITICAL/IMPROVEMENT) |
| Phase 8 — per-fix approval | AskUserQuestion 1 question × 3 opts (APPROVE/MODIFY/REJECT) |
| Phase 8 — efficiency optimization plan | AskUserQuestion per optimization (multiSelect) |
| Phase 9 — UX finding classification | AskUserQuestion 1 question × 3 opts (BLOCKER/FRICTION/DESIRE) |
| Phase 9 — per-finding disposition | AskUserQuestion 1 question × 3 opts (resolve now / defer to MEJORAS / discard) |
Why this matters: structured decisions with AskUserQuestion give the user
a clean UI (radio buttons, checkboxes, side-by-side previews) and make the
audit trail unambiguous. Free-form prompts in plain chat are reserved for
content that can't be reduced to a small option set.
Batching rule:
AskUserQuestion invocation.Before writing any code, answer with the user. Items 1-2 are plain chat (free-
form). Items 3, 6, 7 are batched in a single AskUserQuestion invocation
(three single-select questions). Item 4 is per-candidate AskUserQuestion.
Item 5 is AskUserQuestion with preview.
AskUserQuestion, batched with 6 and 7).AskUserQuestion 1
question × 2 options (INCLUDE / EXCLUDE→MEJORAS). Never batch scope
candidates into one question — each decision is atomic. Items not
confirmed go to Phase 4 (improvements).AskUserQuestion with
preview (rendered file trees / module diagrams) so the user can compare
side-by-side and pick one.AskUserQuestion, batched with 3 and 7).AskUserQuestion, batched with 3 and 6).If the MVP spans multiple domains/targets, prioritize the one with the greatest measurable impact: where does the problem cause the most quantifiable damage? That one goes first. The rest are later improvements. For single-domain MVPs, this rule does not apply — skip it.
→ Document in DEFINICION.md § Phase 1.
Search official and public sources (repositories, package registries, forums, papers) for projects that solve the SAME problem. Document:
If no clear differentiator emerges, use AskUserQuestion with three options:
Differentiate (commit to a unique angle), Integrate (build on top of an
existing project), Change problem (drop and pick a different one).
The project does not advance without a confirmed differentiator.
→ Document in DEFINICION.md § Phase 2.
Conceptual questions that bound the scope, after the E2E is defined. Any answer that introduces new scope goes to Phase 4 (improvements), NOT to the MVP.
Minimum:
The agent may add questions specific to the project's domain.
→ Document in DEFINICION.md § Phase 3.
Ideas surfaced during Phases 1-3 that are NOT part of the minimum E2E.
They go to MEJORAS.md with estimated priority for implementation AFTER the
MVP ships.
Rule: never fold an improvement back into the MVP. If one feels essential, the E2E was defined wrong — return to Phase 1.
Identify ALL known limitations of the MVP. For each gap:
MEJORAS.md with justificationOne-by-one approval: each gap is presented to the user individually via
AskUserQuestion with three options — RESOLVE, NARROW, DEFER —
each option's description showing the proposed action for that gap. The
question header is the gap number/name; the question body states the
limitation and impact.
Never batch gap approvals into a single question — the user must decide each one in isolation. The MVP does not advance with any gap that lacks an approved strategy.
→ Document in DEFINICION.md § Phase 5.
Before writing code, the agent performs an autonomous review:
DEFINICION.md in full (Phases 1-5)MEJORAS.md — verify nothing from the MVP leaked there by mistakeThis phase is autonomous: the agent decides if it has doubts. The user has already authorized the start by approving Phases 1-5.
→ Document in DEFINICION.md § Phase 6 (inline).
After the MVP is functional, before publishing. Ask the user at every step.
Define test scope with AskUserQuestion batched (up to 4 questions per
invocation):
multiSelect: true, options proposed from
the user's systemsExecute and audit one test at a time — for the current test, run steps 1-4 in order, then complete classification before moving to the next test:
AskUserQuestion (1 question × 2 options:
true positive / false positive)AskUserQuestion (CRITICAL / IMPROVEMENT).
Do NOT interleave classification with review — finish the review pass
first, then classify in a separate pass.AskUserQuestion
(next test / re-run this test / stop here).CRITICAL gaps must be resolved before publishing. IMPROVEMENT gaps go to
MEJORAS.md unless trivial (<15 min).
→ Document in DEFINICION.md § Phase 7.
Cycle until convergence. Ask the user before EVERY action.
Focus A — Fix gaps from Phase 7:
For each gap already classified CRITICAL in Phase 7 (classification
happens in Phase 7, not here): design fix → present proposal via
AskUserQuestion (APPROVE / MODIFY / REJECT) → implement → re-validate
against the same test that found it → check non-regression.
Focus B — Efficiency (three criteria):
| Criterion | What to optimize | How to measure |
|---|---|---|
| Time | Slow algorithms, useless loops, blocking I/O | wall-clock |
| Space | Excess allocations, duplicated buffers, copies | peak RSS |
| I/O | Redundant reads, useless scans | syscalls |
Every optimization measures before and after with concrete data: "before → after". Prioritize what the user perceives (the product's response time). Micro-optimizations on cold paths are wasted effort.
Cycle ends when: zero CRITICAL gaps, zero false positives, performance approved by the user, final state approved by the user.
→ Document each iteration in DEFINICION.md § Phase 8 with before/after
metrics.
The USER tries the product. The agent facilitates; it does not decide what is acceptable.
Setup: ask the user which scenario/data to use for the trial.
Guided evaluation (ask per aspect, adapted to product type):
A CLI has different aspects from an API, a web service, or a library — adapt.
Classify each finding via AskUserQuestion (1 question × 3 options):
After classification, present ALL findings and gate disposition via
AskUserQuestion per finding (resolve now / defer to MEJORAS.md / discard).
→ Document in DEFINICION.md § Phase 9.
main.rs, mod.rs, lib.rs, index.ts)
and industry conventions (Cargo.toml, package.json, Dockerfile,
README.md, LICENSE, CHANGELOG.md)The tree is defined in DEFINICION.md § Phase 1 (Minimum architecture) and
validated against these rules BEFORE creating files.
AskUserQuestion is the right modeEsta skill es la generalización de un procedimiento personal del autor para crear proyectos desde cero mediante interrogación. La regla de oro: el agente nunca decide qué entra al MVP — informa, propone, mide, documenta; el usuario decide. La idea es evitar tres patrones comunes de fracaso: scope sin límite, duplicar algo que ya existe, y un MVP que no funciona end-to-end.
Términos clave: DEFINICION.md (definition document, project root),
MEJORAS.md (improvements backlog), RESOLVE/NARROW/DEFER (gap mitigation
strategies), BLOCKER/FRICTION/DESIRE (UX finding classification).
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub onceupontry/cc-startup-skill --plugin cc-startup