# Skills

URL: /code/file-conventions/skills · Id: `page:code/file-conventions/skills`

> A folder in a Team's skills/ is one skill package, instructions, scripts and Templates, that a Role's agent loads.

A folder in `agents/[team]/skills/` is one skill package: instructions, scripts and [Templates](/business/nouns/template) that a [Role](/business/nouns/role)'s agent loads when its work calls for them.

```text
agents/customer/skills/
└── renewal-call/
    ├── SKILL.md         when to use it, and how
    └── script.md        the call script
```

## Reference
`SKILL.md` is Markdown with frontmatter. Other files in the folder are read on demand.

| Key | Type | Holds |
| --- | --- | --- |
| `name` | string | The skill's name |
| `description` | string | When the agent should load it |
| `roles` | Role paths | The Roles that may load it; the [Team](/business/nouns/team)'s by default |

## Examples
### Minimal
```md title="agents/customer/skills/renewal-call/SKILL.md"
---
name: renewal-call
description: Call a resident who has not answered a renewal notice.
---
```

### Leaseline
```md title="agents/customer/skills/renewal-call/SKILL.md"
---
name: renewal-call
description: Call a resident who has not answered a renewal notice after seven days.
roles: [customer/success-manager]
---
1. Read the lease and the notice that went out.
2. Follow script.md. Confirm the end date and the new rent.
3. Record the answer with Lease.update.
```

## What it builds
The [StartupBuilder](/code/builders/startup) versions the folder with the Role's eval cases.

- a skill [Version](/business/nouns/version) the agent loads by name
- a [Change](/business/nouns/change) per edit, checked against the Role's tests

## Good to know
- A skill is instructions, not a [Permission](/business/nouns/permission). The Role's [Mandate](/business/nouns/mandate) still bounds every call.