Agent OS expects an optional skill store to expose a registry and skill content endpoints. If you run or use a store, it should follow this contract so the dashboard and POST /api/skills/install work correctly.
Example: GET https://your-store.example.com/api/sulalahub/registry
Response: JSON with a skills array. Each entry:
| Field | Description |
|---|---|
slug | Unique id (e.g. weather, news). Used to install: POST /api/skills/install with { "slug": "weather" }. |
name | Display name. |
description | Short description. |
version | Optional. Semver. |
url | Required. Full URL to fetch the skill content (e.g. Markdown or zip). Agent OS fetches from this URL when installing. Paid skills may require ?license=TOKEN. |
Example:
{
"skills": [
{
"slug": "weather",
"name": "Weather",
"description": "Current weather and forecast.",
"version": "1.0.0",
"url": "https://your-store.example.com/api/sulalahub/skills/weather"
}
]
}
When Agent OS installs a skill by slug, it fetches the content from the url in the registry. The response can be:
?license=TOKEN and return 401/403 without a valid token.Agent OS does not define the store’s submission, admin, or payment APIs; those belong to the store app. This page only describes the agent-facing registry and skill URL contract.