# list_site_skills

Source: https://modulify.ai/docs/api/skills-and-connectors/list-site-skills

Lists every skill a site can use, the built-in ones and the workspace's own.

- Title: List the skills a site can use
- Scope: `config:read`
- Access: Read only
- Endpoint: `POST /v1/list_site_skills`

These are the skills a site's chat uses while it builds. Each comes with its id, name, category, description and whether it is on for the site. The chat follows every skill that is on whenever it builds, from the next message on.

A site can have up to 10 skills on at once, and the response carries that ceiling as `maxSkills`. Turn one on or off with `set_site_skill`. See [Skills](https://modulify.ai/docs/build/skills).

## Request

Call it with a `POST` to `https://api.modulify.ai/v1/list_site_skills`, sending the inputs below as a JSON object. The token needs the `config:read` scope.

It only reads and changes nothing, so retrying it is safe.

```bash
curl -X POST https://api.modulify.ai/v1/list_site_skills \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID"}'
```

Over MCP, the same method is the [list_site_skills tool](https://modulify.ai/docs/mcp/skills-and-connectors/list-site-skills).

## Inputs

| Input | Type | Required | Description |
| --- | --- | --- | --- |
| `projectId` | string | Yes | The site id. |

## Response

Every call answers with the [JSON envelope](https://modulify.ai/docs/api/requests-and-responses#the-response) of `success`, `message`, `data`, `code` and `version`. `data` holds the result described above, and on a method that returns a total, `count` carries it. The [response headers](https://modulify.ai/docs/api/requests-and-responses#headers-on-every-method-call) carry the call's `X-Request-Id` and what is left of your per-minute budget in `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset`. [Errors](https://modulify.ai/docs/api/errors) explains every status code a call can answer with.