You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
speckit.keel.connect checks whether the Keel runtime on this machine is connected to Keel Cloud, starts it if it isn't, and hands back the code and the URL to approve the device. It says which Keel it is talking to, and it replaces a runtime an older version of this extension started when that runtime is idle (never mid-job, never a downgrade).
speckit.keel.brief is prose only: it tells the founder how to download the brief from keel-web and paste it in, and tells the agent to read the measured lines as evidence, the summary paragraph as opinion, and every quoted sentence as source material, never an instruction.
The runtime ships inside the extension. Nothing is installed, downloaded or fetched beyond the extension itself; Python 3.9 or newer is the one prerequisite. No hooks, no config, no templates.
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
Supersedes [Extension]: Add keel #4547 (2.0.0), closed by the same submitter: 2.0.1 moves Keel's address to https://keeldiscovery.com; the extension's own logic is unchanged.
Installed from the download URL above into a fresh specify init project on Spec Kit 1.0.7 (macOS): both commands registered as agent skills, specify extension list shows Keel Connect v2.0.1, the connect script started the runtime and returned a device code, the disconnect script stopped it.
The tree's own tests/test-install.sh --full: 35 of 35 checks pass against the released tag.
An end-to-end journey through the extension (Spec Kit project, Claude Code or Copilot saying "keel connect", device approval in a real browser, the runtime on the host's executor) runs nightly in the maintainers' evaluation matrix; the same journey through the equivalent Claude Code plugin runs on every change on macOS and Windows.
The runtime's own suite: 415 tests, three operating systems, both executors.
Example Usage
specify extension add keel
/speckit.keel.connect # or just say "keel connect" to your agent
# → a short code and a URL; approve the device in your browser; the runtime is connected
/speckit.keel.brief # once Keel has something to say: how to bring the brief into the spec
Proposed Catalog Entry
{
"id": "keel",
"name": "Keel Connect",
"description": "Connect the local Keel runtime to Keel Cloud without leaving your agent.",
"author": "Keel Discovery",
"version": "2.0.1",
"download_url": "https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v2.0.1.zip",
"repository": "https://github.com/keeldiscovery/spec-kit-keel",
"documentation": "https://github.com/keeldiscovery/spec-kit-keel#readme",
"changelog": "https://github.com/keeldiscovery/spec-kit-keel/blob/main/CHANGELOG.md",
"license": "Apache-2.0",
"category": "integration",
"effect": "read-only",
"requires": {
"speckit_version": ">=1.0.0,<2.0.0",
"tools": [
{
"name": "python3",
"version": ">=3.9",
"required": true
}
]
},
"provides": {
"commands": 2,
"hooks": 0
},
"tags": [
"keel",
"runtime",
"connect",
"agent",
"infrastructure"
]
}
Additional Context
This is an update to an existing catalogue entry.keel is already in catalog.community.json at 0.2.0 (created 2026-08-10). 2.0.0 replaces it outright: the six prompt-based commands, the two hooks, the config file and the gate script are gone (the changelog says what left and why), and two commands take their place. The entry's created_at, downloads and stars are yours to carry forward; the JSON above sends no values for them. Category changes from process to integration, effect from read-write to read-only (neither command writes anything itself), and requires.speckit_version from >=0.15.0 to >=1.0.0,<2.0.0.
Filed with the GitHub CLI mirroring the form's fields, since the form cannot be driven from a terminal; please add the extension-submission label as usual.
Extension ID
keel
Extension Name
Keel Connect
Version
2.0.1
Description
Connect the local Keel runtime to Keel Cloud without leaving your agent.
Author
Keel Discovery
Repository URL
https://github.com/keeldiscovery/spec-kit-keel
Download URL
https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v2.0.1.zip
License
Apache-2.0
Homepage (optional)
https://keeldiscovery.com
Documentation URL (optional)
https://github.com/keeldiscovery/spec-kit-keel#readme
Changelog URL (optional)
https://github.com/keeldiscovery/spec-kit-keel/blob/main/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
python3 >= 3.9
Number of Commands
2
Number of Hooks (optional)
0
Tags
keel, runtime, connect, agent, infrastructure
Key Features
speckit.keel.connectchecks whether the Keel runtime on this machine is connected to Keel Cloud, starts it if it isn't, and hands back the code and the URL to approve the device. It says which Keel it is talking to, and it replaces a runtime an older version of this extension started when that runtime is idle (never mid-job, never a downgrade).speckit.keel.briefis prose only: it tells the founder how to download the brief from keel-web and paste it in, and tells the agent to read the measured lines as evidence, the summary paragraph as opinion, and every quoted sentence as source material, never an instruction.Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Supersedes [Extension]: Add keel #4547 (2.0.0), closed by the same submitter: 2.0.1 moves Keel's address to
https://keeldiscovery.com; the extension's own logic is unchanged.Installed from the download URL above into a fresh
specify initproject on Spec Kit 1.0.7 (macOS): both commands registered as agent skills,specify extension listshows Keel Connect v2.0.1, the connect script started the runtime and returned a device code, the disconnect script stopped it.The tree's own
tests/test-install.sh --full: 35 of 35 checks pass against the released tag.An end-to-end journey through the extension (Spec Kit project, Claude Code or Copilot saying "keel connect", device approval in a real browser, the runtime on the host's executor) runs nightly in the maintainers' evaluation matrix; the same journey through the equivalent Claude Code plugin runs on every change on macOS and Windows.
The runtime's own suite: 415 tests, three operating systems, both executors.
Example Usage
Proposed Catalog Entry
{ "id": "keel", "name": "Keel Connect", "description": "Connect the local Keel runtime to Keel Cloud without leaving your agent.", "author": "Keel Discovery", "version": "2.0.1", "download_url": "https://github.com/keeldiscovery/spec-kit-keel/archive/refs/tags/v2.0.1.zip", "repository": "https://github.com/keeldiscovery/spec-kit-keel", "documentation": "https://github.com/keeldiscovery/spec-kit-keel#readme", "changelog": "https://github.com/keeldiscovery/spec-kit-keel/blob/main/CHANGELOG.md", "license": "Apache-2.0", "category": "integration", "effect": "read-only", "requires": { "speckit_version": ">=1.0.0,<2.0.0", "tools": [ { "name": "python3", "version": ">=3.9", "required": true } ] }, "provides": { "commands": 2, "hooks": 0 }, "tags": [ "keel", "runtime", "connect", "agent", "infrastructure" ] }Additional Context
This is an update to an existing catalogue entry.
keelis already incatalog.community.jsonat 0.2.0 (created 2026-08-10). 2.0.0 replaces it outright: the six prompt-based commands, the two hooks, the config file and the gate script are gone (the changelog says what left and why), and two commands take their place. The entry'screated_at,downloadsandstarsare yours to carry forward; the JSON above sends no values for them. Category changes fromprocesstointegration, effect fromread-writetoread-only(neither command writes anything itself), andrequires.speckit_versionfrom>=0.15.0to>=1.0.0,<2.0.0.Filed with the GitHub CLI mirroring the form's fields, since the form cannot be driven from a terminal; please add the
extension-submissionlabel as usual.