Daniel Rosehill Hey, It Works!
Claude Spec Starter: a template for spec-driven development with Claude Code
· Daniel Rosehill

Claude Spec Starter: a template for spec-driven development with Claude Code

A repo template that transforms free-form project descriptions into organized specifications Claude Code can reliably parse.

One of the patterns I've settled into when working with Claude Code is what I'd call "spec-driven development." The idea is simple: before you start building anything, you write out what you want in plain language, and then let Claude Code parse that into organized specifications it can work from. I built Claude Spec Starter as a template repository to make this workflow repeatable.

danielrosehill/Claude-Spec-Starter View on GitHub

The problem it solves

When I start a new project, I usually have a rough idea in my head — sometimes captured via voice-to-text, sometimes typed out quickly. The challenge is that Claude Code works best when it has structured context: clear specs, organized preferences, and well-defined goals. Bridging the gap between a messy brain dump and a well-organized project context is tedious manual work.

How it works

You clone the template, write your project description in a prompt.md file, and then run the /build-repo slash command. Claude Code processes your free-form description and splits it into two key outputs: a technical specification in spec/starter.md and a context file in context/index.md that captures your preferences, constraints, and background info. Your original prompt gets archived, and the CLAUDE.md file is updated so Claude Code knows where to find everything.

The template also includes slash commands for refining specs iteratively (great for follow-up voice sessions), validating the repo structure, and adding new context. There are utility scripts for comparing spec versions and archiving iterations, so you can track how your project vision evolves over time.

Why I like this approach

This template is especially useful for voice-driven development. I often capture project ideas by talking them out, which means the initial input is messy and unstructured. The /build-repo command is designed to handle speech-to-text artifacts gracefully. It also supports versioned specs — as requirements evolve, you can create v2.md, v3.md, and Claude Code will automatically reference the latest version.

The separation of specs from context is a small but important design choice. Technical requirements and personal preferences are different things, and keeping them in separate files means Claude Code can reference each appropriately without conflating the two.

If you're using Claude Code regularly and find yourself repeatedly setting up project structures, give Claude Spec Starter a try. It's open source and designed to be customized.

danielrosehill/Claude-Spec-Starter View on GitHub