{
  "specVersion": "1.0",
  "host": {
    "displayName": "Undercut",
    "identifier": "getundercut.sh"
  },
  "entries": [
    {
      "identifier": "urn:air:getundercut.sh:skill:tiered-dispatch",
      "displayName": "Undercut — tiered dispatch",
      "type": "text/markdown",
      "url": "https://raw.githubusercontent.com/undercutsh/firstpass/main/skills/firstpass/SKILL.md",
      "description": "A six-flag rubric and escalation ladder that a coding agent follows at dispatch time to route each unit of work to the cheapest model tier that passes objective verification. Free, MIT licensed. Install with `npx skills add undercutsh/firstpass`.",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/",
          "repository": "https://github.com/undercutsh/firstpass",
          "contact": "https://raw.githubusercontent.com/undercutsh/firstpass/main/site/humans.txt"
        },
        "attestations": ["MIT licensed", "source open on GitHub", "benchmark methodology public at github.com/undercutsh/firstpass/tree/main/testing"]
      }
    },
    {
      "identifier": "urn:air:getundercut.sh:repo:firstpass",
      "displayName": "undercutsh/firstpass (source)",
      "type": "text/html",
      "url": "https://github.com/undercutsh/firstpass",
      "description": "Source repository: the skill, the vendor-constant deterministic eval harness (evals/), and the raw public benchmark results (testing/).",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/",
          "repository": "https://github.com/undercutsh/firstpass"
        }
      }
    },
    {
      "identifier": "urn:air:getundercut.sh:index:llms-txt",
      "displayName": "llms.txt",
      "type": "text/plain",
      "url": "https://getundercut.sh/llms.txt",
      "description": "Agent-facing navigation index: what Undercut is, when to use it, benchmark summary, and links to docs.",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/"
        }
      }
    },
    {
      "identifier": "urn:air:getundercut.sh:api:openapi",
      "displayName": "Undercut public data API (OpenAPI 3.1)",
      "type": "application/vnd.oai.openapi+json",
      "url": "https://getundercut.sh/openapi.json",
      "description": "OpenAPI 3.1 description of Undercut's read-only public JSON API. Every operation is an unauthenticated GET; there are no write endpoints and no auth flow.",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/",
          "repository": "https://github.com/undercutsh/firstpass"
        },
        "attestations": ["MIT licensed", "source open on GitHub", "CI checks every documented path against its handler and every handler's real response against its documented schema (scripts/validate-openapi.js)"]
      }
    },
    {
      "identifier": "urn:air:getundercut.sh:api:public-data",
      "displayName": "Undercut public data API",
      "type": "application/json",
      "url": "https://getundercut.sh/api/health",
      "description": "Read-only, unauthenticated JSON over data Undercut already publishes: the routing policy (/api/policy), the tier-to-model mapping (/api/models), benchmark results computed from the raw files in testing/results (/api/results), supported clients (/api/clients, /api/clients/{slug}), the setup segment router (/api/segments), pricing (/api/pricing), and published Teams onboarding windows (/api/teams-availability). CORS is open. It does not route, proxy, or run model calls.",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/",
          "repository": "https://github.com/undercutsh/firstpass"
        },
        "attestations": ["MIT licensed", "source open on GitHub", "every response is generated from files published in the repository (scripts/build-api-data.js, staleness-checked in CI)"]
      }
    },
    {
      "identifier": "urn:air:getundercut.sh:mcp:undercut",
      "displayName": "Undercut MCP server (read-only)",
      "type": "application/mcp-server-card+json",
      "url": "https://getundercut.sh/mcp/server-card",
      "description": "Server Card for Undercut's read-only, unauthenticated MCP server at https://getundercut.sh/mcp (Streamable HTTP, stateless, JSON responses; protocol 2026-07-28 plus 2025-11-25, 2025-06-18 and 2025-03-26). Tools: list_clients, get_client, get_segments, get_policy, get_models, get_benchmark_results, get_pricing, get_teams_availability. Each returns the same published data as the matching /api/* endpoint. No write tools, no auth, no routing or inference.",
      "trustManifest": {
        "identity": {
          "name": "Undercut",
          "url": "https://getundercut.sh/",
          "repository": "https://github.com/undercutsh/firstpass"
        },
        "attestations": ["MIT licensed", "source open on GitHub", "CI calls every tool through the real handler and checks its result against the published data and its outputSchema (scripts/validate-mcp.js)"]
      }
    }
  ],
  "notes": "The free tier is a static policy file, not a running service: routing happens inside your own agent. A read-only, unauthenticated JSON API (described at https://getundercut.sh/openapi.json) serves data that is already published in the repository, and a read-only MCP server at https://getundercut.sh/mcp exposes the same data as MCP tools; neither has write endpoints, an auth flow, or a routing or inference endpoint. No SDK exists yet. Claude Code can install the policy as a plugin (`/plugin marketplace add undercutsh/firstpass`); every other client uses the skill file directly."
}
