diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index 215ba60..108c1d2 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -1,20 +1,20 @@
{
- "name": "usezombie-skills",
+ "name": "agentsfleet-skills",
"owner": {
- "name": "usezombie",
- "email": "hello@usezombie.com"
+ "name": "agentsfleet",
+ "email": "hello@agentsfleet.net"
},
"metadata": {
- "description": "Official usezombie agent skills — install, drive, and operate zombies from any AI coding host",
+ "description": "Official agentsfleet agent skills — install, drive, and operate agents from any AI coding host",
"version": "0.1.0"
},
"plugins": [
{
- "name": "usezombie-install-platform-ops",
- "description": "Install a usezombie platform-ops zombie on this repo — watches GitHub Actions CD failures and posts evidenced diagnoses to Slack. Use when the user wants to install platform-ops on a repo, resolve tool credentials (Fly, Slack, GitHub, Upstash), register webhooks via `gh`, or run the post-install smoke test.",
+ "name": "agentsfleet-install-platform-ops",
+ "description": "Install an agentsfleet platform-ops agent on this repo — watches GitHub Actions CD failures and posts evidenced diagnoses to Slack. Use when the user wants to install platform-ops on a repo, resolve tool credentials (Fly, Slack, GitHub, Upstash), register webhooks via `gh`, or run the post-install smoke test.",
"source": "./",
"strict": false,
- "skills": ["./usezombie-install-platform-ops"]
+ "skills": ["./agentsfleet-install-platform-ops"]
}
]
}
diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml
index bab11f8..53cac7f 100644
--- a/.github/workflows/eval.yml
+++ b/.github/workflows/eval.yml
@@ -13,7 +13,7 @@ jobs:
fail-fast: false
matrix:
skill:
- - usezombie-install-platform-ops
+ - agentsfleet-install-platform-ops
steps:
- uses: actions/checkout@v4
diff --git a/LICENSE b/LICENSE
index d1e5216..5f195e9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2026 usezombie
+Copyright (c) 2026 agentsfleet
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index b03a4b2..955e99f 100644
--- a/README.md
+++ b/README.md
@@ -3,18 +3,18 @@
-
+
-**Agent skills for usezombie — install, drive, and operate zombies from any AI coding host.**
+**Agent skills for agentsfleet — install, drive, and operate agents from any AI coding host.**
Long-lived runtimes that own one operational outcome end to end. These skills
-teach Claude Code, Codex CLI, Amp, and OpenCode to drive `zombiectl`
+teach Claude Code, Codex CLI, Amp, and OpenCode to drive `agentsfleet`
non-interactively so your agent can install, steer, and inspect agents
without you reading every flag.
-[](https://docs.usezombie.com)
-[](https://usezombie.com)
+[](https://docs.agentsfleet.net)
+[](https://agentsfleet.net)
[](https://opensource.org/licenses/MIT)
@@ -27,20 +27,20 @@ Skills here follow the [Agent Skills](https://agentskills.io/) format and work
with 18+ AI agent hosts including Claude Code, Codex CLI, Amp, OpenCode, and
Cursor.
-### Install all usezombie skills
+### Install all agentsfleet skills
```bash
-npx skills add usezombie/skills
+npx skills add agentsfleet/skills
```
-This symlinks every top-level `usezombie-*` directory into each supported
+This symlinks every top-level `agentsfleet-*` directory into each supported
host's skill path that exists on your machine (`~/.claude/skills/`,
`~/.codex/skills/`, `~/.amp/skills/`, `~/.opencode/skills/`).
### Install a single skill
```bash
-npx skills add usezombie/skills --skill usezombie-install-platform-ops
+npx skills add agentsfleet/skills --skill agentsfleet-install-platform-ops
```
### Claude Code Plugin
@@ -49,25 +49,25 @@ These skills also ship as a Claude Code plugin marketplace:
```bash
# 1. Register the marketplace
-claude plugin marketplace add usezombie/skills
+claude plugin marketplace add agentsfleet/skills
# 2. Install the plugin you want
-claude plugin install usezombie-install-platform-ops@usezombie-skills
+claude plugin install agentsfleet-install-platform-ops@agentsfleet-skills
```
### Prerequisites
-Most skills here drive `zombiectl`. Install it first:
+Most skills here drive `agentsfleet`. Install it first:
```bash
-npm install -g @usezombie/zombiectl
-zombiectl auth login
+npm install -g @agentsfleet/cli
+agentsfleet auth login
```
## Available Skills
-usezombie-install-platform-ops
+agentsfleet-install-platform-ops
One-command install of the platform-ops agent on a user's repo. Watches
GitHub Actions CD failures and posts evidenced diagnoses to Slack.
@@ -79,7 +79,7 @@ GitHub Actions CD failures and posts evidenced diagnoses to Slack.
- Registering and HMAC-verifying webhooks from the user's local `gh`
- Smoke-testing the install with a real steer round-trip
-**Slash-command:** `/usezombie-install-platform-ops`
+**Slash-command:** `/agentsfleet-install-platform-ops`
@@ -89,7 +89,7 @@ Skills are automatically available once installed. Invoke them by their
slash-command in any supported host:
```
-/usezombie-install-platform-ops
+/agentsfleet-install-platform-ops
```
The agent reads the skill body, walks the install plan, and surfaces every
@@ -100,7 +100,7 @@ failure mode verbatim so you can resolve it before retrying.
Each skill is a top-level directory matching its slash-command:
```
-usezombie-install-platform-ops/
+agentsfleet-install-platform-ops/
├── SKILL.md # Frontmatter + body the host LLM reads
├── references/ # Detailed docs the skill loads on demand
│ ├── credential-resolution.md
@@ -123,7 +123,7 @@ The `SKILL.md` frontmatter follows the
## Release model
`main` is the release surface. Push to `main` = ship. No tags, no semver —
-same model as a dotfiles repo. `npx skills add usezombie/skills` always pulls
+same model as a dotfiles repo. `npx skills add agentsfleet/skills` always pulls
the latest commit.
## Contributing
@@ -135,4 +135,4 @@ top-level `/` directory with `SKILL.md`, `references/`, and
## License
-MIT — Copyright (c) 2026 usezombie
+MIT — Copyright (c) 2026 agentsfleet
diff --git a/usezombie-install-platform-ops/SKILL.md b/agentsfleet-install-platform-ops/SKILL.md
similarity index 78%
rename from usezombie-install-platform-ops/SKILL.md
rename to agentsfleet-install-platform-ops/SKILL.md
index f197ff4..2879688 100644
--- a/usezombie-install-platform-ops/SKILL.md
+++ b/agentsfleet-install-platform-ops/SKILL.md
@@ -1,19 +1,19 @@
---
-name: usezombie-install-platform-ops
+name: agentsfleet-install-platform-ops
description: >
- Install a usezombie platform-ops zombie on this repo — watches GitHub
+ Install an agentsfleet platform-ops agent on this repo — watches GitHub
Actions CD failures and posts evidenced diagnoses to Slack. Always load
- this skill before running `zombiectl zombie install` for platform-ops; it
+ this skill before running `agentsfleet agent install` for platform-ops; it
knows the doctor preflight, credential resolution order, webhook setup,
and smoke-test steps that prevent silent failures.
license: Apache-2.0
metadata:
- author: usezombie
+ author: agentsfleet
version: "0.1.0"
- homepage: https://usezombie.com/docs/skills
- source: https://github.com/usezombie/skills
+ homepage: https://agentsfleet.net/docs/skills
+ source: https://github.com/agentsfleet/skills
requires:
- bins: [zombiectl, gh, openssl, curl]
+ bins: [agentsfleet, gh, openssl, curl]
optional_bins: [op]
inputs:
- name: slack_channel
@@ -31,25 +31,25 @@ references:
- references/self-managed-handoff.md
---
-# usezombie-install-platform-ops
+# agentsfleet-install-platform-ops
## 0. Preconditions (run once per cold machine)
Four one-liners install the binary, register the skill, authenticate
-with usezombie, and authorize `gh` for webhook registration on the
+with agentsfleet, and authorize `gh` for webhook registration on the
user's machine:
```bash
-npm install -g @usezombie/zombiectl # CLI + bundled samples (postinstall copies ~/.config/usezombie/samples/)
-npx skills add usezombie/skills # symlinks /usezombie-* into the host's skill paths
-zombiectl auth login # Clerk OAuth → token in ~/.config/usezombie/auth.json
+npm install -g @agentsfleet/cli # CLI + bundled samples (postinstall copies ~/.config/agentsfleet/samples/)
+npx skills add agentsfleet/skills # symlinks /agentsfleet-* into the host's skill paths
+agentsfleet auth login # Clerk OAuth → token in ~/.config/agentsfleet/auth.json
gh auth login -s admin:repo_hook # one-time; lets the install-skill register webhooks via `gh api`
```
The skill's **first action** (step 1 below) is the precondition check:
```bash
-which zombiectl && which gh && zombiectl doctor --json
+which agentsfleet && which gh && agentsfleet doctor --json
```
Any miss → print the exact one-liner above to fix it and stop. The
@@ -62,16 +62,16 @@ Manual symlink fallback (when `npx skills` is unavailable or the host
is not in the registry):
```bash
-git clone https://github.com/usezombie/skills.git ~/.local/share/usezombie-skills
-ln -s ~/.local/share/usezombie-skills/usezombie-install-platform-ops \
- ~/.claude/skills/usezombie-install-platform-ops
+git clone https://github.com/agentsfleet/skills.git ~/.local/share/agentsfleet-skills
+ln -s ~/.local/share/agentsfleet-skills/agentsfleet-install-platform-ops \
+ ~/.claude/skills/agentsfleet-install-platform-ops
```
Same shape for `~/.codex/skills/`, `~/.amp/skills/`, `~/.opencode/skills/`.
## Agent Protocol
-This skill drives `zombiectl` non-interactively. Every `zombiectl`
+This skill drives `agentsfleet` non-interactively. Every `agentsfleet`
invocation uses `--json` where the flag is supported, parses the JSON
response, and surfaces stderr verbatim on failure. Exit `0` is success;
non-zero is a hard stop. Never proceed past a failed step. Never silently
@@ -85,8 +85,8 @@ hard-code any one host's primitive in this skill body** — the same
## Authentication
-`zombiectl` auth is checked once via `zombiectl doctor --json`. If
-`auth_token_present` is `false`, print `Run zombiectl auth login first`
+`agentsfleet` auth is checked once via `agentsfleet doctor --json`. If
+`auth_token_present` is `false`, print `Run agentsfleet auth login first`
and stop. The skill never logs in on the user's behalf.
Tool credentials (`fly`, `slack`, `github`, `upstash`) resolve in this
@@ -95,12 +95,12 @@ order, per field:
1. `op read 'op:////'` — uses the user's
existing 1Password layout. The skill does not prescribe a vault or
item-naming convention.
-2. Environment variable `ZOMBIE_CRED__` (e.g.
- `ZOMBIE_CRED_FLY_API_TOKEN`).
+2. Environment variable `AGENTSFLEET_CRED__` (e.g.
+ `AGENTSFLEET_CRED_FLY_API_TOKEN`).
3. Masked interactive prompt (host-neutral question primitive).
JSON bodies are piped through stdin into
-`zombiectl credential add --data @-` so secret bytes never appear
+`agentsfleet credential add --data @-` so secret bytes never appear
in shell history or process argv. Never pass JSON via `--data ''`.
See [`references/credential-resolution.md`](references/credential-resolution.md)
@@ -111,7 +111,7 @@ for the full resolution table and op layout examples.
Walk these twelve steps top-to-bottom. Stop on the first failure;
surface the diagnostic and let the user fix it before retrying.
-1. **Doctor preflight.** Run `zombiectl doctor --json`. If any check
+1. **Doctor preflight.** Run `agentsfleet doctor --json`. If any check
fails — auth missing, no workspace binding, vault unreachable —
surface the response and stop. The `tenant_provider` block in the
response is the source of `model` and `context_cap_tokens` for the
@@ -135,7 +135,7 @@ surface the diagnostic and let the user fix it before retrying.
and M48 respectively.
5. **Resolve the GitHub webhook secret.** Check whether the workspace
already has a `github` credential with a `webhook_secret` field
- (`zombiectl credential show github --json` returns presence without
+ (`agentsfleet credential show github --json` returns presence without
echoing the secret bytes). Two paths:
- **No existing secret (first install for the workspace):** generate
32 CSPRNG bytes, base64-encode, hold in a local variable for the
@@ -144,27 +144,27 @@ surface the diagnostic and let the user fix it before retrying.
- **Existing secret (second install):** ask the user to choose:
**A) Reuse the workspace-shared secret** — write nothing new to
`webhook_secret`; `api_token` still upserts. **B) Scope a
- per-zombie credential** — generate a new secret, store under
- credential name `github-{zombie_slug}`, and write
- `credential_name: github-{zombie_slug}` into the generated
+ per-agent credential** — generate a new secret, store under
+ credential name `github-{agent_slug}`, and write
+ `credential_name: github-{agent_slug}` into the generated
TRIGGER.md as the M43 override.
6. **Resolve four tool credentials.** For each of `fly`, `slack`,
`github`, optional `upstash`, walk the resolution order
(op → env → prompt) per field, build the JSON body, and pipe it
- into `zombiectl credential add --data @-`. Default behaviour
+ into `agentsfleet credential add --data @-`. Default behaviour
is skip-if-exists; the skill relies on this to avoid clobbering a
workspace-shared `github.webhook_secret` on a second install. Never
pass `--force` unless the user explicitly asked to rotate.
7. **Generate the per-repo files + install.** Read the canonical
- template from `~/.config/usezombie/samples/platform-ops/`. If the
+ template from `~/.config/agentsfleet/samples/platform-ops/`. If the
directory is missing, the npm install was corrupted or postinstall
was skipped — print `Cannot find platform-ops template at
- ~/.config/usezombie/samples/platform-ops/. Reinstall: npm install
- -g @usezombie/zombiectl` and exit. Never fetch from a URL. Never
+ ~/.config/agentsfleet/samples/platform-ops/. Reinstall: npm install
+ -g @agentsfleet/cli` and exit. Never fetch from a URL. Never
cache. The npm package version *is* the template version.
Substitute the five placeholders into the template's `SKILL.md`
- and `TRIGGER.md`, then write the output to `.usezombie/platform-ops/`
+ and `TRIGGER.md`, then write the output to `.agentsfleet/platform-ops/`
in the user's CWD:
| Placeholder | Source |
@@ -175,19 +175,19 @@ surface the diagnostic and let the user fix it before retrying.
| `{{model}}` | doctor `tenant_provider.model` (real value or `""` under self-managed) |
| `{{context_cap_tokens}}` | doctor `tenant_provider.context_cap_tokens` (real value or `0` under self-managed) |
- If `.usezombie/platform-ops/` already exists, prompt overwrite
+ If `.agentsfleet/platform-ops/` already exists, prompt overwrite
(default `N`). On `N`, exit cleanly with no changes to disk.
- Run `zombiectl zombie install --from .usezombie/platform-ops/ --json`.
- Capture `zombie_id` and the `webhook_urls` map from the response.
+ Run `agentsfleet agent install --from .agentsfleet/platform-ops/ --json`.
+ Capture `agent_id` and the `webhook_urls` map from the response.
The map is keyed by `` (`github`, `linear`, `jira`, etc.)
with `` values. Cron-only / api-only installs return
`webhook_urls: {}` and skip steps 8–10. If the response lacks
`webhook_urls`, surface the captured JSON and exit with "install
JSON missing webhook_urls — file an issue".
8. **Parse the rendered TRIGGER.md.** Read
- `.usezombie/platform-ops/TRIGGER.md` (the file just written in
- step 7), extract `x-usezombie.triggers[]`, and for each `webhook`
+ `.agentsfleet/platform-ops/TRIGGER.md` (the file just written in
+ step 7), extract `x-agentsfleet.triggers[]`, and for each `webhook`
entry capture `source`, `events` (default empty = "all events for
this provider"), and the optional `credential_name` override.
These drive the gh-api loop in step 9. Skip non-webhook entries
@@ -239,24 +239,24 @@ surface the diagnostic and let the user fix it before retrying.
Expect HTTP `202` per source. On non-202, network failure, or
HMAC mismatch, print the response verbatim and stop. The user
never finds out hours later that HMAC is wrong.
-11. **Post-install summary.** Print the `zombie_id`, the registered
+11. **Post-install summary.** Print the `agent_id`, the registered
`hook_id` per source (e.g. `webhook:github → hook 482389123`),
the HMAC-verified status per source, and the credentials stored
in the workspace vault. **No paste-into-GitHub prose** — the
user's `gh` already did the registration in step 9.
12. **Smoke test.** Run
- `zombiectl steer {zombie_id} "morning health check"` and stream
+ `agentsfleet steer {agent_id} "morning health check"` and stream
the response inline. If the round-trip exceeds 60 seconds, print
- "zombie installed but first response slow — check
- `zombiectl events {zombie_id}`" and stop. Otherwise the user has a
- working zombie posting to their Slack within ~60 seconds of
+ "agent installed but first response slow — check
+ `agentsfleet events {agent_id}`" and stop. Otherwise the user has a
+ working agent posting to their Slack within ~60 seconds of
invoking this skill.
## Common Mistakes
| # | Mistake | Fix |
|---|---|---|
-| 1 | Skipping `zombiectl doctor` and going straight to install | Doctor is the only sanctioned readiness check. Always run it first. |
+| 1 | Skipping `agentsfleet doctor` and going straight to install | Doctor is the only sanctioned readiness check. Always run it first. |
| 2 | Passing the JSON body via `--data ''` instead of `--data @-` | Secret bytes leak into shell history and `ps` output. Always pipe JSON on stdin. |
| 3 | Re-running the skill on a second repo and overwriting `github.webhook_secret` | The credential `add` default skip-if-exists prevents this. Don't pass `--force` unless rotating. The skill prompts reuse-vs-scope on second install (step 5). |
| 4 | Asking the user to paste the webhook into GitHub Settings → Webhooks | The skill registers the webhook via `gh api repos/.../hooks` in step 9. There is no paste-into-github.com step in this flow. Self-verify with `openssl dgst -sha256 -hmac` + `curl` to the receiver (step 10) before declaring success. |
@@ -273,8 +273,8 @@ surface the diagnostic and let the user fix it before retrying.
## Out of Scope
- Non-GitHub-Actions CI providers (GitLab, CircleCI, Jenkins) — future milestone.
-- self-managed setup — out-of-band, via `zombiectl credential add --data @-`
- + `zombiectl tenant provider add --credential `. The skill never
+- self-managed setup — out-of-band, via `agentsfleet credential add --data @-`
+ + `agentsfleet tenant provider add --credential `. The skill never
asks about, holds, or stores an LLM api_key.
- GitHub App for auto-webhook configuration — separate milestone (next
install-UX iteration). Until then, the `gh api repos/.../hooks` call
diff --git a/usezombie-install-platform-ops/evals/bun.lock b/agentsfleet-install-platform-ops/evals/bun.lock
similarity index 77%
rename from usezombie-install-platform-ops/evals/bun.lock
rename to agentsfleet-install-platform-ops/evals/bun.lock
index 8b9cd5f..aa65dd8 100644
--- a/usezombie-install-platform-ops/evals/bun.lock
+++ b/agentsfleet-install-platform-ops/evals/bun.lock
@@ -3,7 +3,7 @@
"configVersion": 1,
"workspaces": {
"": {
- "name": "@usezombie/skill-evals-install-platform-ops",
+ "name": "@agentsfleet/skill-evals-install-platform-ops",
"devDependencies": {
"@types/bun": "latest",
"typescript": "^5.6.0",
@@ -13,7 +13,7 @@
"packages": {
"@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="],
- "@types/node": ["@types/node@25.8.0", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ=="],
+ "@types/node": ["@types/node@25.9.3", "", { "dependencies": { "undici-types": ">=7.24.0 <7.24.7" } }, "sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg=="],
"bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="],
diff --git a/usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/.github/workflows/deploy.yml b/agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/.github/workflows/deploy.yml
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/.github/workflows/deploy.yml
rename to agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/.github/workflows/deploy.yml
diff --git a/usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/fly.toml b/agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/fly.toml
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/fly.toml
rename to agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/fly.toml
diff --git a/usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/package.json b/agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/package.json
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/gh-actions-fly/package.json
rename to agentsfleet-install-platform-ops/evals/fixtures/gh-actions-fly/package.json
diff --git a/usezombie-install-platform-ops/evals/fixtures/gh-actions-only/.github/workflows/test.yml b/agentsfleet-install-platform-ops/evals/fixtures/gh-actions-only/.github/workflows/test.yml
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/gh-actions-only/.github/workflows/test.yml
rename to agentsfleet-install-platform-ops/evals/fixtures/gh-actions-only/.github/workflows/test.yml
diff --git a/usezombie-install-platform-ops/evals/fixtures/gh-actions-only/package.json b/agentsfleet-install-platform-ops/evals/fixtures/gh-actions-only/package.json
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/gh-actions-only/package.json
rename to agentsfleet-install-platform-ops/evals/fixtures/gh-actions-only/package.json
diff --git a/usezombie-install-platform-ops/evals/fixtures/no-ci/package.json b/agentsfleet-install-platform-ops/evals/fixtures/no-ci/package.json
similarity index 100%
rename from usezombie-install-platform-ops/evals/fixtures/no-ci/package.json
rename to agentsfleet-install-platform-ops/evals/fixtures/no-ci/package.json
diff --git a/usezombie-install-platform-ops/evals/llm-judge.eval.ts b/agentsfleet-install-platform-ops/evals/llm-judge.eval.ts
similarity index 100%
rename from usezombie-install-platform-ops/evals/llm-judge.eval.ts
rename to agentsfleet-install-platform-ops/evals/llm-judge.eval.ts
diff --git a/usezombie-install-platform-ops/evals/package.json b/agentsfleet-install-platform-ops/evals/package.json
similarity index 76%
rename from usezombie-install-platform-ops/evals/package.json
rename to agentsfleet-install-platform-ops/evals/package.json
index b3b859c..160dfc7 100644
--- a/usezombie-install-platform-ops/evals/package.json
+++ b/agentsfleet-install-platform-ops/evals/package.json
@@ -1,5 +1,5 @@
{
- "name": "@usezombie/skill-evals-install-platform-ops",
+ "name": "@agentsfleet/skill-evals-install-platform-ops",
"private": true,
"version": "0.0.0",
"type": "module",
diff --git a/usezombie-install-platform-ops/evals/repo-detection.test.ts b/agentsfleet-install-platform-ops/evals/repo-detection.test.ts
similarity index 100%
rename from usezombie-install-platform-ops/evals/repo-detection.test.ts
rename to agentsfleet-install-platform-ops/evals/repo-detection.test.ts
diff --git a/usezombie-install-platform-ops/evals/skill-body.test.ts b/agentsfleet-install-platform-ops/evals/skill-body.test.ts
similarity index 98%
rename from usezombie-install-platform-ops/evals/skill-body.test.ts
rename to agentsfleet-install-platform-ops/evals/skill-body.test.ts
index f72e6d1..b0bbd3d 100644
--- a/usezombie-install-platform-ops/evals/skill-body.test.ts
+++ b/agentsfleet-install-platform-ops/evals/skill-body.test.ts
@@ -29,7 +29,7 @@ test("frontmatter declares all three operator inputs", () => {
test("frontmatter declares required + optional binaries", () => {
const fm = frontmatter(skillBody);
- expect(fm).toMatch(/bins: \[zombiectl, gh, openssl, curl\]/);
+ expect(fm).toMatch(/bins: \[agentsfleet, gh, openssl, curl\]/);
expect(fm).toMatch(/optional_bins: \[op\]/);
});
diff --git a/usezombie-install-platform-ops/evals/skill-runtime.test.ts b/agentsfleet-install-platform-ops/evals/skill-runtime.test.ts
similarity index 85%
rename from usezombie-install-platform-ops/evals/skill-runtime.test.ts
rename to agentsfleet-install-platform-ops/evals/skill-runtime.test.ts
index 6b9e55b..f833a9d 100644
--- a/usezombie-install-platform-ops/evals/skill-runtime.test.ts
+++ b/agentsfleet-install-platform-ops/evals/skill-runtime.test.ts
@@ -6,8 +6,8 @@
// the LLM does at that step.
//
// TRIGGER.md template assertions from the original Node:test suite stayed
-// in usezombie (samples/platform-ops/TRIGGER.md lives there, not in this
-// repo). See usezombie's tests/template-substitution/ for that surface.
+// in agentsfleet (samples/platform-ops/TRIGGER.md lives there, not in this
+// repo). See agentsfleet's tests/template-substitution/ for that surface.
import { test, expect } from "bun:test";
import { readFileSync } from "node:fs";
@@ -19,13 +19,13 @@ const skillDir = resolve(__dirname, "..");
const skillBody = readFileSync(resolve(skillDir, "SKILL.md"), "utf8");
test("s1.0 — precondition check command + stop-on-miss prose", () => {
- expect(skillBody).toMatch(/which zombiectl && which gh && zombiectl doctor --json/);
+ expect(skillBody).toMatch(/which agentsfleet && which gh && agentsfleet doctor --json/);
expect(skillBody).toMatch(/Any miss → print the exact one-liner above to fix it and stop\./);
});
-test("s1.0 — missing-zombiectl remediation: npm install one-liner", () => {
- expect(skillBody).toMatch(/npm install -g @usezombie\/zombiectl/);
- const installIdx = skillBody.indexOf("npm install -g @usezombie/zombiectl");
+test("s1.0 — missing-agentsfleet remediation: npm install one-liner", () => {
+ expect(skillBody).toMatch(/npm install -g @agentsfleet\/cli/);
+ const installIdx = skillBody.indexOf("npm install -g @agentsfleet/cli");
const stopIdx = skillBody.indexOf("Any miss → print the exact one-liner above");
expect(installIdx).toBeGreaterThan(-1);
expect(stopIdx).toBeGreaterThan(-1);
@@ -38,7 +38,7 @@ test("s1.0 — missing-gh-scope remediation: gh auth refresh one-liner", () => {
});
test("s1.8 — parses triggers[] from rendered TRIGGER.md, skips non-webhook for s1.9", () => {
- expect(skillBody).toMatch(/extract\s+`x-usezombie\.triggers\[\]`/);
+ expect(skillBody).toMatch(/extract\s+`x-agentsfleet\.triggers\[\]`/);
expect(skillBody).toMatch(/Skip non-webhook entries\s+\(cron \/ api\)/);
});
diff --git a/usezombie-install-platform-ops/evals/tsconfig.json b/agentsfleet-install-platform-ops/evals/tsconfig.json
similarity index 100%
rename from usezombie-install-platform-ops/evals/tsconfig.json
rename to agentsfleet-install-platform-ops/evals/tsconfig.json
diff --git a/usezombie-install-platform-ops/references/credential-resolution.md b/agentsfleet-install-platform-ops/references/credential-resolution.md
similarity index 87%
rename from usezombie-install-platform-ops/references/credential-resolution.md
rename to agentsfleet-install-platform-ops/references/credential-resolution.md
index ff44c42..f137b5f 100644
--- a/usezombie-install-platform-ops/references/credential-resolution.md
+++ b/agentsfleet-install-platform-ops/references/credential-resolution.md
@@ -15,13 +15,13 @@ substitution path both look up by convention.
| Slack | `slack` | `{"api_token": ""}` | Single field. The bot must already be invited to the channel the operator named at install. |
| Upstash | `upstash` (optional) | `{"redis_url": "", "redis_token": ""}` | Skipped if the repo has no Redis evidence (no `upstash` strings in deploy config, no `REDIS_URL` env). |
-The vault credential name is a **convention**, not a per-zombie
+The vault credential name is a **convention**, not a per-agent
pointer. The webhook ingest resolver looks the credential up by
`name = trigger.source` automatically — so the generated TRIGGER.md
does not write a `signature.secret_ref:` field for the convention case.
-The only exception is when the user picked per-zombie scoping (option B
+The only exception is when the user picked per-agent scoping (option B
in the install-skill's step 5): then the generated TRIGGER.md carries
-`credential_name: github-{zombie_slug}` and that name overrides the
+`credential_name: github-{agent_slug}` and that name overrides the
default lookup.
## Resolution order, per field
@@ -40,16 +40,16 @@ stop at the first hit:
Each user has their own `op` layout. If the field returns empty or
`op` errors out, fall through to step 2.
-2. **Environment variable** named `ZOMBIE_CRED__` —
+2. **Environment variable** named `AGENTSFLEET_CRED__` —
uppercase, underscores. Examples:
```bash
- ZOMBIE_CRED_FLY_API_TOKEN
- ZOMBIE_CRED_FLY_HOST
- ZOMBIE_CRED_GITHUB_API_TOKEN
- ZOMBIE_CRED_SLACK_API_TOKEN
- ZOMBIE_CRED_UPSTASH_REDIS_URL
- ZOMBIE_CRED_UPSTASH_REDIS_TOKEN
+ AGENTSFLEET_CRED_FLY_API_TOKEN
+ AGENTSFLEET_CRED_FLY_HOST
+ AGENTSFLEET_CRED_GITHUB_API_TOKEN
+ AGENTSFLEET_CRED_SLACK_API_TOKEN
+ AGENTSFLEET_CRED_UPSTASH_REDIS_URL
+ AGENTSFLEET_CRED_UPSTASH_REDIS_TOKEN
```
Useful in CI fixtures and for quick tests; not the recommended
@@ -62,7 +62,7 @@ stop at the first hit:
The `webhook_secret` field on the `github` credential is the one
exception: the skill generates it locally (32 CSPRNG bytes,
base64-encoded) on first install rather than reading it from any of
-the three sources above. Subsequent installs reuse or scope-per-zombie
+the three sources above. Subsequent installs reuse or scope-per-agent
per the install-skill's step 5.
## Why JSON on stdin (`--data @-`)
@@ -74,7 +74,7 @@ The skill never passes credential JSON via `--data ''` because:
- Audit logs of the user's shell sessions get a verbatim copy.
Piping on stdin (`--data @-`) keeps secret bytes inside the process
-boundary. The JSON arrives at `zombiectl` via `read(0)`; the parent
+boundary. The JSON arrives at `agentsfleet` via `read(0)`; the parent
shell has no record of the payload.
## `gh` authentication precondition (webhook registration)
@@ -107,7 +107,7 @@ on the GitHub side. There is no paste-into-github.com step.
## Storing fewer fields than the JSON shape suggests
-`zombiectl credential add` accepts any JSON object — the field set is
+`agentsfleet credential add` accepts any JSON object — the field set is
not validated against a schema. If a credential body is missing a
field that downstream code needs (e.g. `slack` without `api_token`),
the failure surfaces at *use* time as `secret_not_found` against
@@ -123,13 +123,13 @@ rotation path is:
```bash
# Capture the current webhook_secret so rotation preserves it; without
# this the next inbound webhook would fail HMAC verification silently.
-OLD_SECRET=$(zombiectl credential show github --field webhook_secret)
+OLD_SECRET=$(agentsfleet credential show github --field webhook_secret)
[ -z "$OLD_SECRET" ] && { echo "rotation aborted: no existing webhook_secret to preserve" >&2; exit 1; }
op read 'op:////api_token' \
| jq -Rn --arg secret "$OLD_SECRET" \
'{webhook_secret: $secret, api_token: input}' \
- | zombiectl credential add github --force --data @-
+ | agentsfleet credential add github --force --data @-
```
`--force` overrides the default skip-if-exists. The skill never emits
diff --git a/usezombie-install-platform-ops/references/failure-modes.md b/agentsfleet-install-platform-ops/references/failure-modes.md
similarity index 62%
rename from usezombie-install-platform-ops/references/failure-modes.md
rename to agentsfleet-install-platform-ops/references/failure-modes.md
index d61f488..0cbe801 100644
--- a/usezombie-install-platform-ops/references/failure-modes.md
+++ b/agentsfleet-install-platform-ops/references/failure-modes.md
@@ -6,36 +6,36 @@ This document is the lookup table the agent loads when an exit happens.
| Step | Mode | Cause | What the skill prints | What the user does |
|---|---|---|---|---|
-| 1 — doctor preflight | `auth_token_present: false` | User not logged in | `Run zombiectl auth login first` | `zombiectl auth login`, retry skill |
-| 1 — doctor preflight | Workspace not bound | CLI never picked a workspace | Doctor's `workspace` block verbatim | `zombiectl workspace use `, retry |
+| 1 — doctor preflight | `auth_token_present: false` | User not logged in | `Run agentsfleet auth login first` | `agentsfleet auth login`, retry skill |
+| 1 — doctor preflight | Workspace not bound | CLI never picked a workspace | Doctor's `workspace` block verbatim | `agentsfleet workspace use `, retry |
| 1 — doctor preflight | Vault unreachable | API is down or behind a network split | Doctor's `vault` block verbatim, with the API URL | Check status page, retry once back |
| 3 — repo detection | No `.github/workflows/` | Repo doesn't use GitHub Actions | `GitHub Actions only in v1` | Either set up a GH Actions workflow, or wait for the next-CI-providers milestone |
| 3 — repo detection | Multiple deploy workflows | Ambiguous which workflow is production | List of workflow file names, prompt to pick one | Pick the production-deploy workflow file |
-| 5 — webhook secret | `zombiectl credential show github --json` fails | API down or vault unreachable | `zombiectl credential show github` stderr verbatim | Resolve the API/vault issue, retry |
-| 6 — credential add | `zombiectl credential add` fails | API down or auth expired | `zombiectl credential add ` stderr verbatim | Resolve, retry |
+| 5 — webhook secret | `agentsfleet credential show github --json` fails | API down or vault unreachable | `agentsfleet credential show github` stderr verbatim | Resolve the API/vault issue, retry |
+| 6 — credential add | `agentsfleet credential add` fails | API down or auth expired | `agentsfleet credential add ` stderr verbatim | Resolve, retry |
| 6 — credential add | User aborts at masked prompt | User chose to stop | Empty value detected; re-prompt up to 2× then exit | Run skill again with creds in `op` or env to skip prompts |
-| 0 — preconditions | `which zombiectl` empty | npm install missing | Exact one-liner: `npm install -g @usezombie/zombiectl` | Run the one-liner, retry skill |
+| 0 — preconditions | `which agentsfleet` empty | npm install missing | Exact one-liner: `npm install -g @agentsfleet/cli` | Run the one-liner, retry skill |
| 0 — preconditions | `which gh` empty | `gh` CLI missing | Install via `brew install gh` or platform equivalent | Install `gh`, retry skill |
| 0 — preconditions | `gh auth status` lacks `admin:repo_hook` | gh token narrowed | `gh auth refresh -s admin:repo_hook` | Run the refresh (opens browser), retry skill |
-| 7 — template read | `~/.config/usezombie/samples/platform-ops/` missing | npm postinstall skipped or install corrupted | `Cannot find platform-ops template at ~/.config/usezombie/samples/platform-ops/. Reinstall: npm install -g @usezombie/zombiectl` | `npm install -g @usezombie/zombiectl`, retry |
-| 7 — substitution | `.usezombie/platform-ops/` already exists | Re-running on same repo | Prompt overwrite (default `N`) | Choose `Y` to overwrite, or exit and remove the directory manually |
+| 7 — template read | `~/.config/agentsfleet/samples/platform-ops/` missing | npm postinstall skipped or install corrupted | `Cannot find platform-ops template at ~/.config/agentsfleet/samples/platform-ops/. Reinstall: npm install -g @agentsfleet/cli` | `npm install -g @agentsfleet/cli`, retry |
+| 7 — substitution | `.agentsfleet/platform-ops/` already exists | Re-running on same repo | Prompt overwrite (default `N`) | Choose `Y` to overwrite, or exit and remove the directory manually |
| 7 — install | Response missing `webhook_urls` | API contract regression | Captured JSON verbatim, then `install JSON missing webhook_urls — file an issue` | File issue with the JSON; retry once a fix ships |
-| 7 — install | HTTP 5xx from API | API outage | `zombiectl zombie install` stderr verbatim | Wait for status page, retry |
+| 7 — install | HTTP 5xx from API | API outage | `agentsfleet agent install` stderr verbatim | Wait for status page, retry |
| 9 — gh api hook register | `gh api` 403 / 401 (missing scope) | User's `gh` token lacks `admin:repo_hook` | `gh auth refresh -s admin:repo_hook` (exact command) | Run the refresh command (opens browser), retry skill |
| 9 — gh api hook register | `gh api` 422 hook already exists | Re-install on same repo | Idempotent: skill calls `gh api repos/${GH_REPO}/hooks` (GET), matches `config.url`, treats as registered, advances | No user action; skill proceeds |
| 9 — gh api hook register | `gh api` 404 | Repo name wrong or token lacks repo access | `gh api` response body verbatim | Verify `${GH_REPO}` (`gh repo view --json nameWithOwner`), confirm token has access |
-| 10 — webhook self-test | Receiver returns non-202 | HMAC mismatch, receiver bug, or wrong zombie_id | Receiver's response body verbatim, plus the curl command that was run | Re-run skill (often a transient credential-write race); if persistent, file with the response body |
-| 10 — webhook self-test | Network error to api.usezombie.com | DNS, captive portal, firewall | `curl` stderr verbatim | Resolve network, retry |
+| 10 — webhook self-test | Receiver returns non-202 | HMAC mismatch, receiver bug, or wrong agent_id | Receiver's response body verbatim, plus the curl command that was run | Re-run skill (often a transient credential-write race); if persistent, file with the response body |
+| 10 — webhook self-test | Network error to api.agentsfleet.net | DNS, captive portal, firewall | `curl` stderr verbatim | Resolve network, retry |
| 10 — webhook self-test | HMAC mismatch with stored secret | Race between `credential add` and `credential show` cache, or local CSPRNG bug | Computed signature verbatim alongside the receiver's expected | Retry once; if persistent, regenerate via `--force` |
-| 12 — smoke steer | Round-trip > 60 seconds | Worker not picking up event | `zombie installed but first response slow — check zombiectl events {id}` | `zombiectl events {id}` to see where it hung |
-| 12 — smoke steer | `zombiectl steer` returns error | Zombie status not `active`, or RPC failure | `zombiectl steer` stderr verbatim | Check `zombiectl status {id}`, then retry |
-| post-install | npm postinstall logged a warning | FS permission issue, full disk, weird platform | `~/.config/usezombie/samples/` was not populated; user will hit step 7's "missing template" path on next install | Fix the FS issue, re-run `npm install -g @usezombie/zombiectl` |
+| 12 — smoke steer | Round-trip > 60 seconds | Worker not picking up event | `agent installed but first response slow — check agentsfleet events {id}` | `agentsfleet events {id}` to see where it hung |
+| 12 — smoke steer | `agentsfleet steer` returns error | Agent status not `active`, or RPC failure | `agentsfleet steer` stderr verbatim | Check `agentsfleet status {id}`, then retry |
+| post-install | npm postinstall logged a warning | FS permission issue, full disk, weird platform | `~/.config/agentsfleet/samples/` was not populated; user will hit step 7's "missing template" path on next install | Fix the FS issue, re-run `npm install -g @agentsfleet/cli` |
## What the skill never does on failure
- **Never silently retry.** Each failure surfaces and waits.
- **Never partially install.** If any step after the credential-add
- step fails, the credentials remain in vault but the zombie is not
+ step fails, the credentials remain in vault but the agent is not
installed. Re-running the skill on the same repo picks up the
vault state (skip-if-exists default) and re-runs the install
sequence cleanly.
@@ -54,10 +54,10 @@ This document is the lookup table the agent loads when an exit happens.
Two checks resolve ~80% of install failures without filing an issue:
```bash
-zombiectl doctor --json | jq .
-zombiectl --version
+agentsfleet doctor --json | jq .
+agentsfleet --version
```
Doctor's output names the failed subsystem. The version output catches
"installed long ago, drifted from the API" cases — `npm install -g
-@usezombie/zombiectl@latest` is usually enough.
+@agentsfleet/cli@latest` is usually enough.
diff --git a/usezombie-install-platform-ops/references/self-managed-handoff.md b/agentsfleet-install-platform-ops/references/self-managed-handoff.md
similarity index 79%
rename from usezombie-install-platform-ops/references/self-managed-handoff.md
rename to agentsfleet-install-platform-ops/references/self-managed-handoff.md
index c27608d..0f7db14 100644
--- a/usezombie-install-platform-ops/references/self-managed-handoff.md
+++ b/agentsfleet-install-platform-ops/references/self-managed-handoff.md
@@ -3,11 +3,11 @@
The install-skill is platform-managed by default. It never asks the
user about LLM provider, never holds an LLM API key, never writes to
`tenant_providers`. That is deliberate — self-managed setup is its own
-operator-deliberate flow, separate from per-repo zombie installation.
+operator-deliberate flow, separate from per-repo agent installation.
This document is the lookup the agent loads when the user asks
something like "I want to use my own Fireworks key" or "switch this
-zombie to Anthropic".
+agent to Anthropic".
## What "self-managed" actually means
@@ -23,10 +23,10 @@ Two visible effects after switching to self-managed:
account directly (the platform never sees the money). The
platform's credit-pool stays for non-inference costs (per-request
ingest, Redis fan-out, etc.) but inference is on the user's tab.
-- **Frontmatter sentinels.** Every zombie installed *after* the
+- **Frontmatter sentinels.** Every agent installed *after* the
switch carries `model: ""` and `context_cap_tokens: 0` in its
generated TRIGGER.md. The worker overlays the real values from
- `core.tenant_providers` at trigger time. Zombies installed *before*
+ `core.tenant_providers` at trigger time. Agents installed *before*
the switch keep their pinned values; the user can re-run the
install-skill on each repo to re-pin against the new posture, or
hand-edit the frontmatter if they prefer.
@@ -41,19 +41,19 @@ op read 'op://Personal/fireworks-prod/api_key' \
| jq -Rn '{provider: "fireworks",
api_key: input,
model: "accounts/fireworks/models/kimi-k2.6"}' \
- | zombiectl credential add fw-prod --data @-
+ | agentsfleet credential add fw-prod --data @-
# 2. Tell the tenant-provider resolver to use that credential.
-zombiectl tenant provider add --credential fw-prod
+agentsfleet tenant provider add --credential fw-prod
# 3. Verify the doctor block flipped to self-managed posture.
-zombiectl doctor --json | jq '.tenant_provider'
+agentsfleet doctor --json | jq '.tenant_provider'
# Expect: { mode: "self_managed", provider: "fireworks",
# model: "accounts/fireworks/models/kimi-k2.6",
# context_cap_tokens: 256000, credential_ref: "fw-prod" }
```
-After step 3, every subsequent `/usezombie-install-platform-ops` run
+After step 3, every subsequent `/agentsfleet-install-platform-ops` run
generates self-managed frontmatter automatically — the install-skill reads
doctor and branches on `mode`. No flag, no prompt.
@@ -67,18 +67,18 @@ If the install-skill held the LLM API key during the install flow:
shows up in transcripts, history, ticket attachments.
- The install-skill would have to know the provider's vault layout,
the model-cap origin, the context_cap_tokens for every supported
- model — all things `zombiectl tenant provider add` already owns.
+ model — all things `agentsfleet tenant provider add` already owns.
- Every host the skill runs in (Claude Code, Amp, Codex CLI,
OpenCode) would need its own auth-store integration to resolve
- provider keys. Keeping it in `zombiectl` means one integration.
+ provider keys. Keeping it in `agentsfleet` means one integration.
-The boundary is: **the install-skill orchestrates `zombiectl`; it
-never holds the secrets that `zombiectl` operates on directly.**
+The boundary is: **the install-skill orchestrates `agentsfleet`; it
+never holds the secrets that `agentsfleet` operates on directly.**
## Switching back from self-managed to platform-managed
```bash
-zombiectl tenant provider delete
+agentsfleet tenant provider delete
```
Doctor's next call will report `mode: platform`. Re-run the install
@@ -91,10 +91,10 @@ when no `tenant_providers` row exists).
- Picking which provider to use — that's a product decision (cost,
context window, model quality, region). The cap.json endpoint at
- `https://api.usezombie.com/_um/da5b6b3810543fe108d816ee972e4ff8/cap.json`
+ `https://api.agentsfleet.net/_um/da5b6b3810543fe108d816ee972e4ff8/cap.json`
lists every supported model with its context cap and per-token rate.
- Multi-provider routing — there is one active provider per tenant.
- Per-zombie provider override is a future milestone.
+ Per-agent provider override is a future milestone.
- Provider auth troubleshooting — that's the provider's docs, not
- this skill's. `zombiectl tenant provider add` validates the key
+ this skill's. `agentsfleet tenant provider add` validates the key
before persisting; the failure surface there is provider-specific.
diff --git a/assets/logo/dark.svg b/assets/logo/dark.svg
index d4379ba..ad5d2da 100644
--- a/assets/logo/dark.svg
+++ b/assets/logo/dark.svg
@@ -1,47 +1,20 @@
-
diff --git a/assets/logo/light.svg b/assets/logo/light.svg
index 047bf33..545eb70 100644
--- a/assets/logo/light.svg
+++ b/assets/logo/light.svg
@@ -1,44 +1,18 @@
-