Don't Install GitHub Spec Kit — Steal These Three Ideas Instead
An audit of GitHub Spec Kit (v0.12.11) against a working AI-agent stack: three spec-driven development ideas worth stealing — in-repo specs, a task router, executor-authored plan.md — and three worth skipping, with honest reasons.

I watched a conference talk demoing GitHub Spec Kit: the presenter built a todo app in about 40 minutes through the /specify → /plan → /tasks → /implement pipeline. Instead of installing the framework, I audited spec-driven development (SDD) against the agent stack I already run — a grilling-interview skill, an autonomous-build skill, and GitHub Issues as agent memory. I split SDD into three ideas worth stealing and three I skipped, and shipped the adoption in the same session as the analysis: one commit, 5 files changed, 126 insertions.
What exactly I audited. This article reflects Spec Kit as of July 2026 — v0.12.11 (released July 10, 2026), a ~120k-star repository with 30+ supported coding-agent integrations, extensions, and presets. Where I describe a specific workflow, I distinguish between what the official toolkit does and what the conference presenter demonstrated on top of it. My conclusion is a fit judgment for my own stack, not a verdict on Spec Kit.
What Spec Kit Actually Is Today
Spec Kit makes the specification the center of the engineering process. From a high-level prompt it generates a detailed spec, a technical plan, a task breakdown, and then the implementation — each step producing a markdown artifact in a specs/NNN-slug/ folder that lives in your repository.
The current toolkit is more flexible than its critics (including my first draft of this article) tend to assume. It ships a /speckit.taskstoissues command that converts generated task lists into GitHub Issues for tracking. It supports 30+ coding agents — Copilot, Claude, Gemini, Codex, and others — with a generic integration for the rest. And its default workflow can be customized or replaced through extensions and presets.

The problem SDD attacks is real. The presenter named it precisely: the "curse of knowledge." When you formulate a task, you skip what feels obvious to you, the agent fills the gaps with plausible inventions, and the reasoning behind every decision dies in a chat window nobody can find a month later.
Why I Still Didn't Install It
My reasons are about overlap, not about Spec Kit being bad.
My stack already covers most of what the default Spec Kit pipeline provides:
Adopting Spec Kit would mean either running two sources of task state — its artifacts plus my board — or migrating my board conventions into its workflow. That is a process-migration cost, not vendor lock-in: the toolkit itself is agent-agnostic. But for a stack that already works, the cost buys little.
The honest summary: Spec Kit's default workflow carries more ceremony than my existing stack needs. If you are starting from zero, the calculus is different — the framework hands you a complete discipline on day one.
Three Ideas I Stole
1. Hybrid In-Repo Specs
Large features now get a specs/NNN-slug/spec.md committed next to the code, while the GitHub issue stays the state tracker on the board.
This solves a failure mode I actually have. My executors run headless in containers, and a container dies with its chat context. The PR description records deviations from the task — but never the original intent. A spec committed in the repo survives the container, the chat, and the issue's closure, and the next agent working nearby can read it.

