Skip to content

[Extension]: Add SpecKit Companion v0.20.2 (catalog update) #4221

Description

@alfredoperez

Extension ID

companion

Extension Name

SpecKit Companion

Version

0.20.2

Description

Live spec-driven progress for SpecKit Companion — lifecycle capture, status, resume, living specs, and composable commands you can customize with hooks and recipes.

Author

alfredoperez

Repository URL

https://github.com/alfredoperez/speckit-companion

Download URL

https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.20.2/companion-0.20.2.zip

License

MIT

Homepage (optional)

https://github.com/alfredoperez/speckit-companion/tree/main/speckit-extension

Documentation URL (optional)

https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/README.md

Changelog URL (optional)

https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/CHANGELOG.md

Required Spec Kit Version

=0.9.5

Required Tools (optional)

- `python3` (optional)

Number of Commands

18

Number of Hooks (optional)

4

Tags

vscode, progress, living-specs, drift, hooks

Key Features

  • Lifecycle capture — every spec-kit step records into a per-spec .spec-context.json with an append-only history, so a GUI or a teammate can see exactly where a spec stands without asking.
  • Status and resume — print the current step, status, recorded decisions, and next action; resume the pipeline from that point with those decisions back in scope.
  • Living specs (opt-in) — durable per-capability specs that load into context before drafting and fold back on completion, plus drift reporting, requirement-to-test coverage, a brownfield adoption wizard, and one-pass sync from your working tree.
  • Composable commands — every command is assembled from nodes; a project attaches shell commands, instructions, or reusable node files before or after any node without forking a command.
  • Hands-off runs — one command drives specify through mark-complete with no approval pauses, signalling checkpoint hooks to record and continue rather than wait.
  • Right-sized ceremony — a routing step classifies each change small, normal, or oversized and fast-tracks the small ones, defaulting to the full pipeline whenever the signals are weak.
  • Honest timing — every phase stamps a real start and end, and derived timings declare whether they were genuinely measured or journaled after the fact.
  • A terminal mark-complete step that stock spec-kit lacks, so a finished spec lands at completed instead of stopping at implemented.

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 25.6.0) with spec-kit CLI 0.12.16.dev0, from a genuinely fresh environment rather than a copied install.

Ran a real specify init into a clean sandbox, ran the constitution step before the extension was installed (no hooks registered yet, and the pre-execution check correctly stayed silent), then installed v0.20.2 from the published release archive. specify extension list reported SpecKit Companion v0.20.2 with 18 commands and 4 hooks, enabled.

Exercised the status flow in four states: no spec at all (degrades cleanly, exits 0 with a clear message), a captured specify step (reports source: state, current step, status, and the next action), and the derive-from-files fallback both before and after a task list exists.

Also dogfooded on this extension's own repository, and covered by 554 automated tests in the extension's test suite.

Example Usage

# Install (version-pinned)
specify extension add companion --from https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.20.2/companion-0.20.2.zip

# Run the pipeline; every step captures into .spec-context.json
/speckit.companion.specify Add priority levels to todos
/speckit.companion.plan
/speckit.companion.tasks
/speckit.companion.implement
/speckit.companion.mark-complete

# Or run the whole thing hands-off, no approval pauses
/speckit.companion.auto Add priority levels to todos

# See where any spec stands, and pick it back up
/speckit.companion.status
/speckit.companion.resume

Proposed Catalog Entry

{
  "companion": {
    "name": "SpecKit Companion",
    "id": "companion",
    "description": "Live spec-driven progress for SpecKit Companion — lifecycle capture, status, resume, living specs, and composable commands you can customize with hooks and recipes.",
    "author": "alfredoperez",
    "version": "0.20.2",
    "download_url": "https://github.com/alfredoperez/speckit-companion/releases/download/speckit-ext-v0.20.2/companion-0.20.2.zip",
    "repository": "https://github.com/alfredoperez/speckit-companion",
    "homepage": "https://github.com/alfredoperez/speckit-companion/tree/main/speckit-extension",
    "documentation": "https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/README.md",
    "changelog": "https://github.com/alfredoperez/speckit-companion/blob/main/speckit-extension/CHANGELOG.md",
    "license": "MIT",
    "category": "process",
    "effect": "read-write",
    "requires": {
      "speckit_version": ">=0.9.5",
      "tools": [
        {
          "name": "python3",
          "required": false
        }
      ]
    },
    "provides": {
      "commands": 18,
      "hooks": 4
    },
    "tags": [
      "vscode",
      "progress",
      "living-specs",
      "drift",
      "hooks"
    ],
    "verified": false,
    "downloads": 0,
    "stars": 0,
    "created_at": "2026-06-11T00:00:00Z",
    "updated_at": "2026-08-20T00:00:00Z"
  }
}

Additional Context

This is an update to an existing catalog entry, not a new listing. The entry is currently pinned at 0.11.0; we ship 0.20.2.

Filed as a submission issue per EXTENSION-PUBLISHING-GUIDE.md ("to update an extension that is already in the catalog, file a new [Extension Submission] issue"). This supersedes PR #3937, which I opened by mistake and which was closed with a pointer to this template — apologies for the noise, and thanks for the redirect.

Previous submission: #2926 (the original listing).

Changed since 0.11.0: version and download URL, provides.commands 13 → 18, requires.speckit_version re-synced from the manifest, a description that now mentions living specs, and a tag set trimmed to 5 that drops the near-duplicate status/resume pair and the vague configurable/extensible in favour of what the extension actually does. category is proposed to move visibilityprocess, since the extension now drives the pipeline (hands-off runs, right-sizing, living-spec folding) rather than only reporting on it — happy to leave it at visibility if you'd rather.

verified, downloads, stars, and created_at are carried through untouched.

Release: https://github.com/alfredoperez/speckit-companion/releases/tag/speckit-ext-v0.20.2

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