# Teach repeatable behavior with Skills

> Package instructions your agents reuse, like a returns procedure or a lead qualification script.

A skill is a reusable set of instructions, with the tools it needs, that an agent loads when a conversation calls for it. Use skills for procedures you want followed the same way every time: handling a return, qualifying a lead, booking an appointment.

## Create a skill

1. Open **Skills** and select **New skill**.
2. Under **Skill**, enter a **Name** of 2 to 120 characters and check the **Reference key**. The key is filled in from the name, uses lowercase letters, numbers and hyphens (up to 80 characters), and can't be changed after the skill is created.
3. Write the **Description**, between 10 and 500 characters. This is how the model decides the skill is relevant, so say what it covers and when to use it.
4. Write the **Instructions** in Markdown, at least 40 characters.
5. Under **Behavior**, choose **Loading** (**On demand** unless you change it) and any **Tools** the skill brings with it.
6. Keep **Enabled** on and select **Create skill**.

To call an API from a skill, add the **HTTP Request** tool and, in the instructions, name the integration that signs in to it. The integration itself comes from the agent, deployment or AI Chat that uses the skill. See [Give your agent tools and integrations](https://support.help.ai/ai-agents/tools-connected-accounts-and-credentials).

## On demand or always in context?

| Loading | How it works | Use it when |
| --- | --- | --- |
| On demand | The agent sees the description and loads the instructions only when it decides they're relevant | Most skills; it keeps each turn's context small |
| Always in context | The instructions are added to every turn | Short rules that apply to every conversation |

## Attach it to an agent

In **AI Agents**, open the row's actions menu (⋯), select **Edit** and add the skill in the **Skills** field. Only enabled skills are listed. Select **Save changes**.

To add a skill for one deployment only, pick it under **Skills in this chat** in the deployment's **Features**. It's added to the agent's own skills there.

The agent reads a skill's current version on every turn, so when you edit a skill, conversations already under way pick up the change.

In **AI Chat** you can also pick skills under **Chat settings** → **Skills**. Your pick stays on for your chats until you change it. Agent test chats always use the agent's own skills.

## Find your skills

The **Skills** list has a search box and shows each skill's **Status**, **Loading**, **Tools**, **Quality** and **Updated**. A row's actions menu has **Edit** and **Delete**.

## Example

```markdown
## Return requests
1. Ask for the order number and the item being returned.
2. Check the return window in the returns policy.
3. Inside the window: explain how to send the item back.
4. Outside the window: don't refuse or approve. Offer to connect the customer with the team.
```

## Write skills that get used

- Make the **Description** specific. "Use when a customer wants to return or exchange an item" works better than "Returns".
- Write steps, not essays.
- Keep facts such as return windows in Library, and tell the skill where to look.

<Tip>
When quality review is on for your workspace, the skill's edit page shows a **Quality review** card with a score out of 100, notes and suggestions, and the **Skills** list shows the score under **Quality**.
</Tip>
