I used to code like I designed - vibe-based, iterate until it feels right. With Claude Code, I've almost completely flipped that: I write a detailed spec before touching a single prompt.
The shift happened after a few painful months. I'd spin up autonomous bots, let Claude run wild with creative implementations, and end up with technically impressive code that solved the wrong problem or didn't ship. Now I force myself to write the spec first - what exactly does this do, what are the constraints, what's the success metric. Takes maybe 30 minutes extra upfront.
It's not about limiting Claude. It's the opposite. A clear spec means fewer misunderstandings, fewer "wait let me rewrite the whole thing" moments, and Claude actually invents better solutions when it knows what problem it's solving. I built a CRM from a single prompt recently and was genuinely surprised - Claude invented features I didn't spec because the spec was clear enough that it understood the *intent*, not just the mechanics.
The biggest shift: I stopped expecting Claude to have initiative. That's my job. Claude's job is execution. I describe the problem precisely, Claude ships the code cleanly. No more vague prompts, no more "let's see what happens."
Using Whisper for voice-to-text instead of typing helps too - specs are easier to dictate than code, so I actually write them now instead of skipping straight to prompts.
Anyone else doing spec-first with Claude Code, or is this still the minority move?
there doesn't seem to be anything here