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

# Skills Ecosystem

> Discover, install, and publish reusable skill bundles

[skills.sh](https://skills.sh) indexes public skill repositories used by multiple coding-agent clients. It is a discovery service, not a Git endpoint: URLs such as `https://skills.sh/{name}` cannot be cloned into `.polpo/skills/`.

## Two installation targets

| Target              | Purpose                                     | Installation                                                                 |
| ------------------- | ------------------------------------------- | ---------------------------------------------------------------------------- |
| Coding agent        | Teaches a developer assistant how to work   | `npx skills@latest add owner/repository`                                     |
| Polpo runtime agent | Adds instructions to a deployed Polpo agent | Project `.polpo/skills/`, `POST /v1/skills/add`, or `client.installSkills()` |

For the official coding-agent pack, use [Coding Agents](/docs/ecosystem/coding-agents). For a Polpo runtime agent, install from the source repository and then assign the discovered skill name:

```typescript theme={null}
await client.installSkills("https://github.com/owner/repository");
await client.assignSkill("api-security", "backend-dev");
```

The equivalent local agent configuration uses the required wrapper shape:

```json theme={null}
[
  {
    "agent": {
      "name": "backend-dev",
      "skills": ["api-security"]
    },
    "teamName": "engineering"
  }
]
```

## Publish a compatible skill

Put each skill in its own directory and commit the entire bundle:

```text theme={null}
skills/
  api-security/
    SKILL.md
    references/
    scripts/
```

```yaml theme={null}
---
name: api-security
description: Review HTTP APIs for common security failures
allowed-tools:
  - read
  - grep
---

Describe the workflow, constraints, and expected output here.
```

Polpo reads `name`, `description`, and `allowed-tools`. Runtime tags and category are maintained in the project's `.polpo/skills-index.json`, not in `SKILL.md`. See [Agent skills](/docs/agents/skills) for assignment and API details.
