daemon
Agent skill fromSethGammon/Citadel
Continuous autonomous operation mode. Keeps campaigns running 24/7 by chaining Claude Code sessions via RemoteTrigger. Each session picks up from the campaign's continuation state, works until context runs low or the phase completes, then schedules the next session. Auto-stops on campaign completion or budget exhaustion. The thing that makes Citadel run overnight.
How to install daemon
install daemon
# install the Citadel pack with the skills CLI
npx skills add SethGammon/Citadel# or add only this skill to Claude Code: copy the folder
skills/daemon/
# into
~/.claude/skills/daemon/ (all projects)
.claude/skills/daemon/ (one project)
1# /daemon -- Continuous Autonomous Operation23Architecture, daemon.json field reference, and rationale: docs/DAEMON.md.45## Orientation67**Use when:** running campaigns overnight or unattended -- chains sessions automatically until a ceiling or budget is hit.8**Don't use when:** a single autonomous session is enough (use /archon); you want manual control between cycles (use /loop).910## Default execution path (READ FIRST)1112**`/daemon start` does NOT call `RemoteTrigger` by default.** The local runner is the default. Only pass `--remote` to use Anthropic's routine system, and only after explicit user confirmation.1314**Why:** `RemoteTrigger` counts against the account-wide **15 routine runs / 24h** cap. A single overnight run can exhaust the quota and pause every other routine on the account (including unrelated ones). See [docs/ROUTINE-QUOTA.md](../../docs/ROUTINE-QUOTA.md).1516### Default flow — `/daemon start` (no `--remote` flag)17181. Do Steps 1, 2, and 4 below (validate, check existing, write `daemon.json`).192. **Skip Step 3.** Leave `chainTriggerId` and `watchdogTriggerId` as `null` in the state file. Keep the confirmation focused on the state path, campaign, finite budget, session ceiling, and local start/stop instructions.203. Instead of Step 5's trigger-confirmation, output the local-runner instructions (full text: docs/DAEMON.md#local-runner-default): the state file path, campaign, and budget, then:21 ```22 To start the tick loop, run in a separate terminal:23…
Excerpt shown under the repository's MIT license.
