> ## Documentation Index
> Fetch the complete documentation index at: https://glide-9da73dea.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# skills.list

> Catalog of installable skills from glide.co/skills. Each skill advertises its runtime compatibility and whether its upstream dependencies are live in this envir

Catalog of installable skills from glide.co/skills. Each skill advertises its runtime compatibility and whether its upstream dependencies are live in this environment.

## Metadata

| Field                    | Value         |
| ------------------------ | ------------- |
| Name                     | `skills.list` |
| Category                 | `read`        |
| Required scope           | `agents:read` |
| Idempotency key required | no            |

## Annotations

| Annotation              | Value         |
| ----------------------- | ------------- |
| Title                   | Browse Skills |
| Read-only               | yes           |
| Destructive             | no            |
| Idempotent              | yes           |
| Open-world              | no            |
| Requires human approval | no            |

## Input schema

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "category_filter": {
      "default": "all",
      "type": "string",
      "enum": [
        "ap",
        "treasury",
        "consumer",
        "payroll",
        "x402",
        "all"
      ]
    }
  },
  "required": [
    "category_filter"
  ],
  "additionalProperties": false
}
```

## Output schema

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "skills": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "ap",
              "treasury",
              "consumer",
              "payroll",
              "x402"
            ]
          },
          "runtime_compat": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "claude-desktop",
                "chatgpt-apps",
                "vertex",
                "openclaw",
                "hermes"
              ]
            }
          },
          "dependencies_live": {
            "type": "boolean"
          },
          "install_url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "display_name",
          "tagline",
          "category",
          "runtime_compat",
          "dependencies_live",
          "install_url"
        ],
        "additionalProperties": false
      }
    },
    "fetched_at": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
    }
  },
  "required": [
    "skills",
    "fetched_at"
  ],
  "additionalProperties": false
}
```

## Request examples

<CodeGroup>
  ```bash curl theme={null}
  curl -X POST https://mcp.glide.co/mcp/read \
    -H "Authorization: Bearer $GLIDE_GRANT_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "skills.list",
      "params": {
        "category_filter": "treasury"
      }
    }'
  ```

  ```ts TypeScript theme={null}
  import { GlideClient } from './glide-client';

  const client = new GlideClient({ grantToken: process.env.GLIDE_GRANT_TOKEN! });

  const result = await client.call('skills.list', {
    category_filter: 'treasury',
  });

  console.log(result);
  ```

  ```python Python theme={null}
  from glide_client import GlideClient
  import os

  client = GlideClient(grant_token=os.environ["GLIDE_GRANT_TOKEN"])

  result = client.call("skills.list", {
      "category_filter": "treasury",
  })

  print(result)
  ```
</CodeGroup>

## Response examples

Successful response:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "skills": [
      {
        "slug": "yield-optimizer",
        "display_name": "Yield Optimizer",
        "tagline": "Automatically allocates idle USDC to the highest-yield on-chain venue within policy",
        "category": "treasury",
        "runtime_compat": ["claude-desktop", "vertex"],
        "dependencies_live": true,
        "install_url": "https://glide.co/skills/yield-optimizer"
      },
      {
        "slug": "ap-batch-pay",
        "display_name": "AP Batch Pay",
        "tagline": "Pay multiple suppliers in a single authorized batch with on-chain receipts",
        "category": "treasury",
        "runtime_compat": ["claude-desktop", "chatgpt-apps", "openclaw"],
        "dependencies_live": true,
        "install_url": "https://glide.co/skills/ap-batch-pay"
      }
    ],
    "fetched_at": "2026-05-04T12:00:00Z"
  }
}
```

Error — invalid `category_filter` value:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "category_filter must be one of: ap, treasury, consumer, payroll, x402, all",
    "data": {
      "reason_id": "invalid_enum_value"
    }
  }
}
```

Error — missing or expired grant token:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32001,
    "message": "grant token missing or expired",
    "data": {
      "reason_id": "token_expired"
    }
  }
}
```

## Errors

| Code     | Name               | Cause                                                   | Remediation                                |
| -------- | ------------------ | ------------------------------------------------------- | ------------------------------------------ |
| `-32600` | Invalid request    | Malformed JSON-RPC envelope                             | Check `method`, `jsonrpc`, and `id` fields |
| `-32602` | Invalid params     | `category_filter` is not one of the allowed enum values | Validate against schema before call        |
| `-32000` | Unauthenticated    | Missing `Authorization` header                          | Supply a valid `Bearer` token              |
| `-32001` | Unauthorized       | Grant token expired or revoked                          | Refresh token via `agent.grant.refresh`    |
| `-32002` | Insufficient scope | Grant missing `agents:read` scope                       | Issue new grant with `agents:read` scope   |
| `-32603` | Internal error     | Server-side error                                       | Retry with backoff; contact support        |

## Auth

Caller's grant must include the `agents:read` scope. Grants whose scope set is a superset of the required scope are accepted.
