Skip to content

SkillService implementation and integration #3741

@JAORMX

Description

@JAORMX

Description

Phase 1 of the SkillService: implement basic storage CRUD operations and wire into the HTTP server. This delivers a working end-to-end stack (service + API) using the SQLite storage from #3648, without waiting for OCI library, installer, or client metadata.

The existing epic tasks (#3650, #3651, #3652, #3653) then extend this foundation with OCI operations, full validation, HTTP client layer, and CLI commands.

RFC: RFC-0041: SQLite-Based State Management
Dependencies: #3648
Blocks: #3650 (extends service), #3651 (extends API)

Scope — What This Delivers

  • Basic SkillService implementation: CRUD against SkillStore (no OCI pull/push, no installer)
  • Server wiring: createDefaultManagers() creates store + service, sqlite.Close() on shutdown
  • Basic API handlers: list, get, install-record, uninstall endpoints backed by storage

Scope — What This Does NOT Deliver (handled by existing tasks)

Relationship to Existing Epic Tasks

#3648 (storage) → #3741 (this: basic service + API)
                      ├→ #3650 (extends service with OCI/installer)
                      └→ #3651 (extends API with full handlers)
                            └→ #3652 (HTTP client) → #3653 (CLI)

Code Pointers

  • pkg/skills/service.goSkillService interface
  • pkg/storage/interfaces.goSkillStore interface (from Skill state management #3648)
  • pkg/api/v1/skills.go — existing 501 stubs
  • pkg/api/server.goServerBuilder, createDefaultManagers(), shutdown path

Metadata

Metadata

Assignees

Labels

apiItems related to the APIenhancementNew feature or requestgoPull requests that update go codeskillsSkills lifecycle managementtoolhive-platformToolHive Platform team

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions