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

# Skills

> Catalog, detail, verified downloads, and org-wide archive.

## `GET /skills?q=<query>`

The catalog across **all** the user's organizations, optionally filtered.

```json theme={"dark"}
// 200
{
  "skills": [
    {
      "name": "@acme/api-conventions",
      "org": "acme",
      "slug": "api-conventions",
      "displayName": "API conventions",
      "description": "REST and error-shape rules for all Acme services",
      "visibility": "private",
      "isRequired": false,
      "latestVersion": { "number": 4, "contentHash": "…", "sizeBytes": 34816, "fileCount": 6 },
      "installCount": 12,
      "archivedAt": null
    }
  ]
}
```

`latestVersion` is `null` for a skill with no published version yet.

## `GET /skills/:org/:slug`

Full detail with version history. Private skills require membership in the owning org; public skills resolve for any signed-in device.

```json theme={"dark"}
// 200
{
  "name": "@acme/api-conventions",
  "org": "acme",
  "slug": "api-conventions",
  "displayName": "API conventions",
  "description": "…",
  "visibility": "private",
  "isRequired": false,
  "archivedAt": null,
  "versions": [
    {
      "number": 4,
      "contentHash": "…",
      "sizeBytes": 34816,
      "fileCount": 6,
      "createdAt": "2026-08-01T10:00:00Z",
      "yankedAt": null
    }
  ]
}
```

## `GET /skills/:org/:slug/versions/:number/download`

A short-lived, presigned download URL for one version's package.

```json theme={"dark"}
// 200
{ "url": "https://…", "contentHash": "…" }
```

<Note>
  Clients must verify the downloaded package's sha256 against `contentHash` **before writing
  anything to disk** — the CLI aborts on mismatch, and so should you.
</Note>

## `DELETE /skills/:org/:slug`

Archives the skill **org-wide** — the operation behind [`masterskills unpublish`](/cli/unpublish) and the panel's archive action. Requires membership; idempotent.

```json theme={"dark"}
// 200
{ "archived": true, "name": "@acme/legacy-deploy" }
```

Devices still holding the skill learn via [`/sync`](/api/sync)'s `removed` group.
