Stop Writing Prompts. Start Writing Specs. | daily.dev
Stop Writing Prompts. Start Writing Specs.
This title could be clearer and more informative.
Overview
A live demo transcript walks through spec-driven development using GitHub's Spec Kit and GitHub Copilot in Visual Studio Code, contrasting it with prompt-first AI coding. The presenter, a Microsoft MVP and cloud architect, builds an MCP server for a Microsoft Build session planner, moving through the constitution, specify, plan, tasks, and implement phases.
Emphasis is placed on writing unbreakable project rules (constitution), functional specs before technical plans, chunking work into tasks, and rigorously reviewing every AI-generated document before implementation.
Questions this post answers
What is spec-driven development and how does it differ from prompt-first AI coding?
Spec-driven development treats a written specification, not the prompt, as the main artifact guiding AI code generation. It moves through a constitution (unbreakable project rules like security standards and testability), a functional spec (what to build, no technical detail), a technical plan (stack, versioning, deployment), and tasks (chunked work), all reviewed before implementation. Prompt-first coding skips this, producing code fast but unreviewable and prone to missing the point on larger projects. See how daily.dev developers compare spec-driven and prompt-first AI coding workflows before adopting one.
What are the phases of GitHub Spec Kit workflow when building with Copilot?
Spec Kit runs through five phases: constitution (unbreakable rules like grounded data, time awareness, security, testability), specify (functional requirements only, no technical detail), plan (technical choices like TypeScript, Node.js, HTTP transport, deployment), tasks (chunking work into manageable, ordered pieces), and implement (generating code and tests). Each phase is stored as markdown in a specify folder and reviewed before moving to the next. Track evolving spec-driven tooling like GitHub Spec Kit on daily.dev as you plan agentic coding workflows.
Why should I specify exact version numbers when using AI coding assistants like Spec Kit for planning?
AI planning tools will fill in a framework or language version automatically if none is specified, but that inferred version may be the current default rather than the actual latest release. Explicitly stating the desired version, such as a specific TypeScript or Node.js version, in the plan prompt avoids ending up with an outdated or mismatched dependency in the generated technical plan. Developers pinning dependency versions in AI-generated plans can follow release updates on daily.dev.