agentleFS
GoodnessmbakaraGoodnessmbakara/codex-skills/skills/loop/SKILL.md

loop

Skill1 starsChanged 3 months agoMITView on GitHub

Run a prompt or skill in this session on a recurring or variable interval (e.g. /loop 5m /foo).

55 other projects use a version of this, 3 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use origin and new-repo.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • 0mlkrizzz655335vSkill

    origin

    origin CLI 管理。安装、登录、更新、修复 origin.cursor.com 的 CLI。"disabled-environments:

    Also in 3 projects that use this

  • 0mlkrizzz655335vSkill

    new-repo

    创建并推送托管仓库。验证平台后创建 Codex 托管仓库并推送。

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 50 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    No interval: dynamic mode.

    line 17
  2. Very specific:

    Use intervals like 30s, 5m, 2h, 1d.

    line 20
  3. Distinctive:

    Use monitored shell output to wake the agent for recurring local work.

    line 22
  4. Distinctive:

    Check existing terminals for an already-running matching loop.

    line 33
  5. Very specific:

    Start one background shell loop with notify_on_output.

    line 34
  6. Very specific:

    Use a unique sentinel and a regex such as ^AGENT_LOOP_TICK_<purpose>.

    line 35
  7. Distinctive:

    Run the prompt once immediately after arming the loop.

    line 37
  8. Distinctive:

    Prefer monitored shell output over OS cron when the agent needs wake notifications.

    line 69
  9. Distinctive:

    Use a unique sentinel per loop so unrelated output does not trigger notifications.

    line 70
  10. Distinctive:

    Avoid noisy commands inside the loop.

    line 71
  11. Distinctive:

    Do not create duplicate fixed loops or dynamic sleepers.

    line 72
  12. Distinctive:

    If the user asks to stop, kill any tracked loop/sleeper PID, then await the shell task so its completion notification is consumed and does …

    line 73

“Common” is measured: kept by at least 6 in 10 of the 50 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Loop

Parse

Accept /loop [interval] <prompt>.

  • Leading interval: 5m /foo, 30s check status, 2h run report.
  • Trailing interval: check deploy every 5m, run tests every 10 minutes.
  • No interval: dynamic mode; the agent chooses the next delay after each run.
  • Empty prompt: show Usage: /loop [interval] <prompt>.

Use intervals like 30s, 5m, 2h, 1d. Convert unit words to short units.

Use monitored shell output to wake the agent for recurring local work.

Fixed Schedule

while true; do
  sleep <seconds>
  echo 'AGENT_LOOP_TICK_<purpose> {"prompt":"<prompt>"}'
done
  1. Check existing terminals for an already-running matching loop.
  2. Start one background shell loop with notify_on_output.
  3. Use a unique sentinel and a regex such as ^AGENT_LOOP_TICK_<purpose>.
  4. Smoke-check once to confirm clean startup.
  5. Run the prompt once immediately after arming the loop.
  6. The first sentinel should arrive only after the initial sleep, so startup does not double-run the prompt.
  7. Track the PID so the agent can stop the loop if asked.
  8. Briefly confirm: the interval, that the prompt already ran once, when the first tick will arrive, and that the loop will fire on each tick until stopped. On later ticks, give a short update of what changed. On stop, say the loop has stopped and why.

Dynamic Schedule

The user wants the agent to self-pace. Decide what makes the next iteration worth running — a passage of time, or an observable event.

  1. Run the prompt now.
  2. If the next run is gated on an event (a git ref advancing, a log line matching, a file changing, a CI check completing), arm a background watcher that emits the sentinel only when the event fires, with notify_on_output on ^AGENT_LOOP_WAKE_<purpose>. Arm once; skip on later ticks if it's still running.
  3. At the end of the turn, arm a one-shot time-based wake:
sleep <seconds>
echo 'AGENT_LOOP_WAKE_<purpose> {"prompt":"<prompt>"}'

With a watcher armed, this is the fallback heartbeat — lean long so idle ticks aren't pure overhead. Without a watcher, this is the cadence — pick a delay based on when the result is worth checking again.

  1. On wake, read the latest payload, execute its prompt, then re-arm the next heartbeat (and re-arm the watcher only if it exited). If both an output wake and a completion notification arrive, act on the output and ignore the completion.
  2. To stop, kill any watcher PID and don't arm the next heartbeat.
  3. Briefly confirm: that you're self-pacing, whether a watcher is the primary wake signal, what fallback delay you picked, and that the prompt already ran.

Prompt Payload

Wake notifications include an output file path, not a submitted prompt. Put the prompt beside the sentinel, preferably as JSON. On wake, read the latest matching line and act on its prompt. The prompt may vary by tick.

Guidance

  • Title shell commands as Loop <schedule>: <prompt> (e.g. Loop every 5m: check deploy status).
  • Adapt loop syntax to the user's shell (e.g. PowerShell while ($true) { ... Start-Sleep } on Windows). The examples above use bash.
  • Prefer monitored shell output over OS cron when the agent needs wake notifications; stdout stays attached to the monitored task.
  • Use a unique sentinel per loop so unrelated output does not trigger notifications.
  • Avoid noisy commands inside the loop.
  • Do not create duplicate fixed loops or dynamic sleepers.
  • If the user asks to stop, kill any tracked loop/sleeper PID, then await the shell task so its completion notification is consumed and does not wake the agent later. Do not schedule another dynamic wake.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.