Tool is a JSON Structure definition published by Agent Skills, describing 5 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/agent-skills/refs/heads/main/json-structure/agent-skills-tool-structure.json",
"name": "Tool",
"description": "A skill definition for an AI agent including name, description, and input parameter schema.",
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type of tool (custom or provider built-in).",
"example": "function",
"enum": [
"function",
"web_search_20260209",
"code_execution_20260209",
"web_fetch_20260209",
"tool_search_20260209"
]
},
"name": {
"type": "string",
"description": "Unique name of the tool used to identify the invocation.",
"example": "get_weather"
},
"description": {
"type": "string",
"description": "Human-readable description of what the tool does, used by the model to decide when to call it.",
"example": "Get the current weather for a given location."
},
"input_schema": {
"type": "object",
"description": "JSON Schema defining the parameters the tool accepts.",
"properties": {
"type": {
"type": "string",
"example": "object"
},
"properties": {
"type": "object",
"description": "Map of parameter names to their schema definitions."
},
"required": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of required parameter names."
}
}
},
"strict": {
"type": "boolean",
"description": "When true, enforces strict JSON Schema compliance for tool call inputs.",
"example": false
}
},
"required": [
"name",
"description",
"input_schema"
]
}
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.