> For the complete documentation index, see [llms.txt](https://docs.coupler.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coupler.io/api/agent-skills.md).

# Agent Skills

## List agent skills

> Returns the agent skills installed for a workspace. Capability skills and\
> custom skills are always included. Other library skills are included only\
> after the workspace installs them.\
> \
> Each item has a \`slug\`, a \`name\` (deprecated, same as \`slug\`), and a\
> \`description\`. Pass \`slug\` to\
> \`GET /v1/workspaces/{workspace\_id}/agent\_skills/{slug}/prompt\` to load the\
> skill instructions.\
> \
> Pass \`query\` to keep skills whose description, slug, category, or data source\
> contains that phrase. Matching is case-insensitive, and the words must\
> appear together in one field. Omit \`query\`, or send a blank value, to return\
> every installed skill.<br>

```json
{"openapi":"3.1.0","info":{"title":"Coupler.io Public API","version":"v1"},"servers":[{"url":"https://api.coupler.io"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Bearer token: a personal API token or an OAuth access token."}},"schemas":{"agent_skills.collection.response":{"type":"object","properties":{"skills":{"type":"array","description":"Skills the workspace installed for the agent, plus capability and custom skills","items":{"$ref":"#/components/schemas/agent_skills.item.response"}}},"required":["skills"]},"agent_skills.item.response":{"type":"object","properties":{"slug":{"type":"string","description":"Identifier used to load the skill prompt"},"name":{"type":["string","null"],"description":"Deprecated, same as slug"},"description":{"type":"string","description":"What the skill does"}},"required":["slug","description"]},"error_response":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}},"required":["error"]}}},"paths":{"/v1/workspaces/{workspace_id}/agent_skills":{"get":{"summary":"List agent skills","tags":["Agent Skills"],"parameters":[{"name":"workspace_id","in":"path","required":true,"description":"Id of the workspace. Use an id returned by GET /v1/workspaces.","schema":{"type":"string"}},{"name":"query","in":"query","required":false,"description":"Case-insensitive phrase matched inside one skill field: description, slug, category, or data source. Every word must appear together. Omit it, or send a blank value, to return every skill. Must be a single string.","schema":{"type":"string"}}],"description":"Returns the agent skills installed for a workspace. Capability skills and\ncustom skills are always included. Other library skills are included only\nafter the workspace installs them.\n\nEach item has a `slug`, a `name` (deprecated, same as `slug`), and a\n`description`. Pass `slug` to\n`GET /v1/workspaces/{workspace_id}/agent_skills/{slug}/prompt` to load the\nskill instructions.\n\nPass `query` to keep skills whose description, slug, category, or data source\ncontains that phrase. Matching is case-insensitive, and the words must\nappear together in one field. Omit `query`, or send a blank value, to return\nevery installed skill.\n","responses":{"200":{"description":"skills available in the workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/agent_skills.collection.response"}}}},"400":{"description":"query is not a string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"401":{"description":"missing or invalid API token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"403":{"description":"workspace is not accessible","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}}}}}}}
```

## Get agent skill prompt

> Returns the instructions for one agent skill.\
> \
> \`content\` is the prompt saved on the skill when the workspace has customized\
> it. Otherwise \`content\` is the catalog prompt for that slug. Take \`slug\` from\
> \`GET /v1/workspaces/{workspace\_id}/agent\_skills\`.\
> \
> A missing slug returns \`Skill not found\`. A skill with no prompt returns\
> \`Skill has no prompt content\`. A catalog prompt that cannot be loaded returns\
> \`Skill prompt not found\`.<br>

```json
{"openapi":"3.1.0","info":{"title":"Coupler.io Public API","version":"v1"},"servers":[{"url":"https://api.coupler.io"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Bearer token: a personal API token or an OAuth access token."}},"schemas":{"agent_skills.prompt.response":{"type":"object","properties":{"content":{"type":"string","description":"Skill instructions. A customized skill returns its saved prompt. Any other skill returns the catalog prompt."}},"required":["content"]},"error_response":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}},"required":["error"]}}},"paths":{"/v1/workspaces/{workspace_id}/agent_skills/{slug}/prompt":{"get":{"summary":"Get agent skill prompt","tags":["Agent Skills"],"description":"Returns the instructions for one agent skill.\n\n`content` is the prompt saved on the skill when the workspace has customized\nit. Otherwise `content` is the catalog prompt for that slug. Take `slug` from\n`GET /v1/workspaces/{workspace_id}/agent_skills`.\n\nA missing slug returns `Skill not found`. A skill with no prompt returns\n`Skill has no prompt content`. A catalog prompt that cannot be loaded returns\n`Skill prompt not found`.\n","responses":{"200":{"description":"skill prompt","content":{"application/json":{"schema":{"$ref":"#/components/schemas/agent_skills.prompt.response"}}}},"401":{"description":"missing or invalid API token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"403":{"description":"workspace is not accessible","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"404":{"description":"skill was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}},"502":{"description":"prompt could not be loaded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error_response"}}}}},"parameters":[{"name":"workspace_id","in":"path","required":true,"description":"Id of the workspace. Use an id returned by GET /v1/workspaces.","schema":{"type":"string"}},{"name":"slug","in":"path","required":true,"description":"Skill slug returned by the agent skills list","schema":{"type":"string"}}]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.coupler.io/api/agent-skills.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
