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

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