# Build First Break Later

> 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.

- Skill: `chewbaccaroars/build-first-break-later` (Agent Skill)
- Install (CLI): `npx skillmds@latest add chewbaccaroars/build-first-break-later`
- Raw SKILL.md: https://api.skillmd.com/api/skills/chewbaccaroars/build-first-break-later/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ChewbaccaRoars (https://skillmd.com/u/chewbaccaroars)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/chewbaccaroars/build-first-break-later

---


# 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:
1. Where to put the code (exact steps)
2. How to run it (exact buttons)
3. What they'll see when it works
4. 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:
1. Make ONE change
2. Run it again
3. See what happened
4. 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"

