Build MVP
Purpose
Deliver the smallest coherent release that lets a defined early audience
complete a valuable outcome and lets the team learn from actual use. Minimize
scope, not viability, safety, or result integrity.
Use applicable project, language, architecture, API, persistence, security,
testing, documentation, and delivery skills for implementation details. Let
this skill govern release scope, the quality floor, and the feedback loop.
Establish the Product Contract
Before implementation:
- Inspect the current repository, newest decisions and documentation, existing
behavior, effective configuration, and any PoC or prototype evidence.
- Identify:
- the defined early audience;
- the problem and primary user outcome;
- the single end-to-end journey that delivers that outcome;
- the business or learning hypothesis;
- the observable signal that will inform the next decision.
- Verify that critical feasibility assumptions are sufficiently resolved.
Apply
validate-poc first when a high-impact unknown could invalidate the
architecture, integration, economics, or user flow.
- State material assumptions and constraints. Do not hide unresolved
showstoppers in a later backlog.
If no real or representative user can complete a meaningful outcome, classify
the work as a prototype or PoC instead of calling it an MVP.
Draw the Minimum Viable Boundary
Define the release before building it:
- Write acceptance criteria for the primary journey.
- Separate must have now, explicitly out of scope, and candidate
next items.
- Include a feature only when it is required to complete the journey, protect
users or data, operate the release, or measure the hypothesis.
- Prefer one thin vertical slice across the necessary UI, API, domain,
persistence, and integration boundaries over several disconnected partial
features.
- Defer speculative abstractions, secondary personas, advanced customization,
premature scale, and convenience features.
- Record consequential scope or architecture decisions in the repository's
established format.
The core outcome must be real at the learning boundary. A manual internal step
is acceptable when it is intentional, safe, measurable, operationally
supported, and documented; do not disguise a stubbed or broken core flow as an
MVP.
Preserve the Release Quality Floor
Tailor controls to the product's exposure and risk, but address each applicable
area explicitly:
- authentication, authorization, ownership, and tenant boundaries;
- input and boundary validation;
- safe error handling and stable user-facing failure behavior;
- secrets, privacy, data minimization, and retention;
- schema migrations, constraints, transactions, idempotency, backup, and
recovery for stateful flows;
- dependency and third-party integration failure behavior;
- core-path unit, integration, contract, and end-to-end tests;
- structured logs, request or job correlation, health signals, and the metrics
needed to operate and learn;
- accessible and usable behavior for the intended audience;
- environment validation, deployment configuration, rollback, and support
ownership;
- applicable legal, policy, licensing, billing, and vendor constraints.
Mark an item not applicable only with a concrete reason. Do not use “MVP” to
justify insecure defaults, missing data integrity, an unrecoverable deployment,
or an unverifiable core path.
Implement the Vertical Slice
- Preserve existing user changes and follow current repository conventions.
- Complete the primary journey before adding enhancements.
- Use the simplest maintainable design that satisfies the current contract.
- Reassess PoC code before reuse. Replace shortcuts that weaken production
behavior, and retain only code that meets the target quality floor.
- Keep integrations outside transactions when appropriate, make external
effects safe to retry, and expose failure states rather than silently losing
work.
- Update tests, configuration examples, migrations, API contracts,
architecture decisions, and operating documentation required by the change.
Do not broaden scope merely because adjacent work is convenient. Surface a
material new dependency or product decision instead of inventing it.
Verify Release Readiness
Run the checks relevant to the repository and risk:
- dependency or lockfile validation;
- formatting and linting;
- static type checking;
- unit, integration, contract, and end-to-end tests;
- build and packaging;
- migration validation and rollback or recovery checks;
- effective configuration and sanitized payload inspection;
- core acceptance criteria, relevant failure paths, and authorization
boundaries;
- deployment or release dry-run where available.
Inspect exact failures and raw provider responses before making causal claims.
Do not claim the MVP is releasable when required checks are skipped or failing;
state the remaining blocker and its impact.
Release and Learn
When release is authorized:
- Prefer a controlled audience, staged rollout, feature flag, or other bounded
exposure appropriate to the product.
- Confirm rollback, support ownership, health monitoring, and feedback
collection before increasing exposure.
- Measure the predefined outcome and learning signals.
- Combine observed behavior, operational evidence, and direct feedback.
- Decide whether to iterate, pivot, expand, pause, or retire the product.
When release is not authorized, deliver a verified release candidate and the
exact remaining release steps without changing external state.
Provide an MVP Receipt
Report completion in this compact order:
- Target audience, problem, and primary outcome
- Included scope and explicit non-scope
- Architecture and consequential decisions
- Quality-floor controls implemented or not applicable
- Verification evidence and exact commands
- Release status, rollout, rollback, and support state
- Learning metric and feedback mechanism
- Known constraints and prioritized next decision
1---2name: build-mvp3description: Plan, implement, verify, and prepare the smallest releasable product or bounded first release that delivers one primary end-to-end outcome to a defined early audience and creates measurable feedback. Use when the user says MVP, minimum viable product, first usable release, early release, core product flow, private beta, or asks to turn a validated PoC or prototype into a usable product. Keep non-core features out of scope while retaining essential security, data integrity, validation, error handling, testing, observability, deployment, rollback, and support requirements. Do not use merely to test feasibility; use validate-poc when critical assumptions remain unresolved.4---56# Build MVP78## Purpose910Deliver the smallest coherent release that lets a defined early audience11complete a valuable outcome and lets the team learn from actual use. Minimize12scope, not viability, safety, or result integrity.1314Use applicable project, language, architecture, API, persistence, security,15testing, documentation, and delivery skills for implementation details. Let16this skill govern release scope, the quality floor, and the feedback loop.1718## Establish the Product Contract1920Before implementation:21221. Inspect the current repository, newest decisions and documentation, existing23 behavior, effective configuration, and any PoC or prototype evidence.242. Identify:25 - the defined early audience;26 - the problem and primary user outcome;27 - the single end-to-end journey that delivers that outcome;28 - the business or learning hypothesis;29 - the observable signal that will inform the next decision.303. Verify that critical feasibility assumptions are sufficiently resolved.31 Apply `validate-poc` first when a high-impact unknown could invalidate the32 architecture, integration, economics, or user flow.334. State material assumptions and constraints. Do not hide unresolved34 showstoppers in a later backlog.3536If no real or representative user can complete a meaningful outcome, classify37the work as a prototype or PoC instead of calling it an MVP.3839## Draw the Minimum Viable Boundary4041Define the release before building it:4243- Write acceptance criteria for the primary journey.44- Separate **must have now**, **explicitly out of scope**, and **candidate45 next** items.46- Include a feature only when it is required to complete the journey, protect47 users or data, operate the release, or measure the hypothesis.48- Prefer one thin vertical slice across the necessary UI, API, domain,49 persistence, and integration boundaries over several disconnected partial50 features.51- Defer speculative abstractions, secondary personas, advanced customization,52 premature scale, and convenience features.53- Record consequential scope or architecture decisions in the repository's54 established format.5556The core outcome must be real at the learning boundary. A manual internal step57is acceptable when it is intentional, safe, measurable, operationally58supported, and documented; do not disguise a stubbed or broken core flow as an59MVP.6061## Preserve the Release Quality Floor6263Tailor controls to the product's exposure and risk, but address each applicable64area explicitly:6566- authentication, authorization, ownership, and tenant boundaries;67- input and boundary validation;68- safe error handling and stable user-facing failure behavior;69- secrets, privacy, data minimization, and retention;70- schema migrations, constraints, transactions, idempotency, backup, and71 recovery for stateful flows;72- dependency and third-party integration failure behavior;73- core-path unit, integration, contract, and end-to-end tests;74- structured logs, request or job correlation, health signals, and the metrics75 needed to operate and learn;76- accessible and usable behavior for the intended audience;77- environment validation, deployment configuration, rollback, and support78 ownership;79- applicable legal, policy, licensing, billing, and vendor constraints.8081Mark an item not applicable only with a concrete reason. Do not use “MVP” to82justify insecure defaults, missing data integrity, an unrecoverable deployment,83or an unverifiable core path.8485## Implement the Vertical Slice86871. Preserve existing user changes and follow current repository conventions.882. Complete the primary journey before adding enhancements.893. Use the simplest maintainable design that satisfies the current contract.904. Reassess PoC code before reuse. Replace shortcuts that weaken production91 behavior, and retain only code that meets the target quality floor.925. Keep integrations outside transactions when appropriate, make external93 effects safe to retry, and expose failure states rather than silently losing94 work.956. Update tests, configuration examples, migrations, API contracts,96 architecture decisions, and operating documentation required by the change.9798Do not broaden scope merely because adjacent work is convenient. Surface a99material new dependency or product decision instead of inventing it.100101## Verify Release Readiness102103Run the checks relevant to the repository and risk:104105- dependency or lockfile validation;106- formatting and linting;107- static type checking;108- unit, integration, contract, and end-to-end tests;109- build and packaging;110- migration validation and rollback or recovery checks;111- effective configuration and sanitized payload inspection;112- core acceptance criteria, relevant failure paths, and authorization113 boundaries;114- deployment or release dry-run where available.115116Inspect exact failures and raw provider responses before making causal claims.117Do not claim the MVP is releasable when required checks are skipped or failing;118state the remaining blocker and its impact.119120## Release and Learn121122When release is authorized:1231241. Prefer a controlled audience, staged rollout, feature flag, or other bounded125 exposure appropriate to the product.1262. Confirm rollback, support ownership, health monitoring, and feedback127 collection before increasing exposure.1283. Measure the predefined outcome and learning signals.1294. Combine observed behavior, operational evidence, and direct feedback.1305. Decide whether to iterate, pivot, expand, pause, or retire the product.131132When release is not authorized, deliver a verified release candidate and the133exact remaining release steps without changing external state.134135## Provide an MVP Receipt136137Report completion in this compact order:1381391. Target audience, problem, and primary outcome1402. Included scope and explicit non-scope1413. Architecture and consequential decisions1424. Quality-floor controls implemented or not applicable1435. Verification evidence and exact commands1446. Release status, rollout, rollback, and support state1457. Learning metric and feedback mechanism1468. Known constraints and prioritized next decision