Agent Skills · JSON Structure

Agent Skills Tool Structure

A skill definition for an AI agent including name, description, and input parameter schema.

Type: object Properties: 5 Required: 3
Agent SkillsAI AgentsTool UseFunction CallingMCPAgentic AIAutomation

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.

Properties

type name description input_schema strict

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

agent-skills-tool-structure.json Raw ↑
{
  "$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"
  ]
}