Skills

Daemon

Continuous autonomous operation mode.

Install

npx skills add SethGammon/Citadel --skill daemon -g -a claude-code -y
Repository
SethGammon/Citadel927
Category
AI and agents
Updated
5d ago
License
MIT
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

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.

/daemon -- Continuous Autonomous Operation

Architecture, daemon.json field reference, and rationale: docs/DAEMON.md.

Orientation

Use when: running campaigns overnight or unattended -- chains sessions automatically until a ceiling or budget is hit. Don't use when: a single autonomous session is enough (use /archon); you want manual control between cycles (use /loop).

Default execution path (READ FIRST)

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

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.

Default flow, /daemon start (no --remote flag)

  1. Do Steps 1, 2, and 4 below (validate, check existing, write daemon.json).
  2. Skip Step 3, do NOT create any RemoteTrigger. Leave chainTriggerId and watchdogTriggerId as null in the state file.
  3. 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:
    To start the tick loop, run in a separate terminal:
      npm run daemon:local
    
    Leave that terminal open. It spawns `claude --permission-mode default -p "/do continue"` each
    session, respects daemon.json status, and consumes zero Anthropic
    routine quota. Stop with Ctrl+C or `/daemon stop`.
    
    For true unattended background operation (machine sleeps, user away):
      /daemon start --remote    (uses RemoteTrigger, counts against 15/day cap)
    

Local execution safety

Read the whole SKILL.md on GitHub

More in AI and agents