Skip to content

RFC: Skills Lifecycle Management in ToolHive CLI#30

Merged
JAORMX merged 5 commits intomainfrom
rfc/skills-lifecycle-management
Feb 3, 2026
Merged

RFC: Skills Lifecycle Management in ToolHive CLI#30
JAORMX merged 5 commits intomainfrom
rfc/skills-lifecycle-management

Conversation

@JAORMX
Copy link
Contributor

@JAORMX JAORMX commented Jan 27, 2026

Summary

This RFC proposes adding skill lifecycle management capabilities to the ToolHive CLI (thv), enabling users to install, remove, list, and package Agent Skills as OCI artifacts.

Key Decisions

  • Dedicated thv skill command namespace - Avoids conflicts with existing MCP server commands
  • Extend pkg/client/ - Converge with existing client system rather than duplicating
  • Hybrid state storage - Per-skill .thv-skill.json + lightweight index file for fast queries
  • Groups integration - Skills belong to groups like MCP servers
  • Explicit client selection - Require --client flag (no default to avoid mistakes)

Commands

  • thv skill list - List installed skills (managed + unmanaged)
  • thv skill install <ref> - Install from OCI registry
  • thv skill uninstall <name> - Remove managed skill
  • thv skill info <name> - Show skill details
  • thv skill build <path> - Package as OCI artifact
  • thv skill push <ref> - Push to registry

Out of Scope (Post-MVP)

  • Auto-updates
  • Compound skills/workflows
  • Telemetry/audit (separate RFC needed)
  • Kubernetes operator integration

Related

  • Supersedes Skillet CLI (functionality ported into thv)
  • Complements THV-0029 (Skills Support in Registry Server)

🤖 Generated with Claude Code

Copy link

@amirejaz amirejaz left a comment

Choose a reason for hiding this comment

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

Overall looks good to me, added a small comment

amirejaz
amirejaz previously approved these changes Jan 28, 2026
jhrozek
jhrozek previously approved these changes Jan 28, 2026
Copy link
Contributor

@jhrozek jhrozek left a comment

Choose a reason for hiding this comment

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

I left some comments inline but overall this sounds like a good proposal

@lorr1
Copy link

lorr1 commented Jan 29, 2026

Overall I like it. I'm sure we'll change a lot over time, but this gets us wiggling! We'll start playing with it as soon as anything is remotely ready.

JAORMX and others added 5 commits January 29, 2026 08:04
This RFC proposes adding skill lifecycle management capabilities to
the ToolHive CLI (thv), enabling users to install, remove, list, and
package Agent Skills as OCI artifacts.

Key decisions:
- Dedicated `thv skill` command namespace
- Extend pkg/client/ for skills (convergence with MCP client system)
- Hybrid state storage (per-skill metadata + index file)
- Integration with groups system
- Require explicit --client selection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Address PR feedback: instead of modifying thv group list behavior,
add --group flag to existing thv skill list command for filtering
skills by group.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add -u/--upgrade flag to install command for skill upgrades
- Add thv skill validate command for pre-build validation
- Expand client support table with all Skillet clients (Claude, Codex, Copilot, OpenCode)
- Clarify OCI artifact format (not runnable containers, uses OCI for distribution)
- Explain deterministic packaging rationale for supply chain security
- Expand Alternative 5 rationale for requiring explicit --client selection
- Note that plugins cache is out of scope (managed by Claude's plugin system)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@JAORMX JAORMX dismissed stale reviews from jhrozek and amirejaz via f5e947b January 29, 2026 06:27
@JAORMX JAORMX force-pushed the rfc/skills-lifecycle-management branch from 34ea83c to f5e947b Compare January 29, 2026 06:27
@JAORMX JAORMX merged commit c9d9ecc into main Feb 3, 2026
1 check passed
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.

5 participants