Ship Faster end-to-end workflow for small web apps (default: Next.js 16.1.1): idea/prototype → foundation gate → design-system.md → lightweight guardrails + docs → feature iteration → optional...
The goal of this chain is: Ship an idea or small prototype to production-ready state in the shortest time, while maintaining iteration speed afterward.
Use this workflow when the user wants an end-to-end chain like:
..._path.tasks.md via - [ ] → - [x] (not in chat).foundation.md, deploy-vercel.md, etc.) when needed—avoid loading all details at once.tool-hooks-doctor once at the start of the session; if hooks are missing, offer to install project-level hooks (continue either way).Inputs (paths only):
repo_root: project root (default ".")run_dir (active run directory) if the user already has oneOutputs (artifacts, written under run_dir/):
proposal.md, tasks.md, context.jsondesign.md, evidence/, logs/Canonical contract (backends, templates, read order, auto-archive):
run_dir/ (see the deterministic backend rules in references/artifact-contract.md).proposal.md, tasks.md, context.jsontasks.md, ensure:status: active|blocked|done field near the topevidence/ and logs/ when you actually have large outputs to store.Problem this solves: a run summary that marks core steps as “skipped” without the user ever choosing to skip them is misleading and hard to audit.
Ask the user to select a scope before executing steps beyond build checks:
Rules:
context.json (add/update a scope field).tasks.md, do not mark a default step as “skipped” unless the user explicitly requested skipping it.disabled (scope=...) with a short reason under a “Scope / Disabled steps” sectiontasks.md firstProblem this solves: people jump straight into “implement a feature” and end up with a very basic MVP that’s hard to demo.
Run this step if any of these are true:
proposal.md is missing clear acceptance criteria and non-goalsHow:
workflow-brainstorm using the same repo_root + this run_dir.evidence/YYYY-MM-DD-kickoff-design.mdproposal.mdcontext.json (ensure need_database/need_billing/need_deploy/need_seo are explicitly set)Principle: a prototype that feels real needs at least one “demo moment” (tastefully showy, not gimmicky).
Examples of “demo moment” (pick 1, keep it small):
Workflow:
evidence/feature-00-demo-moment.mdmode: plan-only, feature_slug: demo-moment, and quality_bar: demo-readyworkflow-feature-shipper to generate the plan only (no implementation yet).Dynamically adjust execution order based on context.json content:
context.json has "need_database": truecontext.json has "need_billing": true or "need_stripe": truecontext.json has "need_auth": true or "auth": truecontext.json has "need_deploy": true or user explicitly requests deploymentcontext.json has "need_seo": true or project is already liveBefore starting each optional step:
context.json (and your chosen scope) to decide whether the step appliestasks.md (so resume/audit doesn’t require chat history)Open and follow: foundation.md.
Artifact requirements (minimum):
evidence/foundation.md (current state + risk assessment + chosen route)tasks.md: add a Foundation checklist section (tasks + verification commands)tasks.md and wait for confirmationBranch rules (important):
Call tool-design-style-selector: Scan project intent and persist design-system.md.
Confirmation point: After user confirms style, deploy design-system.md, and enter 2.5 UI/UX Implementation (default required; if user explicitly skips, log reason).
Goal: Make design-system.md actually reflected in the interface, not "wrote spec but UI unchanged".
Recommended approach: Treat "redo UI/UX per design-system.md" as an independent feature and hand to workflow-feature-shipper:
design-system.md (as sole design constraint) + current UI page list (from code scan)evidence/features/<feature_slug>-plan.md (scope/acceptance criteria/non-goals/risks/rollback) + code changesDefault enrichment (when installed):
tool-ui-ux-pro-max is installed, use it to enrich the UI/UX plan with concrete palette/typography/UX guardrails, and use its pre-delivery checklist as acceptance criteria.tool-ui-ux-pro-max enrichment if the user explicitly asks to skip it (e.g., “don’t over-design / keep it simple”), and log the reason.For large-scale refactoring: add an Approval item to tasks.md first and wait for user confirmation before implementing.
Open and follow: guardrails.md.
Artifact: tasks.md (Guardrails checklist section)
Problem this solves: many starter projects imported from Google AI Studio / v0 / Lovable ship with vendor branding, broken remnants (like importmap), and misleading README instructions.
Open and follow: cleanup-traces.md.
Artifacts:
evidence/trace-scan.mdtasks.md (Trace cleanup checklist section)Open and follow: docs-baseline.md.
Artifact: tasks.md (Docs checklist section, plus project README update)
Call workflow-feature-shipper:
evidence/features/<feature_slug>-plan.md (with acceptance criteria/non-goals)review-quality for a conclusive review + verdictreview-quality is the single entry point and will auto-triage: if React/Next.js performance risk is detected, it will also run review-react-best-practices (CRITICAL rules first)Auth note (optional): if a feature includes login/session/permissions and tool-better-auth is installed, call it before implementation to lock down session strategy, redirects, cookies/CSRF, and middleware boundaries. Persist:
evidence/auth-plan.mdevidence/auth-summary.mdExecution condition: context.json has "need_database": true or "database": "supabase"
Open and follow: supabase-integration.md.
Execution condition: context.json has "need_billing": true or "need_stripe": true or "payment": true
Open and follow: stripe-integration.md.
Execution condition: context.json has "need_deploy": true or "deploy_target" field exists and non-empty
Open and follow: deploy-vercel.md.
Execution condition: context.json has "need_seo": true or "seo": true, or step 8 completed successfully (already deployed)
Open and follow: ai-seo-nextjs.md.
Write to: final.md (in the run root), at minimum include:
And wrap up:
tasks.md status to done, and fill the Delivery summarypython3 ~/.claude/skills/workflow-ship-faster/scripts/auto_archive.py --run-dir "<run_dir>"active/<run_id>/ → archive/YYYY-MM-DD-<run_id>/skill-evolution Evolution checkpoint (3 questions); if user chooses "want to optimize", run skill-improver based on this run_dir to produce minimal patch suggestions