The Spec Explorer is the map of the project’s OpenSpec work. Open it from the left tool-window bar; it is where you start a change, see which one the agent is working on, and get back to a session’s log.
Sections
The tree has up to four top-level sections; a section that would be empty is not shown.
- Change Specs — every change under
openspec/changes/(except the archive). Changes with a live agent session sort to the top; the rest by how recently you worked on them, so the change you touched yesterday is above the one from last month. - Main Specs — the canonical specs in
openspec/specs/<capability>/spec.md, one row per capability. These are what a change’s deltas are merged into on sync. - Archive — changes under
openspec/changes/archive/. Read-only in the sense that SpecBuddy offers no actions on them, but their documents, logs and run history are all still there. - Agents — your configured agent profiles, and Connect Agent… to add one. Double-click a profile to open its settings. When the agent CLI reports remaining usage (Claude Code does), it is shown next to the name.
A change that is currently running as a plain agent session without a directory yet — the first seconds of a propose — appears as a transient top-level Agent session node until the change exists.
Reading a change row
▸ ◉ add-full-text-listing-search 3/7 Tasks ⎇ feature/add-full-text-listing-search
From left to right:
- Icon — the document icon, with a small badge for the session state:
- no badge — idle;
- working badge — the agent is running;
- awaiting-input badge — the agent asked something and is waiting for you;
- review badge — a run finished and its result waits for you (accented until you open the log or review, muted afterwards);
- interrupted / failed badges — the run stopped early; the same accented-until-viewed rule applies.
- Name — the change id, which is also its directory name.
- State badge — one of:
Draft— the directory exists but has no proposal yet;Spec— a proposal exists but notasks.mdyet;3/7 Tasks— how many##sections oftasks.mdare done;Running: ## 2. Search query,Review: …,Failed: …,Interrupted: …— while a session is live, what it is doing. The operation is the task heading, orpropose,refine,sync,archivefor document runs.
- ⎇ branch — shown when the change has a dedicated worktree; the branch it is on.
When the panel is narrow the worktree badge is dropped first, then the state badge is truncated — widen the tool window to see everything.
Expand the row to see the change directory’s actual contents — proposal.md, design.md, tasks.md, the specs/ deltas — and open any of them with a double-click. The list updates as the agent writes files, so a propose in progress visibly fills in.
Toolbar
- + — New Spec: a chooser between New OpenSpec Change and New SpecBuddy Spec (the plugin’s own plain-Markdown format, not covered here).
- Select Opened Spec — reveals the row for the document in the active editor. Handy when you have a worktree copy of a file open: it selects the change, not a duplicate.
- ⚙ — opens SpecBuddy’s settings; the menu also holds Reinstall Hooks and Skills, which reconciles the agent integration after an upgrade.
- Expand all / collapse all.
Context menu
Right-click a change:
- Show Agent Log — opens the change’s log tab: the live session if one is running, otherwise the last persisted log. Double-clicking a row with a live session does the same.
- Create Worktree — for a change that has no worktree yet: create one now rather than at the first task run.
- Open Worktree Window — opens the worktree as a second IDE window. You rarely need this; see Worktrees and git.
- Commit, Merge — the worktree git operations, same as the Cockpit’s.
- Remove Worktree — deletes the worktree and its branch checkout. Offered only when SpecBuddy considers it safe; the confirmation spells out that uncommitted, unmerged work in it is lost.
Empty state
With no changes and no specs the panel says so — No specs in specs/ or changes in openspec/changes/ — and the + button is the way forward. If the project has no openspec/ folder at all, see Install and set up.