Dev Tools // // 4 min read

Why I Ditched “Vibe Coding” for GitHub’s Spec-Kit (And You Should Too)

balakumar Senior Software Engineer

If you've been using AI coding tools like Claude Code or Auggie CLI, you've probably fallen into the "vibe coding" trap. You know what I'm talking about—throwing prompts at your AI assistant, getting some code back, tweaking it, asking for more changes, and ending up with a Frankenstein project that kinda works but makes no architectural sense.

I was there too, until I discovered GitHub's open-source Spec-Kit. It's completely changed how I approach AI-assisted development, and I want to share two workflows that have transformed my productivity.

The Problem: Chaos Disguised as Speed

Before spec-kit, my typical AI coding session looked like this:

  • "Hey Claude, build me a todo app"
  • Get some code, realize I need authentication
  • "Actually, add user login"
  • Discover the database schema doesn't make sense
  • "Can you refactor this to use PostgreSQL?"
  • Three hours later: a working app with messy code and zero documentation

Sound familiar? That's vibe coding—fast to start, painful to maintain.

The Solution: Spec-Driven Development

Spec-kit introduces a simple but powerful three-phase workflow:

  1. /specify - Define what you're building (the requirements)
  2. /plan - Create the technical implementation plan
  3. /tasks - Break it down into actionable, testable tasks

Let me show you how this works with two of my favorite AI coding tools.

Workflow 1: Spec-Kit + Claude Code

This is my go-to setup for complex applications. Here's how I built a full-stack expense tracker:

Phase 1: Specification (/specify)

/specify
I need an expense tracking application where users can:
- Create accounts and log in securely
- Add expenses with categories, amounts, and receipts
- View spending analytics with charts
- Export reports as PDF
- Set budget limits and get notifications

Claude Code takes this and creates a detailed specification document that captures not just features, but user stories, acceptance criteria, and edge cases.

Phase 2: Technical Plan (/plan)

/plan
The application uses React with TypeScript for the frontend, Node.js/Express for the API, PostgreSQL for data storage, and JWT for authentication. Deploy on Vercel with Supabase as the backend.

Now Claude Code generates a comprehensive technical plan including:

  • Database schema with relationships
  • API endpoint specifications
  • Component architecture
  • Authentication flow
  • Deployment strategy

Phase 3: Task Breakdown (/tasks)

/tasks

This is where the magic happens. Claude Code creates a prioritized list of implementable tasks:

  • Set up PostgreSQL database with user and expense tables
  • Create user authentication API endpoints
  • Build login/signup React components
  • Implement expense CRUD operations
  • Add expense categorization logic
  • Build analytics dashboard with Chart.js

Each task is small enough to implement and test in isolation—no more overwhelming "build everything" sessions.

Workflow 2: Spec-Kit + Auggie CLI

For rapid prototyping and terminal-focused development, I love using Auggie CLI with spec-kit. Here's how I used it to build a CLI tool for managing environment variables:

The Setup

Auggie CLI excels at understanding existing codebases and working directly in the terminal. Combined with spec-kit, it's incredibly powerful for command-line tools and scripts.

The Process

Using the same /specify, /plan, /tasks flow, Auggie CLI created:

  • A well-structured CLI with proper argument parsing
  • Encrypted storage for sensitive environment variables
  • Cross-platform compatibility (Windows, macOS, Linux)
  • Comprehensive help documentation
  • Unit tests for each command

What impressed me was how Auggie CLI automatically indexed my existing project structure and suggested improvements that aligned with my codebase's patterns.

Why This Approach Works

The spec-kit workflow solves three major problems:

1. Context Preservation: Instead of losing track of your original vision, the spec keeps you focused.

2. Predictable Results: Your AI assistant has clear constraints and objectives, leading to more consistent code quality.

3. Maintainable Architecture: By planning first, you avoid the technical debt that comes from iterative prompting.

Getting Started

Installing spec-kit is straightforward:

npm install -g @github/spec-kit
cd your-project
spec-kit init

The CLI automatically detects whether you have Claude Code, Auggie CLI, or other supported tools installed and configures the appropriate prompts.

The Results

Since adopting this workflow:

  • My projects have clearer architecture from day one
  • I spend less time refactoring messy AI-generated code
  • Onboarding new team members is easier (they can read the specs)
  • Code reviews focus on implementation, not "what were you trying to build?"

Final Thoughts

Spec-kit isn't about slowing down—it's about coding smarter. Whether you're using Claude Code for complex applications or Auggie CLI for rapid prototyping, taking 10 minutes to specify, plan, and break down tasks will save you hours of confusion later.

The age of vibe coding is over. Structured AI development is here, and it's a game-changer.


Try spec-kit with your favorite AI coding tool and let me know how it transforms your workflow. You can find the project at github.com/github/spec-kit.