Skip to content

Skills API handlers #3744

@JAORMX

Description

@JAORMX

Description

Replace the 501 Not Implemented stubs in pkg/api/v1/skills.go with basic handlers that delegate to the SkillService for storage CRUD. This is the foundation that #3651 later extends with full OCI endpoints (validate, build, push).

Parent: #3741
Dependencies: #3742
Extended by: #3651 (adds full handler logic with OCI operations, richer filtering)

Acceptance Criteria

  • GET /api/v1beta/skills — list skills with optional ?scope= filter
  • POST /api/v1beta/skills/install — record skill installation (metadata only — OCI pull added by REST API skills handlers #3651)
  • POST /api/v1beta/skills/uninstall — uninstall skill
  • GET /api/v1beta/skills/{name} — get skill info
  • POST /api/v1beta/skills/validate — delegates to existing validator (already works)
  • POST /api/v1beta/skills/build, POST /api/v1beta/skills/push — return appropriate "not yet implemented" until REST API skills handlers #3651
  • Request body validation with appropriate error responses (400, 404, 409)
  • Consistent with existing handler patterns (JSON responses, error handler wrapper)
  • SPDX headers
  • API tests with mock SkillService

Code Pointers

  • pkg/api/v1/skills.go — existing 501 stubs and SkillsRouter
  • pkg/api/v1/groups.go — reference for handler patterns
  • pkg/api/v1/workloads.go — reference for query parameter handling

Size Estimate

~150 LOC code, 1 file (excluding tests)

Metadata

Metadata

Assignees

No one assigned

    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