Skip to main content

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.
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. 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.