# Skills

Skills are reusable, prompt-based actions that agents can invoke during tasks. Each skill lives in your coder setup repository under `skills/<skill-id>/` with a `SKILL.md` file and optional supporting files (templates, scripts, references).

## Managing Skills

Open **Administration -> Skills** in the Web UI to create and manage skills. The Skills page includes the same git workflow as environments:

- **Save** changes without committing
- **Commit & Push** to version skills in your coder setup repository (default scope is `skills/`, with an advanced option to include all repository changes)
- **Pull** and **Discard** to sync with teammates

### Create or Edit Skills

Use **New Skill** to create a skill ID, display name, and description. Each skill includes:

- **Metadata** (name, description, model/tools hints)
- **Prompt** (the instructions in `SKILL.md`)
- **Supporting Files** (optional files referenced by the prompt)

### Import External Skills

You can also import skills from external sources:

- **Catalog** — curated skills bundled with CoderFlow
- **Git repository** — import a skill directory from a repo
- **Local folder** — import from a path on the server

Imported skills stay synced with their source. Git-based imports can be updated from the Skills page when updates are available.

## Assign Skills to Environments

Skills become available to agents only after they are assigned to an environment. In **Environments -> Overview**, click **Add Skills** and select the skills to include. The selected skills propagate to every new task launched in that environment.

If you update skill assignments, save the environment and launch a new task for the changes to take effect.
