Agent Skills · Schema
Tool
A skill definition for an AI agent including name, description, and input parameter schema.
Agent SkillsAI AgentsTool UseFunction CallingMCPAgentic AIAutomation
Properties
| Name | Type | Description |
|---|---|---|
| type | string | The type of tool (custom or provider built-in). |
| name | string | Unique name of the tool used to identify the invocation. |
| description | string | Human-readable description of what the tool does, used by the model to decide when to call it. |
| input_schema | object | JSON Schema defining the parameters the tool accepts. |
| strict | boolean | When true, enforces strict JSON Schema compliance for tool call inputs. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/agent-skills/refs/heads/main/json-schema/agent-skills-tool-schema.json",
"title": "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"]
}