The prompt is the spec: how I learned to talk to Claude
Vague prompts produce vague code. Here's what changed when I started treating every prompt like a specification — and what I do when Claude gets it wrong.
The first paywall prompt I wrote was four words.
"Add a paywall feature."
Claude built something. It had the right visual shape — a purple block, a lock icon, text that said "supporters only." I merged it, deployed it, and felt good about it for about two hours. Then I opened the browser devtools and looked at the network tab. The MDX source was right there. The full post, every word. The paywall was cosmetic. A div with display: none would have been equally secure.
Four words got me four words' worth of protection.
The rest is for supporters
Pay once, read everything — this post and whatever comes next.
What's inside
- →The exact structure I use for prompts that produce working code on the first try
- →The locale routing disaster: one bad prompt caused a 404 loop, and how a precise reprompt fixed it in 10 minutes
- →How the Redis unlock counter was built from a single well-scoped prompt — and what that prompt actually said
- →The one-session-one-goal principle: why mixing concerns in a session costs more than you think