{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Agent Skill Tools Cache v2.0.0",
  "description": "Cache file for tool routing. Generated by /skill-refresh command using semantic AI categorization.",
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "Schema version (2.0.0 for semantic categorization)",
      "const": "2.0.0"
    },
    "generated_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when cache was generated"
    },
    "tool_count": {
      "type": "integer",
      "description": "Total number of tools indexed",
      "minimum": 0
    },
    "categories": {
      "type": "object",
      "description": "AI-generated categories for tool routing",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable category name"
          },
          "description": {
            "type": "string",
            "description": "One sentence describing what this category does"
          },
          "keywords": {
            "type": "array",
            "items": { "type": "string" },
            "description": "5-10 routing keywords for matching user requests",
            "minItems": 5,
            "maxItems": 10
          },
          "tools": {
            "type": "array",
            "items": { "type": "string" },
            "description": "List of tool IDs in this category"
          }
        },
        "required": ["name", "description", "keywords", "tools"]
      }
    },
    "tools": {
      "type": "object",
      "description": "Tool lookup map for O(1) access by tool ID",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Category ID this tool belongs to"
          },
          "description": {
            "type": "string",
            "description": "Tool description"
          }
        },
        "required": ["category", "description"]
      }
    }
  },
  "required": ["version", "generated_at", "tool_count", "categories", "tools"],
  "example": {
    "version": "2.0.0",
    "generated_at": "2026-01-27T03:00:00.000Z",
    "tool_count": 75,
    "categories": {
      "browser-automation": {
        "name": "Browser Automation",
        "description": "Web page interaction, screenshots, DOM manipulation, navigation",
        "keywords": ["screenshot", "click", "navigate", "page", "browser", "element", "form", "DOM"],
        "tools": [
          "MetaMCP_chrome-devtools__take_screenshot",
          "MetaMCP_chrome-devtools__click",
          "MetaMCP_chrome-devtools__fill",
          "MetaMCP_chrome-devtools__navigate_page"
        ]
      },
      "version-control": {
        "name": "Version Control",
        "description": "Git operations, pull requests, issues, code review",
        "keywords": ["PR", "pull request", "issue", "commit", "branch", "merge", "review", "git"],
        "tools": [
          "MetaMCP_github-zengaming__get_pull_request",
          "MetaMCP_github-zengaming__list_issues",
          "MetaMCP_github-zengaming__list_commits"
        ]
      },
      "documentation": {
        "name": "Documentation",
        "description": "Library documentation lookup and API references",
        "keywords": ["docs", "documentation", "library", "API", "reference", "example", "usage"],
        "tools": [
          "MetaMCP_context7__resolve-library-id",
          "MetaMCP_context7__query-docs"
        ]
      },
      "communication": {
        "name": "Communication",
        "description": "Messaging and notifications across platforms",
        "keywords": ["message", "send", "post", "channel", "notify", "chat", "slack"],
        "tools": [
          "slack_post_message",
          "slack_list_channels"
        ]
      }
    },
    "tools": {
      "MetaMCP_chrome-devtools__take_screenshot": {
        "category": "browser-automation",
        "description": "Take a screenshot of the page or element"
      },
      "MetaMCP_chrome-devtools__click": {
        "category": "browser-automation",
        "description": "Click on the provided element"
      },
      "MetaMCP_github-zengaming__get_pull_request": {
        "category": "version-control",
        "description": "Get details of a specific pull request"
      },
      "MetaMCP_context7__query-docs": {
        "category": "documentation",
        "description": "Query library documentation"
      },
      "slack_post_message": {
        "category": "communication",
        "description": "Post a message to a Slack channel"
      }
    }
  }
}
