---
area: "Learn"
parent: "Extensions"
url: "https://unpoly.com/learn/skill"
---
<nav aria-label="Unpoly docs">[All docs](https://unpoly.com/index.md) · [Learn](https://unpoly.com/learn.md) · [Extensions](https://unpoly.com/learn/extensions.md)</nav>

# Agent skill

Unpoly's documentation is available as an agent skill for AI coding tools. With the skill, your coding agent follows Unpoly's best practices, knows every API detail and upgrades your app to new Unpoly versions on its own.

The skill contains every guide, the full API reference, the [upgrade guide](https://unpoly.com/changes/upgrading.md) and the release notes of all versions as Markdown files, with a search script your agent runs locally. That is faster than fetching pages from the web, and works offline.

<nav aria-label="Contents">

- [Install with `npx skills`](#npx-skills)
- [Install as a Claude Code plugin](#claude-code)
- [Download skill](#download)
- [Make your agent use it](#make-your-agent-use-it)
- [Use without installing](#without-installing)

</nav>

## Install with `npx skills` {#npx-skills}

This works with all coding agents and needs [Node.js](https://nodejs.org). Run:

```bash
npx skills add --global https://unpoly.com
```

The [skills CLI](https://github.com/vercel-labs/skills) asks which agents to install the skill for. To share the skill with your team instead, run the command in your project's directory without `--global` and commit the skill's files. Teammates then get it with your repository.

**The skill does not update itself.** To get the latest docs, run:

```bash
npx skills update --global
```

Optionally, [nudge your agent into using the skill](#make-your-agent-use-it) for all Unpoly work.

## Install as a Claude Code plugin {#claude-code}

If you use Claude Code, you can instead install the skill as a plugin. Plugins can update automatically, and you don't need Node.js:

```text
/plugin marketplace add https://unpoly.com/claude-plugins/marketplace.json
/plugin install unpoly@unpoly
```

See [Discover and install plugins](https://code.claude.com/docs/en/plugins/install) in the Claude Code documentation for more.

**To update**, run `claude plugin update unpoly@unpoly` in your shell. In Claude Code, open the **Marketplaces** tab in `/plugin`, select `unpoly` and choose **Update marketplace**. Claude Code doesn't update plugins from third-party marketplaces automatically, unless you choose **Enable auto-update** there.

Optionally, [nudge your agent into using the skill](#make-your-agent-use-it) for all Unpoly work.

### Team setup {#team-setup}

To offer the plugin to everyone working on your project, add the marketplace and the plugin to the project's `.claude/settings.json`. Once a team member trusts the project folder, Claude Code knows the `unpoly` marketplace:

```json
{
  "extraKnownMarketplaces": {
    "unpoly": {
      "source": {
        "source": "url",
        "url": "https://unpoly.com/claude-plugins/marketplace.json"
      },
      "autoUpdate": true
    }
  },
  "enabledPlugins": {
    "unpoly@unpoly": true
  }
}
```

Each team member then installs the plugin once:

```text
claude plugin install unpoly@unpoly --scope project
```

## Download skill {#download}

To use the skill in a chat interface that supports skills, like claude.ai or chatgpt.com, download [unpoly-docs.zip](https://unpoly.com/agent-skills/unpoly-docs.zip) and upload it in your chat's settings. The chat needs code execution turned on to run the skill's search script.

**An uploaded skill does not update itself.** To get the latest docs, download it again and replace your upload.

## Make your agent use it {#make-your-agent-use-it}

Agents don't always reach for a skill on their own. Add this line to your project's `AGENTS.md` or `CLAUDE.md`, so your agent consults the docs whenever it works with Unpoly:

```markdown
When working with Unpoly (`up-*` attributes, `up.*` functions, `up:*` events), consult the `/unpoly-docs` skill before guessing.
```

## Use without installing {#without-installing}

Every page of these docs is also available as Markdown. Click the Markdown icon next to the page title, or append `.md` to the page's URL, e.g. [https://unpoly.com/api/up.render**.md**](https://unpoly.com/api/up.render.md).

To give an AI chat a single page, use the copy button next to the page title. It copies the page as Markdown, ready to paste.

To give an AI chat broad context about Unpoly, paste [https://unpoly.com/llms.txt](https://unpoly.com/llms.txt). It lists all guides and API namespaces, with links the chat can follow.

<nav aria-label="Reading order">

- [Previous: Extensions](https://unpoly.com/learn/extensions.md)
- [Next: Protocol implementations](https://unpoly.com/learn/protocol-implementations.md)

</nav>

