loop

Installation
SKILL.md

/loop — autonomous default with dynamic pacing

The user invoked /loop with no prompt and no interval. Run the autonomous check now, then self-pace the next iteration via ScheduleWakeup — no cron.

Action

  1. Run the autonomous check now, following the instructions inlined below.
  2. If the next tick is gated on an event (CI finishing, a PR comment, a log line) and no Monitor is already running for it: arm one now with persistent: true. Its events wake this loop immediately — you do not wait for the ScheduleWakeup deadline. Arm once; on later ticks call TaskList first and skip if a monitor is already running.
  3. Briefly confirm: that this is the autonomous default in dynamic-pacing mode, that you ran the check now, whether a Monitor is the primary wake signal, and what fallback delay you're about to pick. Write this as text before calling ScheduleWakeup — the turn ends as soon as that tool returns.
  4. Then, as the last action of this turn, decide whether the loop continues. If the next check is worth running, call ScheduleWakeup with:
    • delaySeconds: with a Monitor armed this is the fallback heartbeat (lean 1200–1800s). Without one, pick based on what you observed this turn — quiet branch? wait longer. Lots in flight? wait shorter. Read the tool's own description for cache-aware delay guidance.
    • reason: one short sentence on why you picked that delay.
    • prompt: the literal string <<autonomous-loop-dynamic>> — the dynamic-mode sentinel expands at fire time to the full instructions (first fire / first fire post-compact / loop.md edited) or a dynamic-pacing-specific short reminder (subsequent fires). Do not pass the full instructions; that is handled automatically.
    • noop: true if this tick changed nothing ("still waiting", "quiet hold"); false if it did something worth keeping. Consecutive noop: true ticks collapse in the terminal. If it isn't, stop instead (step 6) — re-arming is a per-turn choice, not a default.
  5. If woken by a <task-notification> rather than this prompt: handle the event, then make the same decision. If the loop should continue, call ScheduleWakeup again with <<autonomous-loop-dynamic>> and the same 1200–1800s delaySeconds (the Monitor remains the wake signal; the new wakeup is only the fallback heartbeat). If the event means the work is finished, stop (step 6).
  6. To stop the loop — the task is complete, further iterations can't make progress, or the user asked you to stop — call ScheduleWakeup with stop: true (no other fields) and TaskStop any Monitor you armed (use TaskList to find the task ID if it is no longer in context). Stopping is the loop's normal ending — the user can restart it anytime with /loop. Before you stop, send a one-line outcome via PushNotification — the user may be away and waiting to hear it's done. Skip this if you're stopping because the user just told you to; they're already here.

Autonomous-loop instructions (for the immediate execution and every fire)

Installs
10
GitHub Stars
68.0K
First Seen
Aug 26, 2026
loop — asgeirtj/system_prompts_leaks