Submit your capability to the Capacium Exchange automatically on release.
Add this to your release workflow:
name: Release
on:
release:
types: [published]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: Capacium/capacium-action-publish@v1
with:
github_url: ${{ github.event.repository.html_url }}The action submits your repository URL to the Capacium Exchange, where it is indexed and made discoverable via cap search and cap install.
| Input | Required | Default | Description |
|---|---|---|---|
github_url |
No | github.repository |
GitHub URL to submit |
registry_url |
No | https://api.capacium.xyz/v2 |
Exchange registry URL |
manifest_path |
No | capability.yaml |
Path to capability manifest (for validation) |
| Output | Description |
|---|---|
submitted |
true if the submission was accepted |
listing_name |
Canonical name (e.g. owner/skill-name) |
job_id |
Queue job ID for status tracking |
status |
pending, completed, failed, or duplicate |
- On
release.published, the action POSTs your repo URL toPOST /v2/submit - The Exchange validates the URL and enqueues a background job
- The queue worker clones your repo, extracts
capability.yamlorSKILL.mdfrontmatter - The capability is listed as
discoveredand available viacap search
| Validate | Publish | |
|---|---|---|
| Purpose | CI check (manifest valid?) | Release trigger (submit to Exchange) |
| When | Every push/PR | On release |
| Blocks CI | Yes (on error) | No (warns on failure) |
| Output | valid (bool) |
submitted + listing_name |
capability.yamlat repository rootSKILL.mdwith YAML frontmatter at repository root
name: Release
on:
push:
tags: ['v*']
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Capacium/capacium-action-validate@v1
publish:
needs: validate
runs-on: ubuntu-latest
steps:
- uses: Capacium/capacium-action-publish@v1MIT — see capacium for details.