Tooluck logoTooluck
SKILL.md

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)

skills/daemon/SKILL.md

MITFull file
1# /daemon -- Continuous Autonomous Operation
2
3Architecture, daemon.json field reference, and rationale: docs/DAEMON.md.
4
5## Orientation
6
7**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).
9
10## Default execution path (READ FIRST)
11
12**`/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.
13
14**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).
15
16### Default flow — `/daemon start` (no `--remote` flag)
17
181. 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.

More skills in Citadel

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates