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

# Author a fleet

> Create the two files that define a fleet.

# Author a fleet

## What this does

You will create a fleet bundle. `SKILL.md` defines the task, while `TRIGGER.md` defines runtime access and limits.

## Before you begin

Create an empty directory. Choose a lowercase fleet name with letters, numbers, and hyphens.

## Steps

1. Create `SKILL.md` with required front matter and clear instructions.

   ```yaml theme={"theme":"vesper"}
   ---
   name: health-check
   description: Checks service health and reports failures.
   version: 0.1.0
   ---

   Check each service named in the event.
   Report failed checks with their source URL.
   Never change a service.
   ```

2. Create `TRIGGER.md` with the same name. `agentsfleet` takes the library identifier from `name`, not from the repository path, so name the repository to match as well.

   ```yaml theme={"theme":"vesper"}
   ---
   name: health-check
   x-agentsfleet:
     triggers:
       - type: api
     tools:
       - memory_recall
       - memory_store
     budget:
       daily_dollars: 1.00
   ---
   ```

3. Put the files in a GitHub repository.

   `SKILL.md` must be at the repository root. `TRIGGER.md` is optional when the default manual trigger is enough.

4. Open **Fleets → Install fleet → Add library entry** in the dashboard.

   Enter the repository as `<OWNER>/<REPOSITORY>`. Both values come from the GitHub repository URL.

5. Install the new library entry.

   `<LIBRARY_ID>` appears in the workspace gallery after the files pass validation.

   ```bash theme={"theme":"vesper"}
   agentsfleet install --library <LIBRARY_ID>
   ```

   ```text theme={"theme":"vesper"}
   ✓ health-check is live.
     Fleet ID: <varies>
   ```

## Verify it works

`<FLEET_ID>` comes from the install output.

```bash theme={"theme":"vesper"}
agentsfleet steer <FLEET_ID> "check the service list"
```

```text theme={"theme":"vesper"}
<varies>
```

## Common problems

`UZ-AGT-008` means `TRIGGER.md` has an invalid field or value. Keep runtime fields under `x-agentsfleet`.

`UZ-AGT-011` means the two files use different names. Make both top-level `name` values identical.

A bundle allows 1 through 8 triggers. One webhook allows 1 through 16 event names and 1 through 64 repositories.

## Remove or undo

Delete the installed fleet only after killing it. Deletion also removes its events, grants, keys, and memory.

The public API has no operation for deleting a workspace library entry.

## Related pages

* [Fleet library](/fleets/library)
* [Tools](/fleets/tools)
* [Webhooks](/fleets/webhooks)
* [Secrets](/fleets/secrets)
