Skills API
Installed skills — the tool-providing units competencies depend on. Fully live.
Endpoints
| Method | Path | Action | Description |
|---|---|---|---|
| GET | /skills | AgentList | List installed skills (excludes platform-bundled ones) |
| POST | /skills/install | SkillInstall | Install a skill from a local path |
| GET | /skills/{id} | AgentList | Get skill detail |
There is no dedicated SkillRead action — list/detail are gated on the same broadly-readable AgentList action as most other read endpoints. SkillInstall is admin/operator/developer.
GET /skills
curl -H "Api-Version: v1" -H "Authorization: Bearer hzn_sk_..." \
http://localhost:4200/skills
Response (200) — SkillInfo[]
{
"skills": [
{
"id": "postgresql-connector",
"name": "PostgreSQL Connector",
"version": "2.1.0",
"tools": ["query", "list_tables", "describe_table", "execute"],
"runtime": "Wasm",
"bundled": false
}
]
}
Platform-bundled (compile-time embedded) skills are filtered out of this list entirely (bundled: true skills never appear here).
POST /skills/install
curl -X POST -H "Api-Version: v1" -H "Authorization: Bearer hzn_sk_..." \
-H "Content-Type: application/json" \
-d '{"path": "/opt/hoziron/packages/custom-tool"}' \
http://localhost:4200/skills/install
Response (201)
{"id": "custom-tool"}
GET /skills/{id}
Response (200) — SkillDetail
{
"id": "postgresql-connector",
"name": "PostgreSQL Connector",
"version": "2.1.0",
"description": "PostgreSQL database query and schema tools",
"tools": [
{
"name": "query",
"description": "Execute a read-only SQL query",
"input_schema": {"type": "object", "properties": {"sql": {"type": "string"}}}
}
],
"runtime": "Wasm",
"requirements": {}
}
Note tools here is an array of full tool definitions ({name, description, input_schema}), not just an array of tool-name strings as the summary GET /skills response's tools field is.
Related
- competencies.md — the skill dependencies a competency declares
- catalog.md — installing skill packages from a registry