# Skills

A **skill** is a reusable, versioned capability an [agent](/concepts/agents) composes. Skills are versioned independently from agents.

## Create a skill

The top-level skill record is created first, then its content lives in
versions under `client.skill.version`.

```ts
const { data: skill } = await client.skill.create()

const { data: version } = await client.skill.version.create({
  path: { skillId: skill.id },
  // ...version body — see the API reference
})
```

## Copying

Use `client.skill.copy` to fork an existing skill — useful for starting
from a registry skill and customising it.

## Related

- **[Agents](/concepts/agents)** — compose skills into something that
  runs.
- **[Registry](/concepts/registry)** — the public catalog of skills.
- **API reference:** [Skills](/api-reference#tag/skill)