Covers the limitations of vibe coding with Claude Code for production-grade work — context window constraints, ad-hoc design, and prompt-as-context friction — and how spec driven development with Kiro addresses them. Walks through Kiro’s three-document workflow (requirements, design, tasks) using a real Cloudflare R2 migration as a worked example. Discusses repository structure, where Kiro excels, and common pitfalls to avoid.