the spec-first IDE companion

Stop chatting with agents.
Start shipping with specs.

SpecBuddy turns vague prompts into structured execution workflows. No more infinite prompt loops, "almost-correct" code, or losing control of what you're building.

OPENSPEC · SIMPLIFIED · SPEC KIT (SOON) — WITH ANY ACP AGENT

  • 01 No more prompt loops. A spec is approved once, then executed.
  • 02 No more "almost-correct" code. Every step is traceable to a requirement.
  • 03 No more losing control. Accept, reject, zoom, or rollback — step by step.
your ide
~/project/demo.mp4
VIDEO · INTELLIJ IDEA
WATCH: 8-min walkthrough chaos → spec → control
why it matters

Specs fixed the intent.
SpecBuddy fixes the execution.

THE SHIFT

A spec is a map, and the code is the territory. You only find out the map is wrong by walking it — usually a step or two in, when something nobody thought of gets in the way. Spec-driven development writes the map down. SpecBuddy is what puts you on the walk.

01VIBE CODING
THE OLD LOOP
INFINITE PROMPT LOOP ~$ while true; do regenerate; done prompt generate compile/run regret redo

Fast launch. No guidance.

You prompt, it generates, you regenerate. The agent misreads what you meant, context slips between turns, the result drifts from the goal — and you are the one steering, the whole way.

02SPEC-DRIVEN
HALF THE ANSWER
SPEC PLAN AGENT BUILDS IT ALL ? ? ? ? ! FIRST LOOK EVERYTHING AT ONCE

The intent is fixed.

What you want is written down and agreed before anything runs — that part is solved. But the agent still builds the whole thing in one go, deciding things nobody asked you about, and you first see the result at the end, when changing it costs the most.

03+ SPECBUDDY
WHAT WE ADD
SPEC PLAN PLAN CHANGES STEP 1 YOU LOOK STEP 2 YOU LOOK STEP 3 NEW STEP YOU LOOK STEP 4 YOU LOOK DONE

The execution is fixed too.

The agent stops after every step and shows you what it just did. Keep it, or send it back. And when a step teaches you something the plan did not know, the plan changes right there — before the next step runs on top of it.

parallel work

Many changes at once. No collisions.
Single IDE window.

WORKTREES

Reviewing every step is only affordable if you are not blocked while you do it. So a change does not own your checkout: start a second one and it gets a worktree of its own, runs its own steps, and goes into main on its own schedule.

main WORKTREE A SPEC A YOU LOOK AT EVERY STEP COMMIT MERGE A WORKTREE B SPEC B YOU LOOK AT EVERY STEP COMMIT MERGE B
main WORKTREE A SPEC A YOU LOOK AT EVERY STEP COMMIT MERGE A WORKTREE B SPEC B YOU LOOK AT EVERY STEP COMMIT MERGE B
01

A second change gets its own worktree

The first change runs in your working copy. Start another while it is still going and SpecBuddy checks out a separate worktree for it — no two runs ever touch the same files, and none of them has to wait.

02

Each one is reviewed on its own

Its own steps, its own diffs, its own agent session. You can be signing off step 4 of one change while the other is still on step 1 — the reviews do not queue behind each other.

03

Each branch merges in turn

Each change lands as a commit on its own branch, and each goes into main when it is ready — the one that finishes first does not wait for the other. Ordinary branches, ordinary merges, nothing unusual left in your history.

workflows

Your methodology. Our cockpit.

METHODOLOGY

Spec-driven development is a methodology, not a single tool. SpecBuddy supports several of them — OpenSpec, its own zero-setup Simplified flow, and GitHub Spec Kit next. Pick the one your team runs, and an IDE to see it in.

seen in

Your OpenSpec loop. A human at every step boundary.

SpecBuddy drives the /opsx:* commands openspec init installed, against the openspec/ directory you already have — nothing to migrate, nothing to re-learn. It adds what OpenSpec leaves to the terminal: reviewing a change inside the IDE, running tasks.md one group at a time behind a review gate, and archiving a spec that says what really shipped. All it needs is the openspec CLI on your PATH.

01EXPLORE · PROPOSE

A change starts in your editor and lands in your tree.

/opsx:explore · /opsx:propose

Describe the change in an editor tab, not on a terminal line. Send it to /opsx:propose — or to /opsx:explore first, when you are not sure yet. The change folder shows up in the Spec Explorer as a unit of work with its state on the row: Draft, 3/7 tasks, Review. And the agent session stays open on the new change, so you can keep arguing about the proposal in the same conversation.

