> This page is part of the [Customer.io documentation](https://docs-customerio.netlify.app). For the complete index, see [llms.txt](https://docs-customerio.netlify.app/llms.txt).
> Last updated: June 4, 2026

# Custom skills

Custom skills teach the agent your team’s workflows, brand voice, QA checks, and workspace-specific context.

## How it works[](#how-it-works)

The agent has a number of built-in skills that help it understand your workspace and work with Customer.io. You can also create custom skills to give the agent reusable instructions for your workflows, to enforce a particular brand voice, to run QA checks, and to reference workspace-specific context. Note that custom skills are **scoped to your user account**—they are not shared with other users in your workspace.

Custom skills are reusable instructions that the [agent](/ai/agent/get-started/) can read during a conversation. The agent can use these skills as a part of any conversation, or you can call them explicitly with a slash command—like `/<your-custom-skill> prompt`.

You can use custom skills for things like:

*   Review campaign drafts before launch
*   Write messages in your brand voice
*   Audit segment conditions for stale events or attributes
*   Summarize weekly broadcast performance
*   Explain your team’s naming conventions

 Want the agent to do something on a schedule?

Set up [routines](/ai/agent/routines/) to have the agent do something automatically on a recurring interval. Where a custom skill is something you call explicitly when you want it, a routine tells the agent to do something on a regular basis, without you having to prompt it first.

## Create a skill[](#create-a-skill)

You can create a custom skill by prompting the agent at any time. If you find that the agent completed a task particularly well and you want to reuse the prompt and process for future tasks, you can tell the agent to create a skill for it.

But we also have an interface where you can create and edit skills directly.

1.  Go to [**Agent** > **Skills**](https://fly.customer.io/workspaces/last/agent/skills).
2.  Click **New skill** and choose how you want to create the skill:
    *   **Create with Agent** starts a conversation where the agent helps you draft the skill.
    *   **Write skill instructions** opens a form where you enter the skill name, description, and instructions. You might use this option if someone’s shared a skill with you that you want to add to your own agent!
        
        [![The New skill dropdown Create with Agent and Write skill instructions options.](https://docs.customer.io/images/ai-custom-skill.png)](#c1c275a0e8eb53f663e9a3d01016e6ae-lightbox)
        
3.  Use the agent or write the instructions for your skill.
    
    [![The Create with Agent conversation where the agent asks what the skill should do.](https://docs.customer.io/images/ai-custom-skill-create.png)](#3ac08e80ffcfd669aa0377658ae3be7e-lightbox)
    

 The name and description matter

The agent relies on the skill’s name and description to understand when to use it. If you write your own skill, make the name and description clear and specific so the agent understands what it’s for and when to use it.

### Tips for writing skills[](#tips-for-writing-skills)

*   Keep each skill focused on one workflow or reference topic.
*   Keep skills as small as possible. The agent spends context on every skill it reads, so shorter skills leave more room for the current conversation, workspace data, and task details.
*   Include examples when the agent needs to match a format, tone, or decision pattern.
*   Use direct instructions like “Check…” or “Ask…” instead of broad goals.
*   Avoid adding secrets, API keys, or sensitive customer data to skill content.
*   Update skills when your team’s process, data model, or brand guidance changes.

Here’s an example of skill instructions:

```markdown
When I ask you to review a campaign before launch:

1. Check that every message has a clear goal and a matching call to action.
2. Check that every segment or trigger condition uses events and attributes from our current data plan.
3. Review timing, wait steps, and exit conditions for conflicts.
4. Summarize risks as launch blockers, recommended fixes, and optional improvements.
```

## Use a custom skill[](#use-a-custom-skill)

The agent will reach for your custom skills whenever it thinks it’s the right thing to do. But you can also call custom skills explicitly either by using the skill name or with a slash command—like `/<your-custom-skill> prompt`.

## Manage skills[](#manage-skills)

Go to [**Agent** > **Skills**](https://fly.customer.io/workspaces/last/agent/skills) to see your custom skills. Each skill shows its name, description, and when it was last updated.

Click a skill to edit its name, description, or instructions. You can also delete a skill from its detail page. Deleting a skill permanently removes it and frees up one skill slot on your plan.

 Share a skill with your teammates

While skills are scoped to your user, you can go to edit a skill and copy the instructions to share with your teammates.

## Plan limits[](#plan-limits)

Your plan type determines how many custom skills you can create. Each user can create up to 3 skills on an essentials plan. On a premium or enterprise plan, each user can create up to 10 skills.

If you reach your limit, you might need to delete a skill you no longer need before you can create another one.

Skills must be smaller than 1 MB. But, in practice, you’ll want to keep skills much smaller than that. The agent spends context on every skill it reads, so shorter skills leave more room for the current conversation, workspace data, and task details.