Skip to content

Conversation

@JAORMX
Copy link
Contributor

@JAORMX JAORMX commented Jan 26, 2026

Summary

This RFC proposes adding Agent Skills support to the ToolHive Registry Server, enabling discovery and cataloging of Agent Skills through the existing registry infrastructure.

Key Decisions

  • Skills integrated into subregistries alongside MCP servers, leveraging existing abstractions
  • Upstream spec-compliant extension API using /v0.1/x/dev.toolhive/skills pattern
  • Support for both OCI and Git distribution methods with equal priority
  • Database schema with 4 new tables (skill, skill_package, skill_icon, latest_skill_version)
  • MVP scope focused on basic discovery; dependencies, metrics, and advanced search deferred

What's Included in MVP

  • Data model following the skills.json specification
  • 6 API endpoints for skill CRUD operations
  • Registry file format extension with optional skills array
  • Basic search (name/description substring matching)
  • System administrator curation

What's Explicitly Out of Scope

  • Skill-to-MCP server dependencies
  • Most-used/popularity metrics
  • Recommended skills per MCP server
  • Full-text search
  • Community curation
  • Namespace ownership verification

References


Note: After this PR is assigned a number, the RFC file should be renamed from THV-XXXX-skills-support-registry-server.md to THV-{PR_NUMBER}-skills-support-registry-server.md.

@JAORMX JAORMX force-pushed the rfc/skills-support-registry-server branch 5 times, most recently from 2acb02a to e36376b Compare January 26, 2026 08:45
Signed-off-by: Juan Antonio Osorio <ozz@stacklok.com>
@JAORMX JAORMX force-pushed the rfc/skills-support-registry-server branch from e36376b to 5ecc22c Compare January 26, 2026 08:47
@JAORMX JAORMX changed the title THV-XXXX: Skills Support in ToolHive Registry Server (MVP) THV-0029: Skills Support in ToolHive Registry Server (MVP) Jan 26, 2026
- Update diagram to show registry-scoped endpoint patterns
- Change version constraint from semver to any non-empty string
- Add note explaining version derivation from OCI tag/Git ref
- Make all API endpoints registry-scoped (/{regName}/v0.1/x/...)
- Document comma-separated IN filtering for status parameter

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Contributor

@blkt blkt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This proposal looks great, but it made me wonder if we want to have a "unified", per-registry endpoint that exposes minimal information for both MCP servers and Skills. It could be useful to expose or discover the complete set of tools available to the User without invoking multiple APIs separately.

@JAORMX
Copy link
Contributor Author

JAORMX commented Jan 27, 2026

This proposal looks great, but it made me wonder if we want to have a "unified", per-registry endpoint that exposes minimal information for both MCP servers and Skills. It could be useful to expose or discover the complete set of tools available to the User without invoking multiple APIs separately.

@blkt I think you raised a really good point. A Unified endpoint would be an ideal UX/DevEX since it's only one thing to care about that gives you all the data you might need.

@blkt
Copy link
Contributor

blkt commented Jan 27, 2026

This proposal looks great, but it made me wonder if we want to have a "unified", per-registry endpoint that exposes minimal information for both MCP servers and Skills. It could be useful to expose or discover the complete set of tools available to the User without invoking multiple APIs separately.

@blkt I think you raised a really good point. A Unified endpoint would be an ideal UX/DevEX since it's only one thing to care about that gives you all the data you might need.

I'd say we put this additional endpoint as well as a stretch goal, with the main caveat that changes to DB layer might take that into account as a desirable thing to achieve.

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.

3 participants