Skip to content

[Extension]: Add SpecKit Companion v0.24.0 (catalog update) #4857

Description

@alfredoperez

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)

- `python3` (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

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified
  • Tested on at least one real project

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag
  • All command files exist and are properly formatted
  • Extension ID follows naming conventions (lowercase-with-hyphens)

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

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions