> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Attach pre-built capabilities like internet search, presentations, and interactive UI to your PALs.

**Skills** are pre-built capabilities you can attach to a PAL. Each skill bundles the prompting, conversation configuration, and document wiring needed for a capability, so you can turn it on without building it yourself.

Skills are authored and maintained by Tavus. You choose which skills a PAL has from the skill registry; you don't write skill code.

<Note>
  **Skills vs tools:** [Skills](/sections/conversational-video-interface/skills/overview) are Tavus-authored capabilities you toggle on (`internet_search`, `presentation`, `magic_canvas`, etc.). [Tools](/sections/conversational-video-interface/pal/tools) are functions **you** define in the tools registry for the LLM or Raven to call during a conversation. A PAL can use both.
</Note>

<Note>
  A skill is active as soon as it is attached to a PAL. To turn a skill off, detach it with [Detach Skill from PAL](/api-reference/pal-skills/detach-skill-from-pal).
</Note>

## Available skills

<CardGroup cols={2}>
  <Card title="Internet Search" href="/sections/conversational-video-interface/skills/internet-search">
    Skill ID: `internet_search`. Real-time web search during a call. No configuration - a pure on/off toggle.
  </Card>

  <Card title="Presentation" href="/sections/conversational-video-interface/skills/presentation">
    Skill ID: `presentation`. Walk participants through slide decks and images from your [Knowledge Base](/sections/conversational-video-interface/knowledge-base).
  </Card>

  <Card title="Magic Canvas" href="/sections/conversational-video-interface/magic-canvas/overview">
    Skill ID: `magic_canvas`. Interactive UI during a call - questions, calendars, charts, images, and more. User responses flow back to the PAL and your backend.
  </Card>
</CardGroup>

List the current registry at any time with [List Skills](/api-reference/skills/list-skills). More skills will be added over time.

## Attaching a skill

Attach a skill to a PAL with a `PUT` to the PAL's skill collection. Certain skills require a `config` object - see each skill's page for its fields.

```bash theme={null}
curl --request PUT \
  --url https://tavusapi.com/v2/pals/{pal_id}/skills/{skill_id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{}'
```

The attachment takes effect on the PAL's next conversation.

## Updating a skill's configuration

Use `PATCH` to merge changes into an existing attachment without resending the whole config. Fields you pass replace the existing values; fields you omit are preserved; fields set to `null` are removed:

```bash theme={null}
curl --request PATCH \
  --url https://tavusapi.com/v2/pals/{pal_id}/skills/{skill_id} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '{
    "config": {
      "prompt": "Keep the walkthrough under five minutes."
    }
  }'
```

Use `PUT` on the same path to overwrite the entire configuration, or [Replace PAL Skills](/api-reference/pal-skills/replace-pal-skills) to set a PAL's full skill set in one call.

## API reference

| Endpoint                                                                 | Description                  |
| ------------------------------------------------------------------------ | ---------------------------- |
| [List Skills](/api-reference/skills/list-skills)                         | All skills in the registry   |
| [Get Skill](/api-reference/skills/get-skill)                             | Metadata for one skill       |
| [List PAL Skills](/api-reference/pal-skills/list-pal-skills)             | Skills attached to a PAL     |
| [Get PAL Skill](/api-reference/pal-skills/get-pal-skill)                 | One attachment               |
| [Attach Skill to PAL](/api-reference/pal-skills/attach-skill-to-pal)     | Attach or overwrite          |
| [Update PAL Skill](/api-reference/pal-skills/update-pal-skill)           | Merge config changes         |
| [Detach Skill from PAL](/api-reference/pal-skills/detach-skill-from-pal) | Remove an attachment         |
| [Replace PAL Skills](/api-reference/pal-skills/replace-pal-skills)       | Bulk-replace all attachments |
