AgentStack
SKILL verified MIT Self-run

Autonomous Loops

skill-project-nomos-nomos-autonomous-loops · by project-nomos

Create and manage your own autonomous loops -- recurring background jobs that run a prompt on a schedule (a daily briefing, a periodic check). Use this when you decide some work should happen on its own on a cadence, not just when asked. The user can always audit, disable, or delete loops you create.

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-project-nomos-nomos-autonomous-loops

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Autonomous Loops? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Autonomous Loops

An autonomous loop is a recurring job: a prompt that runs as your own agent turn on a schedule, with no user in the chat. The bundled loops live as LOOP.md files; the ones you create live as cron_jobs rows tagged source = 'agent' and owned by the current user. Either way, the cron engine fires them and the user can see and control them.

Reach for a loop when something genuinely benefits from happening on a cadence: a morning briefing, a weekly review of open commitments, a periodic sweep of a channel. Do not use a loop for one-off work (just do it now) or for anything time-critical (loops fire on a schedule, not instantly).

Tools

You manage your own loops with these in-loop tools (no slash command needed):

  • loop_list — see your loops, their schedules, and status. Check this first so you do not create a duplicate.
  • loop_create — create a loop (name, description, schedule, prompt). Starts enabled by default.
  • loop_enable / loop_disable — turn one of your loops on or off by name.
  • loop_update — change a loop's schedule or prompt.
  • loop_delete — remove one of your own (source: 'agent') loops.

You can only manage loops you created. Bundled loops and ones the user made are theirs to change (via Settings or the CLI), so loop_update/loop_delete will refuse them.

Writing a good loop

  1. Pick a clear, kebab-case name that says what it does: daily-standup-prep, weekly-commitment-review.
  2. Choose a schedule. Two forms:
  • cron (default): "0 8 * * *" = 8am daily, "*/30 * * * *" = every 30 min, "0 9 * * 1-5" = 9am weekdays.
  • interval (scheduleType: "every"): "6h", "1h", "30m". The floor is 5 minutes; nothing more frequent.

Schedule conservatively. A loop that fires every few minutes and usually has nothing to do is mostly noise and cost.

  1. Write the prompt as instructions to your future self running with no user present. Be explicit about which tools to use and what to produce (write to memory, draft a message, etc.).
  2. End the prompt with the silent-run convention: tell yourself to reply with exactly AUTONOMOUS_OK when there is nothing to do. That token is suppressed, so quiet runs stay quiet instead of pinging the user.
  3. Pick a delivery mode: none (silent, the default — good for work that writes to memory) or announce (post the result to the default channel — good for a briefing the user should see).

Example

loop_create(
  name: "weekly-commitment-review",
  description: "Review open commitments every Monday and flag anything slipping",
  schedule: "0 9 * * 1",
  prompt: "Review my open commitments. For each, check whether the deadline is near or past and whether there's been recent progress. Write a short 'Commitments — week of ' note to memory listing what needs attention. If nothing needs attention, reply with exactly AUTONOMOUS_OK.",
  deliveryMode: "announce"
)

Responsible use

You have full autonomy to create and enable loops, bounded by a few guardrails, so use the judgment a careful colleague would:

  • Don't duplicate built-ins. Memory consolidation (auto-dream), message triage, and meeting/calendar prep already run as first-class features. Check loop_list and prefer the built-in over a new loop that does the same thing.
  • Keep the set small. There's a per-user cap (20 self-created loops). Prefer revising an existing loop (loop_update) over piling on new ones.
  • Schedule conservatively and keep prompts narrow and well-scoped.
  • Stay transparent. Everything you create is owned by the user and visible in Settings → Loops (and the iPhone app in hosted mode), where they can disable or delete it at any time. When you create a loop because of a conversation, tell the user you did and how to turn it off.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.