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

# Fleet library

> Understand platform and workspace library entries.

# Fleet library

## What it is

A library entry is a checked fleet bundle. Each entry contains `SKILL.md`, optional `TRIGGER.md`, support files, and requirement summaries.

The platform library is visible to every workspace. A workspace library entry is visible only inside its owning workspace.

## Why it exists

The library gives each installation a known source. It also lets `agentsfleet` check required secrets, tools, and network hosts before creation.

## How it behaves

Platform administrators create platform entries. Authorized workspace members create workspace entries from a GitHub repository through the dashboard or API.

Re-adding identical content to one workspace returns the existing content identity. Installing an entry creates a separate fleet owned by that workspace.

```bash theme={"theme":"vesper"}
agentsfleet library
```

```text theme={"theme":"vesper"}
LIBRARY                        NAME                            SECRETS
github-pr-reviewer             GitHub Pull Request reviewer    github
<varies>
```

New fleets install only by library identifier. Local files can update an existing fleet with `agentsfleet fleet update`.

## Onboard a platform entry

Platform entries are added from the dashboard at **Fleet library**, under Platform, with **Create fleet library**. The page is visible only to an operator whose session carries the `platform-library:write` scope. Everyone else is redirected, and the API refuses the request independently.

Enter the repository as `owner/repo`. `agentsfleet` fetches the repository, validates the bundle, stores it, and adds the catalog row **as a draft**. No workspace can see or install a draft; publishing is the only door to a workspace's library.

A platform entry's identifier comes from the `name` in the bundle's `SKILL.md`, not from the repository path you type. Keep the repository name, the `SKILL.md` name, and the `TRIGGER.md` name identical. When they differ, `agentsfleet` rejects the bundle or files it under an identifier you did not expect.

Onboarding the same repository twice updates the existing entry. It does not create a second one. A refetch always returns the entry to draft, so a newer bundle never reaches workspaces unreviewed.

## Edit a platform entry

An entry's name, repository, and ref are editable in place from the catalog's **Edit** dialog, alongside its description and the install-gate copy for each credential. The identifier is not editable — installed fleets reference it.

Changing the repository or ref discards the stored bundle and returns the entry to draft. The stored bundle was built from the old repository, and an entry never advertises a source it is not serving. Fetch the bundle again, then publish.

Workspaces already running the fleet are unaffected. Each install keeps the exact bundle it installed.

A rename survives the next bundle fetch, as the description and credential copy always have. A pinned ref survives it too: **Fetch update** fetches at the ref the entry names, rather than resetting the entry to the repository's default branch. Credential copy is pruned to the credentials the bundle actually declares, so a credential the fleet no longer requests does not linger in the dialog.

An entry that is published but holds no bundle shows as **Broken** in the catalog. It is invisible to every workspace; fetch a bundle or unpublish it.

The dashboard protects edits with the row version loaded by the form. If another operator saves first, your stale edit is refused. Refresh the row, review the newer values, and apply your change again.

## Prebuilt fleets

Four fleets ship as platform entries. Each is a public repository under `agentsfleet`, and each installs by its identifier.

| Identifier                        | What it does                                                                                              | Secrets                             |
| --------------------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| `github-pr-reviewer`              | Reviews pull requests and posts review comments.                                                          | `github`                            |
| `platform-ops`                    | Reads Fly.io app state and logs and Upstash Redis stats, correlates them, and posts a diagnosis to Slack. | `fly`, `upstash`, `slack`, `github` |
| `zoho-sprint-daily-summarizer`    | Summarizes the day's Zoho Sprints activity and posts a digest.                                            | `zoho`                              |
| `zoho-recruiter-daily-summarizer` | Summarizes the day's Zoho Recruit pipeline and posts a digest.                                            | `zoho_recruit`                      |

A prebuilt fleet appears in your library only after an operator onboards and publishes it. Until then it does not show in the gallery.

## Limits

`SKILL.md` and `TRIGGER.md` each allow 200 KiB. A bundle can contain up to 32 support files and 256 KiB across those files.

Each support file allows 64 KiB and a 160-character safe relative path. Secret-shaped support content is rejected.

A bundle may declare at most 32 required credentials, 64 required tools, and 64 network hosts. A bundle over any of those counts is refused at import.

A credential or tool name allows 200 bytes. A network host allows 253 bytes, the longest name that can resolve.

Install-gate copy is bounded too. An entry carries reason text for at most 32 credentials, and each reason allows 500 bytes.

There is no public command to delete a workspace library entry. Removing a fleet does not remove its library entry.

## Related pages

* [Install a fleet](/fleets/install)
* [Author a fleet](/fleets/authoring)
* [Secrets](/fleets/secrets)
