Extension ID
companion
Extension Name
SpecKit Companion
Version
0.24.0
Description
Records your spec-kit runs live: status, resume, and a health check for what actually happened.
Author
alfredoperez
Repository URL
https://github.com/alfredoperez/speckit-companion
Download URL
https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.24.0/companion-0.24.0.zip
License
MIT
Homepage (optional)
https://github.com/alfredoperez/speckit-companion/tree/main/apps/speckit-extension
Documentation URL (optional)
https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/README.md
Changelog URL (optional)
https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/CHANGELOG.md
Required Spec Kit Version
=0.9.5
Required Tools (optional)
Number of Commands
23
Number of Hooks (optional)
6
Tags
vscode, progress, living-specs, drift, hooks
Key Features
- A run record for every step — each spec-kit step writes its start and finish into a per-spec
.spec-context.json, now including Spec Kit's converge step, so status, resume and the VS Code viewer all read the same history.
- A health check for a finished run —
/speckit.companion.doctor reports unfinished steps, a step that closed without the file it promised or without running any checks, steps that did each other's work, and why a spec did not reach completed. It is read-only and never halts a run.
- Living specs (opt-in) — durable per-capability specs that load before drafting and fold back on completion. New since the last listing: a shape check (
living-validate), reading one requirement without opening the file (living-show), and an adoption wizard that checks its own drafts before reporting.
- A pipeline a project can reshape —
.specify/companion.yml can attach hooks to a step, a phase or a single node, replace a node with the project's own wording, add a step, and keep several named workflows. Two starting configurations ship: Classic spec-kit and Brownfield.
- Implement that splits the work — where the host has subagents, each user story goes to its own worker, and a large shared foundation is built by several. Hands-off
auto runs use the same split.
Testing Checklist
Submission Requirements
Testing Details
Verified on macOS (Darwin 27.0.0) with spec-kit CLI 1.0.10.dev0, in a fresh directory rather than a copied install.
Ran specify init --here --integration claude into an empty git repository, then installed v0.24.0 from the published release archive with specify extension add companion --from <pinned URL>. specify extension list reported SpecKit Companion v0.24.0 with 23 commands and 6 hooks, enabled, and 23 speckit-companion-* skills were written for Claude.
Exercised the installed scripts directly: status with no spec at all (prints a clear message and exits 0), a specify capture into a new spec folder (writes .spec-context.json), status against that spec (reports source: state, the current step, the status and the next action), and the doctor against the same spec (prints its report and exits 0).
The extension's own test suite passes at this version: 1545 passed, 8 skipped. The extension is also used on its own repository.
Example Usage
# Install (version-pinned)
specify extension add companion --from https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.24.0/companion-0.24.0.zip
# Run the pipeline; every step records into .spec-context.json
/speckit.companion.specify Add priority levels to todos
/speckit.companion.plan
/speckit.companion.tasks
/speckit.companion.implement
# Or run the whole thing hands-off, no approval pauses
/speckit.companion.auto Add priority levels to todos
# See where a spec stands, pick it back up, and check what the run actually did
/speckit.companion.status
/speckit.companion.resume
/speckit.companion.doctor
Proposed Catalog Entry
{
"companion": {
"name": "SpecKit Companion",
"id": "companion",
"description": "Records your spec-kit runs live: status, resume, and a health check for what actually happened.",
"author": "alfredoperez",
"version": "0.24.0",
"download_url": "https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.24.0/companion-0.24.0.zip",
"repository": "https://github.com/alfredoperez/speckit-companion",
"homepage": "https://github.com/alfredoperez/speckit-companion/tree/main/apps/speckit-extension",
"documentation": "https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/README.md",
"changelog": "https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/CHANGELOG.md",
"license": "MIT",
"category": "process",
"effect": "read-write",
"requires": {
"speckit_version": ">=0.9.5",
"tools": [
{
"name": "python3",
"required": false
}
]
},
"provides": {
"commands": 23,
"hooks": 6
},
"tags": [
"vscode",
"progress",
"living-specs",
"drift",
"hooks"
],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-06-11T00:00:00Z",
"updated_at": "2026-10-06T00:00:00Z"
}
}
Additional Context
This is an update to an existing catalog entry, not a new listing. The entry is currently pinned at 0.20.2; we ship 0.24.0.
Previous submission: #4221 (the 0.20.2 update). Original listing: #2926.
Changed since 0.20.2:
version and download_url, pinned to the speckit-ext-v0.24.0 release asset.
provides.commands 18 → 23 (doctor, living-show, living-validate, before-converge, after-converge) and provides.hooks 4 → 6 (before_converge, after_converge).
homepage, documentation and changelog now point under apps/speckit-extension/. The extension folder moved inside the repository; the three URLs in the current entry now land on a short "moved" page that points here.
description re-synced from the manifest, which now leads with what the extension does for a run.
requires, tags, category and effect are unchanged. verified, downloads, stars and created_at are carried through untouched.
Release: https://github.com/alfredoperez/speckit-companion/releases/tag/speckit-ext-v0.24.0
Extension ID
companion
Extension Name
SpecKit Companion
Version
0.24.0
Description
Records your spec-kit runs live: status, resume, and a health check for what actually happened.
Author
alfredoperez
Repository URL
https://github.com/alfredoperez/speckit-companion
Download URL
https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.24.0/companion-0.24.0.zip
License
MIT
Homepage (optional)
https://github.com/alfredoperez/speckit-companion/tree/main/apps/speckit-extension
Documentation URL (optional)
https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/README.md
Changelog URL (optional)
https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
Number of Commands
23
Number of Hooks (optional)
6
Tags
vscode, progress, living-specs, drift, hooks
Key Features
.spec-context.json, now including Spec Kit's converge step, so status, resume and the VS Code viewer all read the same history./speckit.companion.doctorreports unfinished steps, a step that closed without the file it promised or without running any checks, steps that did each other's work, and why a spec did not reachcompleted. It is read-only and never halts a run.living-validate), reading one requirement without opening the file (living-show), and an adoption wizard that checks its own drafts before reporting..specify/companion.ymlcan attach hooks to a step, a phase or a single node, replace a node with the project's own wording, add a step, and keep several named workflows. Two starting configurations ship: Classic spec-kit and Brownfield.autoruns use the same split.Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Verified on macOS (Darwin 27.0.0) with spec-kit CLI 1.0.10.dev0, in a fresh directory rather than a copied install.
Ran
specify init --here --integration claudeinto an empty git repository, then installed v0.24.0 from the published release archive withspecify extension add companion --from <pinned URL>.specify extension listreported SpecKit Companion v0.24.0 with 23 commands and 6 hooks, enabled, and 23speckit-companion-*skills were written for Claude.Exercised the installed scripts directly: status with no spec at all (prints a clear message and exits 0), a specify capture into a new spec folder (writes
.spec-context.json), status against that spec (reportssource: state, the current step, the status and the next action), and the doctor against the same spec (prints its report and exits 0).The extension's own test suite passes at this version: 1545 passed, 8 skipped. The extension is also used on its own repository.
Example Usage
Proposed Catalog Entry
{ "companion": { "name": "SpecKit Companion", "id": "companion", "description": "Records your spec-kit runs live: status, resume, and a health check for what actually happened.", "author": "alfredoperez", "version": "0.24.0", "download_url": "https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.24.0/companion-0.24.0.zip", "repository": "https://github.com/alfredoperez/speckit-companion", "homepage": "https://github.com/alfredoperez/speckit-companion/tree/main/apps/speckit-extension", "documentation": "https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/README.md", "changelog": "https://github.com/alfredoperez/speckit-companion/blob/main/apps/speckit-extension/CHANGELOG.md", "license": "MIT", "category": "process", "effect": "read-write", "requires": { "speckit_version": ">=0.9.5", "tools": [ { "name": "python3", "required": false } ] }, "provides": { "commands": 23, "hooks": 6 }, "tags": [ "vscode", "progress", "living-specs", "drift", "hooks" ], "verified": false, "downloads": 0, "stars": 0, "created_at": "2026-06-11T00:00:00Z", "updated_at": "2026-10-06T00:00:00Z" } }Additional Context
This is an update to an existing catalog entry, not a new listing. The entry is currently pinned at
0.20.2; we ship0.24.0.Previous submission: #4221 (the 0.20.2 update). Original listing: #2926.
Changed since
0.20.2:versionanddownload_url, pinned to thespeckit-ext-v0.24.0release asset.provides.commands18 → 23 (doctor,living-show,living-validate,before-converge,after-converge) andprovides.hooks4 → 6 (before_converge,after_converge).homepage,documentationandchangelognow point underapps/speckit-extension/. The extension folder moved inside the repository; the three URLs in the current entry now land on a short "moved" page that points here.descriptionre-synced from the manifest, which now leads with what the extension does for a run.requires,tags,categoryandeffectare unchanged.verified,downloads,starsandcreated_atare carried through untouched.Release: https://github.com/alfredoperez/speckit-companion/releases/tag/speckit-ext-v0.24.0