What is a Skills manifest?
A Skills manifest (/skills.json) lists the specific actions agents can take on your service. While OpenAPI describes your full API, skills.json highlights the key actions with their auth requirements — a curated menu for agents.
Example
Serve at /skills.json:
[
{
"name": "search",
"description": "Search for items by keyword",
"method": "GET",
"path": "/api/search",
"auth": "none"
},
{
"name": "create",
"description": "Create a new item",
"method": "POST",
"path": "/api/items",
"auth": "x402"
},
{
"name": "analyze",
"description": "Run analysis on a dataset",
"method": "POST",
"path": "/api/analyze",
"auth": "x402",
"price": "$0.10"
}
]
Key fields per skill
- name: Short identifier for the action
- description: What the skill does — agents read this to decide when to use it
- method: HTTP method (GET, POST, etc.)
- path: The endpoint URL
- auth: Authentication required (
"none","x402","bearer", etc.)
Why skills.json vs OpenAPI?
OpenAPI is comprehensive but verbose. Skills.json is a curated subset — the actions you *want* agents to take, with clear auth info. Think of it as the "quick start" vs the full API reference.
Verification
agentgrade checks that:
name and path fieldsSpec maturity
Informal convention. No formal standard exists. Multiple platforms define their own skill manifest formats (Alexa, Copilot, etc.). The /skills.json format used here is a simple, framework-agnostic convention.