A skill is a short set of instructions for one job: when it applies and how your team does it. Viktor picks the right skill up on his own when a task calls for it. Skills are how Viktor remembers your processes from one conversation to the next.

## How skills work

Each skill is a folder with a `SKILL.md` file at its root. The file starts with YAML frontmatter that declares a `name` and a `description`. The description is how Viktor decides when to use the skill. A skill can also carry optional `scripts/`, `references/` and `assets/` folders.

There are two kinds of skill:

- **Yours**: your personal skill. It holds what Viktor has learned about you, such as how you like replies. Only you can see it, and Viktor only loads it for your own requests. See [Personalize Viktor](/docs/personalize-viktor).
- **Shared**: skills for the whole workspace. Everyone on the team can read them, and Viktor uses them for everyone.

Some shared skills are managed by Viktor: built-in skills, skills generated for an integration, and skills installed from the [Marketplace](/docs/skills-marketplace). Viktor refreshes these with every update.

## Open the Skills page

1. Go to [Skills](https://app.viktor.com/skills).
2. With nothing selected, the page explains what a skill is and shows an example, under the heading **Skills are how Viktor learns the way you work**.
3. The tree on the left has two roots: **Yours** and **Shared**. Shared skills are grouped into folders.
4. Use **Search skills and files** to find a skill or a file inside one.
5. Select a skill to open it in the reader beside the tree. The reader shows the `SKILL.md` and the skill's other files.

Under **Recently read**, the home view lists the skills Viktor read most recently.

### Your personal skill

Your personal skill appears under **Yours** as **About you**: "What Viktor has learned about you: how you like replies, what you're working on, and decisions you've made." It is marked **Only you**, and reads of it are not counted. Before Viktor has learned anything about you, the tree says "Viktor keeps what it learns about you here, once it has learned something."

You can read your personal skill but not edit or download it on the Skills page. Nobody else can open it.

### Shared skills

Open a shared skill to read it. The info icon in the reader bar shows how often Viktor has read it, how many files it has, its folder and its path, and **Visible to**: **Everyone on the team**. Select **Download .zip** to download the skill.

## Create a skill in chat

The simplest way to make a skill is to ask Viktor.

1. On the Skills home page, under **Teach Viktor a new skill**, select **Teach Viktor in chat**. A new chat opens with a request already filled in.
2. Send it, then describe the job, or point at something you just did together.
3. Viktor writes the workflow down as a skill. It appears in the tree.

You can also ask for this in any conversation with Viktor, for example: _"Save how we just did the weekly report as a skill."_

The **In a chat** option appears only where web chat is available to you. See [the Viktor web app](/docs/viktor-web-app).

To teach Viktor by recording your screen instead, see [Teach Viktor by recording](/docs/teach-viktor).

## Edit a shared skill

1. Open the shared skill.
2. Select **Edit**.
3. Change the file in the editor and save it.

Viktor uses the edited version from his next turn.

Rules for edits:

- A `SKILL.md` must keep its `name` and `description` frontmatter. Without them Viktor stops loading the skill, so the save is rejected.
- A file can be at most 1 MB.

### Skills you can't edit here

Skills Viktor manages (built-in, integration and Marketplace skills) show **This skill can't be edited here** when you select **Edit**. Viktor refreshes them with every update, so changes would not last. To make one work your team's way, select **Ask Viktor to adapt it**, or ask Viktor in chat. He saves your version as a shared skill that you can edit.

Collections (routing indexes that group related skills) are maintained by Viktor's nightly skill refiner. Edit the skills a collection lists instead. Skills that Viktor ships or generates do not show their instructions: "Viktor manages this skill, so its instructions aren't shown here."

## Upload a skill

If a skill is already written down, upload it.

1. On the Skills page, select the upload icon (**Upload skill**) at the top of the tree. If you have no shared skills yet, you can also select **Upload a skill** in the empty **Shared** section. Workspace admins also see an **Or upload one** card with **Upload a skill** on the Skills home page.
2. In **Upload a shared skill**, drop a skill folder or a `.zip`, or select a folder.
3. Check the name and description, which come from the `SKILL.md` frontmatter.
4. Check **Folder name**. This is where the skill lives in your workspace.
5. Select **Upload skill**.

The skill joins your shared skills immediately, with no review step, and Viktor can use it right away.

Upload limits:

- One skill per upload, with a `SKILL.md` at its root that declares `name` and `description`.
- Folder name: lowercase letters, digits, dashes or underscores, optionally as `domain/skill_name`.
- Text files only (such as Markdown, code and config files). No binaries, images, HTML or SVG.
- Up to 80 files, 1 MB per file and 5 MB in total.

## Run a skill from web chat

In the web chat composer, type `/`. Every shared skill appears as a `/skill-name` command with its description. Admins also get the built-in `/usage` command. For admins, a skill named `usage` is left out of the menu so the built-in command keeps its name.

## Background skill refining

Viktor can tidy skills in the background overnight. Admins control this in [Team settings](https://app.viktor.com/settings/team/settings) under **Skill refining**:

- **Shared workspace skills**: "Keeps team skills short, current, and easy for Viktor to route to."
- **Personal preference skills**: "Compacts each person's private preferences so repeated corrections stay useful."

Refining runs once a night in your local 01:00–05:00 window. It rewrites or prunes skills and never messages anyone. Personal refining only runs on a personal skill that has grown past a size threshold, and it is skipped while your workspace is out of credits.

New workspaces start with both switches on. Workspaces that existed before this setting shipped start with both off.

## Limits by plan and permission

| Action                                 | Who can do it                                                                                                                                              |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Read shared skills                     | Every workspace member                                                                                                                                     |
| Download a shared skill as .zip        | Every workspace member, for skills your workspace wrote or uploaded. Not offered for skills Viktor manages (built-in, integration or Marketplace skills).  |
| Upload a skill                         | The **Upload a skill** card on the Skills home page shows only to admins. The **Upload skill** icon in the tree and the upload itself have no admin check. |
| Read your own personal skill           | Only you                                                                                                                                                   |
| Edit a shared skill on the Skills page | Workspace admins                                                                                                                                           |
| Change **Skill refining**              | Workspace admins. Members see "Ask a team admin to manage background skill refining."                                                                      |
| `/` skill commands in web chat         | Every member who has web chat                                                                                                                              |

The code sets no plan limit on creating, editing or uploading skills. Personal skill refining needs available credits.

## Common problems

- **The Edit button is missing.** Only workspace admins see **Edit**, and only on shared skills. Personal skills are read-only on the Skills page.
- **"SKILL.md must keep YAML frontmatter declaring `name` and `description`".** Put the frontmatter back at the top of the file and save again.
- **"SKILL.md is missing its frontmatter" when uploading.** Start the `SKILL.md` with frontmatter that declares `name` and `description`.
- **"This skill exceeds the limits".** Remove binary or unsupported files, or split the skill so it fits 80 files, 1 MB per file and 5 MB in total.
- **"This skill can't be edited here".** The skill is managed by Viktor. Ask Viktor to adapt it into a shared skill you can edit.
- **Nothing under Yours.** Viktor has not recorded anything about you yet. When you share a lasting preference, he records it there. See [Personalize Viktor](/docs/personalize-viktor).
- **The Skill refining switches are off and disabled.** You are not an admin. Ask a workspace admin.

## Related

- [Teach Viktor by recording](/docs/teach-viktor)
- [Skills Marketplace](/docs/skills-marketplace)
- [Personalize Viktor](/docs/personalize-viktor)
- [Brand kit](/docs/brand-kit)
- [Team members and roles](/docs/team-members-and-roles)