Skip to content

[Extension]: Update Reconcile extension to v1.2.1 #4279

Description

@stn1slv

Extension ID

reconcile

Extension Name

Reconcile Extension

Version

1.2.1

Description

Reconcile implementation drift by surgically updating the feature's own spec, plan, and tasks.

Author

Stanislav Deviatov

Repository URL

https://github.com/stn1slv/spec-kit-reconcile

Download URL

https://github.com/stn1slv/spec-kit-reconcile/archive/refs/tags/v1.2.1.zip

License

MIT

Homepage (optional)

https://github.com/stn1slv/spec-kit-reconcile

Documentation URL (optional)

https://github.com/stn1slv/spec-kit-reconcile/blob/main/README.md

Changelog URL (optional)

https://github.com/stn1slv/spec-kit-reconcile/blob/main/CHANGELOG.md

Required Spec Kit Version

=0.16.2

Number of Commands

1

Number of Hooks (optional)

2

Tags

reconcile, drift, tasks, remediation

Key Features

This updates the existing reconcile entry, which currently pins v1.1.0. Three catalog fields change besides the version and the download URL: requires.speckit_version moves from >=0.1.0 to >=0.16.2, and provides.hooks moves from 0 to 2.

The version floor is not a precaution. The command resolves templates through the override stack that shipped in 0.16.2, so on an older CLI it would read the base template and ignore any preset layered over it. The previous >=0.1.0 was inaccurate.

What the extension does: you describe what drifted after a feature shipped, in plain language, and it amends that feature's own spec.md and plan.md in the sections the drift actually reaches, then appends remediation tasks to tasks.md. It is the mirror of /speckit.converge. Converge treats the artifacts as true and finds unbuilt work; this treats the shipped code as true and updates the artifacts. It never writes into a ## Phase N: Convergence section, so the outputs of the two stay separable.

v1.2.1 is primarily a compatibility release. The command previously hard-coded literal /speckit.* invocations, which are wrong on any agent using the skills layout, including Claude Code and Copilot. All such references are now agent-neutral __SPECKIT_COMMAND_*__ tokens. It also adds a .extensionignore, so the installed tree no longer carries the test fixture into the user's project.

Optional sha256 of the release archive: ba990aeb3c3f9c34d468200869e52a8962fe691351596303b9240ed620cd6e55

Testing Checklist

  • Extension installs successfully via download URL
  • All commands execute without errors
  • Documentation is complete and accurate
  • No security vulnerabilities identified

Submission Requirements

  • Valid extension.yml manifest included
  • README.md with installation and usage instructions
  • LICENSE file included
  • GitHub release created with version tag

Testing Details

Installed from the download URL above into a fresh specify init project on Claude Code, and separately on Copilot, Codex, Kimi and Junie, across the sh and py script runtimes. The rendered command carries no unresolved __SPECKIT_COMMAND_* tokens and no unrewritten relative paths, both hooks register on after_implement and after_converge, and the installed tree contains only the extension.

The extension is a prompt, so its behaviour is tested by executing it against a fixture project of deliberate traps, with expectations committed before the round that grades them. Two rounds ran against this release: 19 cases covering every registered case, then 8 re-run after later rule changes. Results are recorded in tests/fixture/, including the findings left open rather than fixed.

The extension executes no code of its own. It reads artifacts and calls the check-prerequisites.sh script that Spec Kit already ships.

Example Usage

/speckit.reconcile.run specs/007-invoice-settings Backend exists, but the React screen is unreachable; need sidebar link and route

Proposed Catalog Entry

{
  "name": "Reconcile Extension",
  "id": "reconcile",
  "description": "Reconcile implementation drift by surgically updating the feature's own spec, plan, and tasks.",
  "author": "Stanislav Deviatov",
  "version": "1.2.1",
  "download_url": "https://github.com/stn1slv/spec-kit-reconcile/archive/refs/tags/v1.2.1.zip",
  "repository": "https://github.com/stn1slv/spec-kit-reconcile",
  "homepage": "https://github.com/stn1slv/spec-kit-reconcile",
  "documentation": "https://github.com/stn1slv/spec-kit-reconcile/blob/main/README.md",
  "changelog": "https://github.com/stn1slv/spec-kit-reconcile/blob/main/CHANGELOG.md",
  "license": "MIT",
  "category": "docs",
  "effect": "read-write",
  "sha256": "ba990aeb3c3f9c34d468200869e52a8962fe691351596303b9240ed620cd6e55",
  "requires": {
    "speckit_version": ">=0.16.2"
  },
  "provides": {
    "commands": 1,
    "hooks": 2
  },
  "tags": [
    "reconcile",
    "drift",
    "tasks",
    "remediation"
  ],
  "verified": false,
  "downloads": 0,
  "stars": 0,
  "created_at": "2026-03-14T00:00:00Z",
  "updated_at": "2026-08-22T00:00:00Z"
}

Additional Context

This is an update to an existing catalog entry rather than a new extension, filed as a fresh submission issue per the Extension Publishing Guide.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions