> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.privategpt.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.privategpt.dev/_mcp/server.

# Skills

> Package reusable instructions into versioned skills and attach them to any conversation.

A skill is a packaged set of instructions — defined by a `SKILL.md` file — that can be attached to a model request. Skills let you build reusable personas, workflows, or domain-specific assistants without repeating system prompts.

Skills are versioned. You can update a skill without breaking existing integrations that pin to an older version.

---

## Create a skill

```bash
curl -X POST http://localhost:8080/v1/skills \
  -F 'display_title=Legal Reviewer' \
  -F 'collection=my-org' \
  -F 'skill_md=# Legal Reviewer\n\nYou are a legal document reviewer. Always flag missing clauses and ambiguous language.'
```

**Key fields:**

| Field           | Description                                                  |
| --------------- | ------------------------------------------------------------ |
| `display_title` | Human-readable name                                          |
| `collection`    | Scope — usually an org or workspace identifier               |
| `skill_md`      | Inline `SKILL.md` content                                    |
| `loading`       | `lazy` (default) or `eager` — when instructions are injected |

---

## List skills

```bash
curl "http://localhost:8080/v1/skills?collection=my-org"
```

---

## Get a skill

```bash
curl "http://localhost:8080/v1/skills/skill_01abc...?collection=my-org"
```

---

## Update

Skills are immutable once created. Add a new version instead of editing:

```bash
curl -X POST http://localhost:8080/v1/skills/skill_01abc.../versions \
  -H "Content-Type: application/json" \
  -d '{
    "skill_md": "# Legal Reviewer v2\n\nUpdated instructions..."
  }'
```

List versions:

```bash
curl http://localhost:8080/v1/skills/skill_01abc.../versions
```

---

## Delete a skill

```bash
curl -X DELETE "http://localhost:8080/v1/skills/skill_01abc...?collection=my-org"
```

Read-only skills (source `anthropic` or `zylon`) cannot be deleted.