How Keel takes an idea to a decision
No terminal experience required to follow this — it's the same process either way, just described without the command names.
Describe your idea.
Keel identifies the risky assumptions your idea depends on, and who you'd need to talk to in order to test them.
You add interview evidence — notes from real conversations, one at a time.
Keel recommends one of five things: pivot, gather more evidence, reduce the risk, narrow the idea, or proceed.
Once the evidence clears the bar, the validated brief moves into the AI build workflow (Spec Kit) to actually get built.
After it ships, Keel checks the finished product against the evidence — and tells you where it drifted.
One action to remember: Keel Guide
Run Keel Guide and keep going. It reads what you have completed, determines the current stage, and guides you through the next step. The exact way you invoke it depends on your coding agent.
What you get out of it
How would you like to continue?
Set up Keel myself
Install Keel once. After setup, Keel Guide is the only action you need to remember. It will determine your current stage and guide your next step.
Tell us where you're stuck
We're learning where founders need additional guidance. Tell us what you're trying to accomplish and where you are getting stuck. This is not a sales form, and there is no commitment.
Tell us where you're stuckNothing upstream checks whether the idea deserved a spec
Spec Kit is very good at turning a specification into working software. It has no opinion on whether the specification should have existed — that's a different problem, and it's the one Keel solves.
Assumptions become spec
Whatever you type into /speckit.specify becomes the
plan. There's no step before it that asks whether the belief behind
the feature was ever checked against anyone who isn't you.
clarify asks you, not evidence
/speckit.clarify resolves ambiguity by asking the
person who already believes the idea. Your assumptions become the
spec either way. Keel resolves ambiguity against interviews instead.
Nothing checks the build against why
/speckit.analyze checks whether your spec, plan, and
tasks agree with each other. Nothing checks whether what shipped
agrees with the evidence that justified building it. That's what
keel.audit is for.
Add it to a Spec Kit project
Requires Python 3.11+. Pick whichever matches where you're starting from — Keel is a Spec Kit extension, so it needs Spec Kit either way.
How Keel fits with Spec Kit
Keel works around Spec Kit, not inside it. It validates the idea
before /speckit.specify, hands Spec Kit an
evidence-backed brief, and checks the finished product afterward.
The invocation format varies by coding agent; the workflow does not.
Which coding agent are you using?
Choose your coding agent to see the correct way to run Keel.
specify init)Install the extension
specify extension add keel --from https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v0.2.0.zip
Keel is listed in Spec Kit's community catalog, but the entry is still syncing to v0.2.0 — until that update lands, the bare specify extension add keel will resolve the older v0.1.1. The command above installs the pinned v0.2.0 release directly, so you don't need to wait. Spec Kit will ask you to confirm the external source (y) once. Developing locally instead? specify extension add --dev /path/to/spec-kit-keel
Start Keel
Advanced: Show individual Keel commands
Install the Specify CLI
uv tool install specify-cli
Installs from PyPI. Prefer pinning a release? Spec Kit's own README has the git+https://...@vX.Y.Z form.
Initialize a Spec Kit project
specify init my-project --integration claude cd my-project
Swap claude for whichever agent you use — copilot, gemini, and others are also supported.
Install the Keel extension
specify extension add keel --from https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v0.2.0.zip
Keel is listed in Spec Kit's community catalog, but the entry is still syncing to v0.2.0 — until that update lands, the bare specify extension add keel will resolve the older v0.1.1. The command above installs the pinned v0.2.0 release directly, so you don't need to wait.
Start Keel
Advanced: Show individual Keel commands
Setup looks unfamiliar? Tell us where you're stuck.
Technical details: Five phases and enforcement gate
Five internal phases
/speckit.keel.guide reads your project's state and routes through these five phases inline — you don't have to sequence them yourself or track A-00X / E-00X IDs.
keel.initCaptures the hypothesis, derives assumptions, writes a non-leading interview guide and an evidence-gathering plan — who to talk to, and why.
keel.add-evidenceIngests one interview, extracts claims with provenance, updates assumption confidence.
keel.checkReports coverage, saturation, and contradictions, then a five-option decision menu: pivot, gather more evidence, reduce risk, narrow the hypothesis, or proceed.
keel.briefWrites constitution input and an evidence-backed brief for /speckit.specify.
keel.auditScores spec quality; with keel/ present, diffs the build against the evidence.
Each one also works as a direct command — /speckit.keel.init, /speckit.keel.check, and so on — if you already know exactly which phase you're in. guide is a router around them, not a replacement.
The gate blocks the brief, by exit code
keel-gate.sh runs at the top of every Keel command.
/speckit.keel.brief is blocked while any high-risk
assumption is unvalidated, evidence is thin, or all of it comes from
a single participant role — not as a suggestion to your agent, as an
exit code.
Thresholds live in keel-config.yml. You can lower
them; the override gets recorded so keel.audit can
surface it later. Keel doesn't write your code either, and it won't
pad evidence to make its own gate pass.
This only covers Keel's own commands —
it can't stop someone from skipping Keel entirely and running
/speckit.specify straight away. The hook that offers
to run check before planning is opt-in, not forced,
precisely so a project with no keel/ directory is
never blocked by a gate it never opted into.