# Skills

A skill is written know-how a bot follows for a specific task, such as how you want expenses filed
or how to publish a blog post.

## Use a skill

Bots pick up the right skill on their own when a task matches it. To use one explicitly, type **/**
at the start of a message and choose it.

## Your skills library

Open **Settings → Skills**.

- **Your skills** lists active skills. Agent drafts appear separately under **Review**.
- **Plugins** lists skill sets you've added from plugins.
- **Browse** finds ready-made skills. Open one and choose **Add skills**.

Skills you add are available to all your bots. Choose **New skill** to write one yourself: a name,
a short description of when to use it, and the steps.

You can also add skills from a GitHub repository: choose **From GitHub**, paste the repository URL,
then **Preview** and **Add**.

> [!NOTE]
> Skills added from GitHub or a plugin are instructions only. Any scripts they include are not run.

## Bots save skills too

After a multi-step task, ask the bot to "save that as a skill". It proposes the steps for review.
Open the draft in **Settings → Skills**, read it, and choose **Approve** or **Reject**. An approved
new skill stays in the [space](/docs/spaces/) it was made in. A pending or rejected draft is never
offered to bots as an active skill.

Bots are instructed to look for existing skills before proposing new ones, and to record only
procedures supported by their completed work. This guidance is not a guarantee that every learned
procedure is correct; reviewing and testing a skill is still necessary. A skill does not grant
access to accounts or bypass an action's approval requirements.

## Edit and restore

Your direct edits take effect when saved. Each change retains an immutable version. Open a skill
with multiple versions and choose **History** to inspect an earlier version; **Restore** makes its
content the next active version without deleting later history. Built-in and plugin skills remain
read-only.

Saving, deleting, restoring, or approving an update checks the version that was read. If it changed
elsewhere, reload and review the latest content before trying again. An agent's stale proposal
cannot overwrite a newer version. Legacy changes made by an older release are recorded when the
skill is next read; existing skills do not need to be recreated.

Legacy snapshots are labelled **Original** in history. Recording one preserves content already
present in the active catalog; it does not certify it as owner-reviewed. When upgrading a running
installation, drain older workers that can write skills directly before relying on the proposal
review boundary. Pending agent updates are restricted to their original space and cannot be
approved after the skill is shared more widely.

## Teach a task by showing it

Some tasks are easier to show than describe.

1. Open the bot's computer with **Agent computer**.
2. Choose **Teach a task** and describe the result you will demonstrate, such as "Export this week's
   list from the CRM and drop it in the shared folder".
3. Choose **Start recording** and do the task on the bot's screen. The bot watches but does not act.
   Type passwords with **Protected input** so they are not recorded.
4. Choose **Stop teaching**.

The bot posts a **Draft skill** card with the steps it learned, when to use them, what to check, and
when to ask you first. Edit anything that's off, then choose **Save**. **Test** runs it once, and
**Add to routine** puts it on a schedule.

Teach a task is available on the web and desktop apps, not on mobile.