The hybrid part matters: small tasks stay issue-only. Specs are read on demand, never inherited into every agent run — and my context-pruning guard now protects specs/ from cleanup, with a regression test.
2. A Task Router
The second steal is the presenter's own addition, not a Spec Kit feature: a single entry point that decides which process a task deserves. My version classifies raw work into four routes:
specs/NNN-slug/spec.md, link it from the issue.
A --fast flag drafts the spec without the interview and hands it to me for approval. The default stays interview-first: the curse of knowledge is cured by being asked questions, not by generating documents.
3. Executor-Authored plan.md
The spec captures intent; the plan captures approach. When an issue links to a spec, my executor's first phase is to write specs/NNN-slug/plan.md — stack choices, data model, key files — and commit it to the PR branch before implementing.
Code review's spec-fidelity axis gets an explicit artifact: the reviewer compares the diff against a stated plan instead of reverse-engineering intent from the code. The spec stays read-only for the executor; a conflict between spec and reality is an escalation, not a silent edit.
Three Things I Skipped
1. The Full Framework
Everything above fit into my existing skills. Installing Spec Kit as well would duplicate the interview, the build loop, and the board integration I already have — two systems tracking one truth. This is the fit judgment, restated: steal the ideas, skip the dependency when the ideas are all you need.
2. The Model-Split Session Pattern
The presenter recommended planning in one session on an expensive model, then implementing in a fresh context on a cheaper one. Worth noting: this is the presenter's workflow advice, not a Spec Kit feature.
I skipped it because my routing ladder already covers it — a cheap fast model does reconnaissance, a mid-tier model does bulk implementation, and the strongest model verifies. Adding a per-session split on top would be complexity without new benefit.
3. Specs for Everything
The default Spec Kit pipeline assumes a full specification flow even for work my router would classify as trivial. Presets and extensions can tune that, but the tuning is exactly what my router already does: the judgment call about which process a task deserves is the valuable part, and I wanted it in one place I control.
Case Study: Shipping the Adoption
Context: I run a solo AI agency on an autonomous agent fleet — a daemon on a Google Cloud VM that claims issues from a GitHub project board and runs headless coding-agent executors in task containers. The system is brownfield: interview, build, review, and memory conventions already existed.
What changed: one commit, 5 files, 126 insertions —
--fast flag.plan.md to the PR branch before implementing.specs/ from cleanup, with a regression test.What I can honestly report: the adoption itself was cheap because every idea landed on existing infrastructure — the interview skill, the board, the PR review cycle were already there. What I have not yet measured is before/after lead time or token cost per task; those are initial observations, not benchmarks. The metric I will watch is how often review finds the diff drifting from plan.md.
A real failure mode this design answers: my executors previously recorded why we deviated in the PR but had nowhere durable to record what we originally intended. Every intent question after a container died meant archaeology across chat logs. The in-repo spec closes exactly that gap.
Practical Implementation Layer
Task Router — Simplified Conceptual Pseudo-Code
This is illustrative pseudo-code, not a runnable API:
// Conceptual sketch — the real router is a skill prompt, not JS.
function routeTask(rawWork) {
if (isTrivialFix(rawWork)) return justDoIt(rawWork);
if (isScopeClear(rawWork)) return createIssue(rawWork);
if (isMultiPhaseBuild(rawWork)) return handOffToAutonomousBuild(rawWork); const spec = flags.fast
? draftSpecForApproval(rawWork) // --fast: skip interview
: interviewThenWriteSpec(rawWork); // default: ask questions first
return createIssueLinkingSpec(spec); // board stays the state tracker
}
// Executor side, first phase of a spec-linked task:
// write specs/NNN-slug/plan.md → commit to the PR branch → implement.
System Flow
Raw task → router (fix / issue / interview→spec / autonomous build) → spec committed to specs/NNN-slug/ → issue on the board → executor claims it, commits plan.md to the PR branch → implementation, with deviations recorded in the PR → review compares the diff against spec + plan → human merge gate.
Model routing runs underneath, not instead: cheap models read, mid-tier models implement, the strongest model verifies findings.
Rollout Plan
--fast flag.specs/NNN-slug/spec.md convention and link specs from issues.plan.md to the PR branch before implementation.specs/ in whatever context-pruning tooling you run, with a test.Challenges & Constraints
Actionable Takeaways
--fast is the exception with an approval gate.FAQ
Does Spec Kit integrate with GitHub Issues?
Yes — current versions ship /speckit.taskstoissues, which converts generated task lists into GitHub Issues. My reason for not adopting it wasn't a missing feature; it was that my board conventions and executor daemon already occupy that role, and running both would duplicate state.
Is adopting Spec Kit a vendor lock-in risk?
Not in the ecosystem sense: it supports 30+ coding agents and its process isn't tied to one vendor's models. The real cost is process migration — its artifacts and workflow become your team's habits, and unwinding habits is expensive. That cost applies to my homegrown conventions too.
What is the difference between spec-driven development and vibe coding?
SDD turns specifications from passive documentation into contracts the agent implements against, with acceptance criteria as the definition of done. Vibe coding relies on loose prompts; it works until the system grows past what one chat context can hold, then the missing intent becomes unpayable debt.
How do I handle the "curse of knowledge" with AI agents?
Get interviewed. The failure isn't that agents lack documents — it's that you never said the things that felt obvious. A structured interview extracts those; generated ceremony doesn't. That's why my router defaults to interview-first and makes --fast the exception.
Do specs slow down small fixes?
They would — which is why the router exists. Trivial fixes ship with no artifacts, clear-scope work gets a plain issue, and only large or ambiguous features pay the interview-plus-spec cost. Applying the full pipeline to everything is the failure mode, not the goal.
Related reading
Sources
Maksym Tytarenko
AI & SaaS Development Expert at Tytarenko AI Agency
Ready to Build Your AI-Powered Solution?
Let's discuss how we can help you leverage AI to transform your business.
Get in Touch