Overview
Four commands move a zombie through its live states:up starts it, status shows what is currently running in your workspace, logs streams its activity, and kill stops it. Each command operates on the current workspace; set it with zombiectl workspace add or list with zombiectl workspace list.
zombiectl up
zombiectl up uploads the SKILL.md and TRIGGER.md files from a bundled template directory in your current working directory. It expects exactly one such directory; if none is found, the command fails. It does not take arguments today.
- The CLI looks for a known template directory (
lead-collector,slack-bug-fixer, …) in the working directory. - It reads
SKILL.mdandTRIGGER.md, extracting thenamefield from theTRIGGER.mdfrontmatter. - It POSTs the two markdown bodies to
/v1/workspaces/{workspace_id}/zombiesin your current workspace. - The server parses
TRIGGER.md, provisions a webhook endpoint, and starts the event loop. - The zombie is now alive and waiting.
0— zombie deployed.1— no template directory found in the working directory, no workspace selected, or API error.
zombiectl status
Lists every zombie in the current workspace with its state, events processed, and budget consumed.
--json for a machine-readable shape suitable for scripting.
zombiectl logs
Streams the activity stream for a single zombie. The activity stream is an append-only record — every webhook received, every skill invoked, every response returned, every budget check.
| Flag | Default | Purpose |
|---|---|---|
--zombie <id> | (required) | Zombie ID to stream. |
--limit <n> | 20 | Maximum events to return. |
--cursor <cursor> | (none) | Pagination cursor from a previous response. |
--cursor to continue.
zombiectl kill
Stops a zombie by name. The event loop terminates; the webhook becomes inactive; session state is preserved so the same name can be brought back up.
Exit codes
Every command returns a documented exit code. See the CLI reference for the full matrix.| Code | Meaning |
|---|---|
0 | Success. |
1 | Workspace or API error (no workspace selected, network failure, server rejected the call). |
2 | Invalid or missing argument (missing <template>, missing --zombie, etc.). |