# Add and manage skills

> Turn skill packs on, write your own skills, teach a task by showing it once, and approve what teammates learn.

A skill is the steps for one kind of job, such as a refund, a cold email or an X article. Every teammate lists the
skills that are on, and opens one when the job fits. This page tells where skills come from, how to write and teach
them, and how a teammate learns from its work.

## Where skills come from

| Source          | What it is                                                                         | Who uses it                           |
| --------------- | ---------------------------------------------------------------------------------- | ------------------------------------- |
| The role        | The skills that come with a role, such as the article of the Content writer.       | Only the teammate of that role.       |
| **Your skills** | The skills of the workspace: written by people, taught, or proposed by a teammate. | Every teammate.                       |
| **Skill packs** | Collections of skills from independent authors, on GitHub.                         | Every teammate, while the pack is on. |

Each teammate also has the plain English skill: it writes short, clear sentences. A person asks for it with
/plain-english.

## Open Skills

Select **Skills** in the dock at the bottom of the sidebar. The page has 3 parts:

- **Skill packs**: the packs of the workspace, each with its switch.
- **Your skills**: the skills of the workspace, with **New skill**.
- **Built in**: the skills of each role, read-only. Each one says what it does and how it works.

Select a skill to read it. **How it works** says its steps in plain words. The exact steps that the teammate reads are
behind a toggle.

## Ask for a skill

Start a message with / and the name of the skill, such as `/x-article`. Type / at the start of a box to pick from the
skills of the teammate. The run starts with that skill open.

A teammate also opens a skill when the job fits, without a /. When your words name a skill, such as "a cold email",
the teammate gets a hint to open the skill `cold-email`.

## Write a skill

1. On **Skills**, select **New skill**.
2. Type the **Name** in lowercase words with hyphens, like `refund-an-order`.
3. Type **When to use it**, such as "When a customer asks for their money back".
4. Write the **Steps** that a teammate follows.
5. Select **Save the skill**. The skill is on for every teammate at once.

Anyone in the workspace writes and changes a skill. Owners and admins turn a skill on or off. Owners, admins and the
person who made a skill delete it. Some names are taken: the names of the skills of roles, and words such as `new`,
`stop` and `help`.

## Teach a task by showing it

Teach a task records what you do in the browser of a teammate. A teammate then writes it down as a skill.

1. Open **Watch computer** on the page of a teammate, and take over the screen.
2. Select **Teach a task**. Say **What will you show?**, then select **Start recording**.
3. Do the task in the browser. Troopy records each page, click and key. It records passwords and codes as "[hidden]".
4. Stop the recording. The teammate studies it and drafts a skill.
5. Change the name, **When to use it** and the steps. Then select **Approve skill**.

To stop without a skill, select **Discard recording**. See [Watch the computer of your troop](/docs/computer).

## Skill packs

Fifteen packs ship with Troopy. Some start on, such as marketingskills, no-ai-slop and seo-skills. Turn one on, and
every teammate can use its skills.

1. To add a pack from GitHub, select **Add pack**. Type the address of a public repo, and a **Skills folder** if it has
   one.
2. Select **Add pack** under the form. Troopy reads the pack at one commit.
3. On the page of a pack, turn the whole pack or each skill on or off.
4. **Sync to latest** reads the newest commit of the pack. **Remove pack** removes it for every teammate.

Owners and admins add, sync and remove packs. A workspace adds or syncs 10 packs an hour. Troopy never runs a script of
a skill.

When two skills have one name, the skill of the workspace wins, then the packs in their order.

## A teammate proposes a skill

A teammate can propose a new skill, or a change to a skill of the workspace, with `save_skill`. A person always
approves it, and the approval shows the change.

## Lessons: what a finished task taught

When a person stepped in on a task, the teammate looks back at the task after it is done. It writes 2 lessons at most:
a skill, or one line for its Notes.

1. The lessons wait on the page of the task, and in **Needs you**.
2. Read each lesson. Approve it, or turn it down.
3. An approved line goes into the Notes of the teammate. An approved skill goes to **Your skills**.

A teammate does not propose a lesson again after a person turned it down. To ask for a look by hand, select the button
for a look on the page of the task. A person asks for 20 looks a day at most.

The automatic look starts 5 minutes after a task is done, when a person stepped in on it. An owner or admin turns it
off with **Learn from finished tasks** in **Settings** > **Workspace**.

## Related

- [Give your troop work that it can finish](/docs/give-work)
- [Watch the computer of your troop](/docs/computer)
- [Manage what your troop remembers](/docs/memory)
- [Hire and manage teammates](/docs/teammates)
