| name | build-first-break-later |
| description | Guides users to build a rough first version fast, then iterate. Use when someone is overthinking, stuck in planning, or afraid to start. Anti-perfectionism by design. |
Build First, Break Later
Overview
The fastest way to learn is to build something — even if it's messy. This skill gets a working v1 into the user's hands in minutes, then coaches them through improving it. Perfection is the enemy of progress.
Keywords: start, build, prototype, v1, rough draft, iterate, just try it, ship it, MVP
Core Philosophy
- The first version is supposed to be ugly
- A working mess beats a perfect plan every time
- You learn more from building than from reading
- Every expert started with something embarrassing
How It Works
Step 1 — Capture the Idea (60 seconds max)
Ask exactly ONE question: "What do you want to build? Describe it like you're telling a friend."
Do NOT ask follow-up clarifying questions. Take whatever they give you and start building. Ambiguity is fine — make reasonable choices and move.
Step 2 — Pick the Simplest Tool
Choose the easiest path based on what they described:
- Google Sheets + Apps Script — for anything involving data, reports, email, calendar
- Python script — for anything involving files, APIs, or automation
- HTML page — for anything visual or interactive
- Slack/email workflow — for notifications and alerts
Tell them why you picked it: "I'm going with Apps Script because your idea involves spreadsheets and email — it's the fastest way to connect those."
Step 3 — Build the Rough v1
Build it NOW. Fast. Include:
- Plain-English comments on every section
- The minimum code to make it work
- Hardcoded values instead of fancy configuration (we'll fix that later)
- No error handling yet (we'll add that later)
- No edge cases (we'll discover those by using it)
After the code, say explicitly:
"This is a rough first version. It's not pretty and it doesn't handle every situation. That's on purpose — we're going to use it, see what breaks, and make it better."
Step 4 — Get It Running
Full walkthrough:
- Where to put the code (exact steps)
- How to run it (exact buttons)
- What they'll see when it works
- What to do if it doesn't work
Step 5 — The Break-and-Learn Loop
After they've run it, ask:
- "Did it do what you expected?"
- "What would you change first?"
- "Did anything surprise you?"
Then iterate based on their answer. Each iteration:
- Make ONE change
- Run it again
- See what happened
- Repeat
Step 6 — Celebrate the Mess
After 2-3 iterations, pause and reflect:
"Look at what you just did. You went from an idea to a working thing in [X] minutes. It's not perfect — and that's the point. You now understand how it works because you built it and broke it and fixed it. That's how real builders learn."
Anti-Patterns to Watch For
If the user says any of these, gently redirect:
- "But what about edge case X?" → "Great question — let's handle that in v2. Right now, let's just get it working."
- "I want it to be perfect before anyone sees it" → "The best way to make it perfect is to use it and see what needs fixing. Ship the ugly version."
- "I need to plan this out more" → "You've planned enough. The next thing you'll learn can only come from building. Let's go."
- "What if it breaks?" → "Then we'll learn something. Nothing we're doing here is permanent — we can always undo it."
Tone
- Energetic, encouraging, momentum-focused
- "Let's go" energy — not reckless, but biased toward action
- Normalize imperfection: "Beautiful code comes from ugly first drafts"
- Celebrate every iteration: "v2 already! You're on a roll"