SpecBuddy — new openspec change INTELLIJ IDEA VS CODE
02REVIEW

Read a delta next to the spec it changes. Comment on the line.

proposal · design · delta specs · tasks

A delta spec only makes sense beside the main spec it modifies, so SpecBuddy links the two: a gutter marker on a MODIFIED requirement jumps to the original in openspec/specs/ or shows both as a diff, and a main spec lists the active changes that target it. When one of the WHEN/THEN scenarios is wrong, comment on it the way you review a pull request. The Cockpit keeps comments about the change apart from comments about one task, so a note on task 6 never turns into a rewrite of the proposal.

SpecBuddy — delta spec review INTELLIJ IDEA VS CODE
03APPLY, ONE GROUP AT A TIME

A review gate on every task group, not one diff at the end.

/opsx:apply

Plain apply works the whole checklist in one pass. SpecBuddy runs one numbered group of tasks.md per session, with a git snapshot before and after, and hands you the diff for that group alone — accept it, refine it with your comments, or roll back to the exact state before the run. Run one group, run up to the one you pick, or let the rest go and review at the end. When the agent hits something the spec does not cover, its question lands in the log and the run waits for your answer.

SpecBuddy — cockpit · live INTELLIJ IDEA VS CODE
04SYNC · ARCHIVE

What you archive is what actually happened.

/opsx:sync · /opsx:archive

Sync keeps openspec/specs/ current during a long change, Archive closes a finished one, Sync and archive does both — one button each, and every one a real /opsx:* run recorded like any other. Because you corrected the delta at the step boundary and not only the code, the spec you merge back describes the change you really shipped. Archiving ends nothing: the change moves to Archive in the tree, its history and agent log move with it, and when you merge the worktree the agent writes the commit and lands it in main — one more run in the same history.

SpecBuddy — spec explorer INTELLIJ IDEA VS CODE
openspec-native

Built around the way OpenSpec lays things out.

Your openspec/, your commands.

SpecBuddy runs the /opsx:* skills openspec init installed and keeps its own state out of your repo — run history and snapshots live in ~/.specbuddy. A teammate without the plugin sees a plain OpenSpec project.

Changes, main specs, archive — one tree.

The Spec Explorer lists active changes with their state on the row, then openspec/specs/ by capability, then the archive. Running agents sort to the top. You stop typing openspec list to find out where you are.

Every delta names the spec it targets.

The Cockpit’s Docs tab lists the change’s artifacts and each delta spec with the main spec it modifies — or marks it a new capability — and highlights the main specs this change touches.

Steps are your tasks.md groups.

No plan format to adopt. Each numbered group in tasks.md is a step, the agent ticks the boxes as it goes, and a group you edit after it ran is flagged outdated until you run it again.

History survives the archive.

Every /opsx:* run — propose, refine, each task group, sync, archive — is a revision with a snapshot before and after. Open the History tab a month later and diff what any of them did, the archive move included.

A second change gets its own worktree.

Start another change while one is still running and it checks out a worktree of its own, reviewed and merged on its own schedule.

How parallel changes work →
Read the full walkthrough: Improve your OpenSpec experience with SpecBuddy →
compatibility

Bring the agent you already use.

AGENTS

SpecBuddy talks to agents over the Agent Client Protocol. If your agent speaks ACP — and most do now — specs, plans, step execution and code review all work out of the box. No per-agent setup.

Claude Code
Codex
GitHub Copilot
Cursor CLI
opencode
Qwen Code
Kimi CLI
Cline
Mistral Vibe
Goose
+ 30 more via ACP
Full list at agentclientprotocol.com — every ACP agent gets the same first-class treatment.
download

Install it in your IDE.

GET

Free on the JetBrains Marketplace. The built-in Simplified flow runs in the project you already have; the OpenSpec workflow additionally wants the openspec CLI on your PATH and an initialised openspec/ directory.

JetBrains IDEs
AVAILABLE
IntelliJ IDEA · WebStorm · PyCharm · GoLand
Get on Marketplace
VS Code
SOON
Visual Studio Code
Get notified
Cursor
SOON
Cursor editor
Get notified
 FREE · JETBRAINS & VS CODE · FULL OPENSPEC SUPPORT

Stop babysitting the agent.

SpecBuddy is free. Install it, point it at your openspec/ directory, and run your next change one step at a time.

Or get product updates — new workflows, releases, guides.