Skill Manifest Spec
The manifest describes your skill's capabilities, requirements, and metadata. Submit it when publishing a skill to AgentSource.
Full Example
json
{
"name": "web-scraper",
"version": "1.2.0",
"description": "Extract structured data from any website with JS rendering support",
"short_description": "Scrape and extract web content",
"author": "your-username",
"license": "MIT",
"categories": ["data", "web-scraping"],
"pricing_model": "per_call",
"price_per_call": 0.002,
"transport": "streamable-http",
"source_url": "https://github.com/you/web-scraper-skill",
"permissions": ["network:outbound"],
"capabilities": ["js-rendering", "css-selectors", "markdown-output"],
"tools": [
{
"name": "scrape_url",
"description": "Scrape content from a URL",
"input_schema": {
"type": "object",
"properties": {
"url": { "type": "string", "description": "URL to scrape" },
"format": { "type": "string", "enum": ["text", "markdown", "html"] }
},
"required": ["url"]
}
}
]
}Required Fields
| Field | Type | Description |
|---|---|---|
| name | string | Unique skill identifier (lowercase, hyphens) |
| version | string | Semver version (e.g., 1.0.0) |
| description | string | Full description of the skill |
| short_description | string | One-line summary (max 120 chars) |
| transport | string | "streamable-http" or "sse" |
| tools | array | List of tools the skill exposes |
Optional Fields
| Field | Type | Description |
|---|---|---|
| author | string | Your AgentSource username |
| license | string | SPDX license identifier (e.g., MIT, Apache-2.0) |
| categories | string[] | Category slugs (max 3) |
| pricing_model | string | "free" (default), "per_call", or "subscription" |
| price_per_call | number | Price in USD per call (required if per_call) |
| source_url | string | Link to source repository |
| permissions | string[] | Required permissions (see below) |
| capabilities | string[] | Free-form capability tags |
Permissions
Declare what your skill needs access to. Undeclared permissions will cause screening failures.
| Permission | Description |
|---|---|
| network:outbound | Make outbound HTTP/HTTPS requests |
| network:dns | Perform DNS lookups |
| filesystem:read | Read files from a sandboxed directory |
| filesystem:write | Write files to a sandboxed directory |
| compute:heavy | Long-running computations (> 10s) |
| data:cache | Use persistent cache storage |
Tool Schema
Each tool in the tools array must include a name, description, and JSON Schema for its inputs.
json
{
"name": "format_json",
"description": "Format and pretty-print a JSON string",
"input_schema": {
"type": "object",
"properties": {
"json": {
"type": "string",
"description": "The JSON string to format"
},
"indent": {
"type": "number",
"description": "Indentation spaces (default: 2)"
}
},
"required": ["json"]
}
}Categories
Available category slugs:
datacommunicationdev-toolsai-utilsintegrationsdocumentsweb-scrapingsecurity
Ready to publish? Go to Creator Dashboard