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

# Skills

Skills are companion agent capabilities. They are LLM-backed micro-agents that execute specific tasks within a conversation. Unlike Classic API tools (which run versioned code packages), skills are configured declaratively with a system prompt, input/output schema, and model selection.

{% hint style="info" %}
**Different from Classic API Tools.** Classic API [Tools](/developer-guide/classic-api/core-api/tools.md) are versioned code packages from Git repos. Platform API Skills are LLM-backed declarative micro-agents with prompt-based configuration. Choose Tools for custom code execution, Skills for LLM-native reasoning.
{% endhint %}

## API Surface

### Create a Skill

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills" method="post" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### List Skills

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills" method="get" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### Get a Skill

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills/{skill\_id}" method="get" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### Update a Skill

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills/{skill\_id}" method="put" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### Delete a Skill

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills/{skill\_id}" method="delete" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### Get Skill References

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills/{skill\_id}/references" method="get" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

### Test a Skill

{% openapi src="<https://api.platform.amigo.ai/v1/openapi.json>" path="/v1/{workspace\_id}/skills/{skill\_id}/test" method="post" %}
<https://api.platform.amigo.ai/v1/openapi.json>
{% endopenapi %}

## Input Schema Compatibility

A skill `input_schema` is used as an LLM tool schema during execution. Keep it in the supported tool-schema subset:

* The root schema must describe a single JSON object.
* Do not use a top-level `$ref`, `anyOf`, `oneOf`, or `allOf`.
* Array-typed properties must declare `items`.

Unsupported shapes are rejected on create/update with `422` because they can cause the LLM tool call to fail silently at runtime.

## Execution Configuration

Skills execute as multi-turn LLM agents. Configure their model, token and result limits, timeout, sampling controls, structured output, caching, citations, checkpointing, approval requirement, and maximum tool-use turns through the request schema embedded above. Sampling controls are model-gated; models that do not support them ignore those fields.

## Integration with External APIs

Skills can call external APIs through [Integrations](/developer-guide/platform-api/integrations.md) and inline static tool definitions. Integration tool references identify the integration and endpoint by name.

## References

Before modifying or deleting a skill, check what depends on it:

The references operation returns context graphs (with specific states) and services that reference the skill's slug. This prevents breaking live conversation flows by accidentally removing a skill that is in use.

## Testing

Use the [tool testing](/developer-guide/platform-api/functions/tool-testing.md) endpoints to execute a skill in isolation without starting a conversation. Useful for validating prompt engineering and schema design before wiring into a context graph.


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.amigo.ai/developer-guide/platform-api/workspaces/skills.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
