Skip to content

feat(skills): add version pinning for agent skills (#314)#376

Open
Peolite001 wants to merge 1 commit into
Bitcoindefi:mainfrom
Peolite001:feature/314-skill-versioning
Open

feat(skills): add version pinning for agent skills (#314)#376
Peolite001 wants to merge 1 commit into
Bitcoindefi:mainfrom
Peolite001:feature/314-skill-versioning

Conversation

@Peolite001

@Peolite001 Peolite001 commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds explicit version tracking for agent skills. Skills can now be registered with a semver version, invoked with a pinned version, and listed with all available versions. Prevents silent breaking changes when a skill is updated.

Closes #314

Changes

  • Register: POST /api/skills/register accepts optional version field (defaults to "1.0.0"). Duplicate id + version returns 409 Conflict.
  • Invoke: POST /api/skills/:id/invoke?version=1.2.0 pins to exact version. Omitting version falls back to latest.
  • List: GET /api/skills returns versions array per skill with all semver strings and latest pointer.
  • Storage: Key changed from skillId to skillId@version. Latest pointer stored separately as latest:skillId.

API Examples

# Register v1.2.0
curl -X POST /api/skills/register \
  -d '{"skillId":"translate","version":"1.2.0","handler":"lib/skills/translate@v1.2.0"}'

# Invoke pinned version
curl -X POST '/api/skills/translate/invoke?version=1.2.0'

# Invoke latest (fallback)
curl -X POST /api/skills/translate/invoke

# List all skills with versions
curl /api/skills
# → { "skills": [{ "skillId": "translate", "versions": ["1.0.0","1.2.0"], "latest": "1.2.0" }] }

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent skill versioning: support multiple versions of the same skill

1 participant