Skip to content

[Extension]: Update adrkit to 0.1.5 — widen Spec Kit compatibility to >=0.13.0,<1.2.0 (current entry refuses 1.1.x) #4915

Closed

Description

@mbeacom

This is an update to an existing catalog entry, not a new submission, per the Publishing Guide ("Updating an Existing Extension"). adrkit is listed at 0.1.4, whose entry declares speckit_version: >=0.13.0,<1.1.0. That manifest refuses to install on every 1.1.x release, so catalog users on current Spec Kit can't install it. 0.1.5 widens the range after re-verifying against 1.1.0–1.1.3.

Extension ID

adrkit

Extension Name

adrkit — decision memory for spec-driven development

Version

0.1.5 (previously listed: 0.1.4)

Description

Pulls the decisions governing this work into agent context, checks produced plans against them, and drafts an ADR from a plan artifact.

Author

Mark Beacom (@mbeacom)

Repository URL

https://github.com/mbeacom/adrkit

Download URL

https://github.com/mbeacom/adrkit/releases/download/spec-kit-v0.1.5/adrkit.zip

(Returns 200, and extension.yml is at the archive root. The URL listed now points at the spec-kit-v0.1.4 asset.)

License

Apache-2.0

Homepage

https://adrkit.dev

Documentation URL

https://github.com/mbeacom/adrkit/blob/main/packages/adapters/spec-kit/README.md

Changelog URL

https://github.com/mbeacom/adrkit/blob/main/CHANGELOG.md

Required Spec Kit Version

>=0.13.0,<1.2.0. This is the substantive change (it was >=0.13.0,<1.1.0).

Required Tools

  • adr (>=0.3.0), required. Install it with npm install -g @adrkit/cli, install it locally in the project, or point ADRKIT_CLI at its entry point.

Number of Commands

3

Number of Hooks

1 (after_plan, optional: true: it asks rather than firing automatically)

Tags

adr, governance, decision-records, architecture, compliance

Key Features

  • Retrieve the decisions governing the current work before planning against them (read-only)
  • Check a produced plan against the governing decision corpus (read-only)
  • Draft one new ADR from the current plan artifact; this is the only command that writes
  • An optional after_plan hook that offers the check rather than taking over the plan loop
  • Path-aware governance, including inbound @adr markers declared in source files

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

As with 0.1.4, I re-verified the wider range against each release instead of assuming it held:

Check Result
The listed 0.1.4 against 1.1.0 and 1.1.3, copilot and claude, both --from the release zip and --dev all eight runs exit 1 with Compatibility Error: Extension requires spec-kit >=0.13.0,<1.1.0, but 1.1.3 is installed.
extensions/EXTENSION-API-REFERENCE.md, v0.16.5 → v1.1.3 byte-identical through v1.1.2; v1.1.3 adds only the bundled bug extension's hook events
Extension loader, v1.0.13 → v1.1.3 no change to speckit_version/SpecifierSet handling or .extensionignore; it adds transactional install rollback
0.1.5 via --dev, --from the zip, and init --extension on 1.1.0, 1.1.1, 1.1.2, 1.1.3 (copilot), and on 1.1.0 and 1.1.3 (claude) exit 0 in every combination; 3 skills registered; after_plan recorded optional: true

1.1.0 is not on PyPI, so I ran it from the v1.1.0 git tag.

Install of this exact published asset on macOS with Spec Kit 1.1.3 from PyPI, under both --integration copilot and --integration claude:

specify extension add adrkit --from https://github.com/mbeacom/adrkit/releases/download/spec-kit-v0.1.5/adrkit.zip
→ exit 0 (after answering the untrusted-source prompt)

The installed tree contained exactly LICENSE, NOTICE, README.md, commands/, extension.yml and scripts/. Skills rendered at .github/skills/speckit-adrkit-{context,check,draft} under Copilot and at .claude/skills/speckit-adrkit-{context,check,draft} under Claude. .specify/extensions.yml recorded the hook against speckit.adrkit.check with optional: true. The generated speckit-plan skill still tells the agent to map the dotted hook command to the hyphenated skill name.

I ran the commands with @adrkit/cli 0.18.0 against a fixture ADR corpus, from the installed location on 1.1.0 and 1.1.3:

  • scripts/context.sh with no arguments (queue projection): exit 0, valid JSON
  • scripts/context.sh <path> (governing decisions for a path): exit 0, valid JSON
  • scripts/check.sh: exit 0

Scope: draft is the one command that writes, and it refuses to run without a plan artifact. I didn't do a completed write in this round; it has been exercised end to end in the project's reference-verification repository. The "no security vulnerabilities" box rests on three things, not on an external audit: the package declares zero dependencies (a packaging test enforces this), it ships only POSIX sh scripts and Markdown, and a test asserts the writing command is unreachable from any hook.

Example Usage

Under the Copilot and Claude integrations, Spec Kit registers the commands as skills, so the hyphenated names are what users type:

# Pull the decisions governing this work into context, before planning against them
/speckit-adrkit-context

# Check a produced plan against the decision corpus
/speckit-adrkit-check

# Draft one ADR from the current plan artifact
/speckit-adrkit-draft

After /speckit-plan, the optional after_plan hook offers: "Check this plan against the decisions that govern it?"

Proposed Catalog Entry

{
  "name": "adrkit — decision memory for spec-driven development",
  "id": "adrkit",
  "description": "Pulls the decisions governing this work into agent context, checks produced plans against them, and drafts an ADR from a plan artifact.",
  "author": "Mark Beacom (@mbeacom)",
  "version": "0.1.5",
  "download_url": "https://github.com/mbeacom/adrkit/releases/download/spec-kit-v0.1.5/adrkit.zip",
  "repository": "https://github.com/mbeacom/adrkit",
  "homepage": "https://adrkit.dev",
  "documentation": "https://github.com/mbeacom/adrkit/blob/main/packages/adapters/spec-kit/README.md",
  "changelog": "https://github.com/mbeacom/adrkit/blob/main/CHANGELOG.md",
  "license": "Apache-2.0",
  "category": "process",
  "effect": "read-write",
  "requires": {
    "speckit_version": ">=0.13.0,<1.2.0",
    "tools": [
      {
        "name": "adr",
        "version": ">=0.3.0",
        "required": true
      }
    ]
  },
  "provides": {
    "commands": 3,
    "hooks": 1
  },
  "tags": [
    "adr",
    "governance",
    "decision-records",
    "architecture",
    "compliance"
  ],
  "verified": false,
  "downloads": 0,
  "stars": 0,
  "created_at": "2026-08-03T00:00:00Z",
  "updated_at": "2026-10-10T00:00:00Z"
}

Only four fields change from the current entry: version, download_url, requires.speckit_version and updated_at. created_at, verified, downloads and stars are kept as listed.

Additional Context

As before, the upper bound is a verification boundary declared at minor granularity. <1.2.0 means "verified through the 1.1 line". 1.2.0 is where the extension fails loudly and I owe another re-verification.

0.1.5 also ships a corrected README: the 0.1.4 README told users to run specify extension add adrkit, which the discovery-only catalog rejects. It now gives the --from <release zip> form.

I'm happy to adjust any field to match catalog conventions.

Activity

  1. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

    cc @github/spec-kit-maintainers — new catalog submission for review.

  2. added a commit that references this issue on Oct 12, 2026
    1cf7c8d
  3. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

    Issue created: #4926

    Generated by Add Community Extension from Issue Submission · copilot · gpt52codex · 3.11 AIC · ⌖ 0.676 AIC · ⊞ 25K

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