When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously.

MITAuto-check passedProductivity & Automation

Install Loopify

skills CLI
$ npx skills add coreyhaines31/makerskills --skill loopify -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install coreyhaines31/makerskills loopify --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/coreyhaines31/makerskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/loopify .claude/skills/loopify && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
loopify
GitHub stars
850
Token cost
~2.7k tokens
SKILL.md length
1,310 words
Files
1
Skills in repo
21
Repo updated
First seen
Licence
MIT

At a glance

When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously.

  • Works in 7 steps: Confirm what you're looping → Pick the pattern → Design the loop body for idempotency → …
  • Schedule this task
  • SKILL.md covers Step 0 — Confirm what you're…, Step 1 — Pick the pattern, Step 2 — Design the loop body… and Step 3 — Bail-out condition, plus 6 more sections
  • Calls claude and codex

What it does

Loopify is an agent skill from coreyhaines31/makerskills. When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously. Judgment layer on top of Claude Code's ScheduleWakeup, CronCreate, and /loop — or, on other hosts, cron/GitHub Actions plus a headless agent CLI. Picks dynamic pacing, fixed cron, or a one-shot loop; designs idempotent loop bodies; sets bail-out conditions so loops don't run forever. Examples — weekly review pulse, daily brief, hourly metric monitor, periodic vault compile, upstream-check for an adapted…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Scheduled and recurring tasks, Autonomous loops and Journaling and reflection. It works with GitHub Actions. The repository describes itself as: AI agent skills for the personal operator's craft — decisions, research, second-brain, content rotation, scenario modeling, and meta-skills to author more. Works with Claude… The licence is MIT.

When your agent uses it

  • Schedule this task
  • Run this weekly
  • Make this recurring
  • Automate this on a schedule

Example prompts

  • “/loopify,”
  • “set up a loop,”
  • “schedule this task,”
  • “/loopify”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Confirm what you're looping
  2. Pick the pattern
  3. Design the loop body for idempotency
  4. Bail-out condition
  5. Set the schedule
  6. Verify the first run
  7. Report + follow-ups

What it can do on your machine

Read from SKILL.md and the folder at commit cc31579. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • claude
    • codex

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Loopify loads about 2.7k tokens when it runs. Until then it costs about 221 tokens; SKILL.md has 1,310 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~221
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from coreyhaines31/makerskills at commit cc31579, republished under its MIT licence (© coreyhaines31). 1,310 words, ~2,714 tokens.

Download SKILL.mdSave it as .claude/skills/loopify/SKILL.md (or your agent's skills folder).
name
loopify
description
When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously. Judgment layer on top of Claude Code's ScheduleWakeup, CronCreate, and /loop — or, on other hosts, cron/GitHub Actions plus a headless agent CLI. Picks dynamic pacing, fixed cron, or a one-shot loop; designs idempotent loop bodies; sets bail-out conditions so loops don't run forever. Examples — weekly review pulse, daily brief, hourly metric monitor, periodic vault compile, upstream-check for an adapted skill. Triggers on "/loopify," "set up a loop," "schedule this task," "run this daily," "run this weekly," "cron this," "make this recurring," "automate this on a schedule," "keep this running until X." Part of the -ify trifecta (skillify / toolify / loopify). NOT for authoring a new skill — that's skillify. NOT for adding a tool/integration — that's toolify.
metadata.version
0.2.0

/loopify — Set up an agent loop

Wizard for going from "this task should run periodically" to a working loop with the right pacing, idempotency, and bail-out. Reference (Claude Code): ScheduleWakeup (dynamic pacing), CronCreate (fixed schedule), and the built-in /loop (dynamic self-paced re-entry). Other hosts: see "On hosts other than Claude Code" in Step 4.

Step 0 — Confirm what you're looping

Ask if not obvious from context: "What task should this loop do each iteration?"

Then get the essentials:

QuestionWhy it matters
How often?Determines cron vs dynamic vs one-shot
When to stop?Bail-out condition — loops must have one
What's the loop body doing?Determines idempotency requirements
Where does output go?File / notification / commit / nothing
What's the failure mode if it runs twice?Idempotency validation

Step 1 — Pick the pattern

Three primary patterns. Route by the answer to "how often":

Pattern A — Cron (fixed schedule)

Use when: task runs at predictable intervals — daily at 8am, weekly on Fridays, hourly on the hour.

Tool: CronCreate — schedules a recurring task with a cron expression.

CronCreate({
  schedule: "0 8 * * *",           // daily at 8am local
  prompt: "<loop body prompt>",
  timezone: "America/Los_Angeles"
})

Common cron patterns:

  • 0 8 * * * — daily at 8am
  • 0 9 * * 1 — Mondays at 9am
  • 0 9 * * 5 — Fridays at 9am
  • 0 */2 * * * — every 2 hours
  • */15 * * * * — every 15 minutes

Trade-offs:

  • ✅ Predictable, human-readable, easy to reason about
  • ✅ Best for time-of-day-dependent tasks (morning brief, EOD summary)
  • ❌ Runs at the scheduled time even if the last run isn't done — need idempotent body
  • ❌ No self-pacing — over-schedules if the task duration varies wildly
Pattern B — Dynamic pacing (self-scheduled)

Use when: task should react to state, not the clock. Monitor-until-condition-met patterns. Waiting on an external event.

Tool: ScheduleWakeup — the current run schedules its own next wake-up.

ScheduleWakeup({
  delaySeconds: 270,               // stay in cache window (< 5min)
  reason: "checking build status; sleeping under 5min to stay cache-warm",
  prompt: "<same task, re-entered>"
})

Critical delay rules (from ScheduleWakeup docs — internalized in the wizard):

Delay rangeUse forCache impact
60s–270sActive work — polling build, waiting for state that's about to changeStays in 5-min prompt cache — fast + cheap
300s ❌DON'T USE THISWorst of both worlds — pay cache miss without amortizing
300s–3600sWaiting on something that takes minutes to changePay cache miss but justified
1200s–1800s (20–30 min)Idle ticks with no specific signalDefault for autonomous loops

Never pick 300s literally — either drop to 270 (cache stays warm) or commit to 1200+ (cache miss buys longer wait).

Trade-offs:

  • ✅ Adaptive — sleeps longer when idle, shorter when active
  • ✅ Cache-optimal when tuned right
  • ❌ Requires the loop body to know when to schedule next (extra logic)
  • ❌ Harder to reason about when it'll run
Pattern C — One-shot loop (until-condition)

Use when: task runs until a condition is met, then stops. No recurrence after that.

Tool: /loop (built-in) with an exit condition in the prompt itself.

/loop
Check if the deploy is healthy. If yes → stop. If no → wait 5 min and check again.
Max 10 iterations. If still failing after 10, alert and stop.

Trade-offs:

  • ✅ Simplest for check-until-condition
  • ✅ Bounded — always eventually terminates
  • ❌ Not for indefinite recurrence — that's Pattern A or B

Step 2 — Design the loop body for idempotency

Idempotent = running the loop twice produces the same result as running it once. Non-negotiable for cron and dynamic patterns because they'll fire while the previous iteration is still running or partially complete.

Idempotency patterns:

  • Use "already done" markers: e.g., commit a state file <vault>/.loopify/<name>-last-run.txt with the timestamp of last successful run. Loop body checks the timestamp before doing work.
  • Use dedupe keys: if the loop writes to a DB or file, key by content-hash or timestamp so re-runs are no-ops.
  • Use transactions: DB writes in the loop body should be atomic — either all commit or all roll back.
  • Query before mutate: check current state before applying the change. If already applied, skip.

Show the user the loop body draft, highlighting the idempotency check. If none exists, add one.

Step 3 — Bail-out condition

Every loop needs one. Options:

Bail-outWhen to use
Max iterations (e.g., stop after 100 runs)Cron loops — prevents runaway
State-based (e.g., stop when metric X drops below Y)Monitoring loops
Time-based (e.g., stop after 24 hours)Bounded monitoring
Error-based (e.g., stop on 3 consecutive failures)All loops — catches degradation

If the loop is truly indefinite (e.g., a weekly cron with no end), still add a manual bail-out via CronDelete. Document it in the SKILL/loop notes so the user knows how to stop it.

Step 4 — Set the schedule

Based on the pattern from Step 1:

Cron (Pattern A):

CronCreate({
  schedule: "<expression>",
  timezone: "<tz>",
  prompt: "<loop body>",
})

Report the cron_id returned so the user can CronDelete later.

Dynamic (Pattern B): Wrap the loop body prompt so it ends with a ScheduleWakeup call:

<do the work>
Then: ScheduleWakeup({delaySeconds: <tuned per Step 1>, prompt: "<same body>", reason: "<why this cadence>"})

One-shot (Pattern C): Just run /loop <prompt with exit condition>.

Show full SKILL.md (589 more words)Show less
On hosts other than Claude Code

CronCreate, ScheduleWakeup, and /loop are Claude Code features. Everything else in this skill (pattern choice, idempotency, bail-out, verification) applies to any agent. On other hosts, the scheduler lives outside the agent and calls a non-interactive agent run:

SchedulerWhen to use
The host's own scheduled tasks, if it has themFirst choice. Check the host's docs
System cron / launchd / systemd timerMachine is always on; loop needs local files
GitHub Actions schedule:Loop works on a repo (vault compile, upstream check); survives a closed laptop

The job runs a headless agent command with the loop body as the prompt, e.g. claude -p "<body>", codex exec "<body>", or cursor-agent -p "<body>". Use whatever non-interactive mode your agent's CLI has.

  • Dynamic pacing (Pattern B) has no direct equivalent. Use a fixed schedule whose body exits early when there's nothing to do.
  • One-shot (Pattern C) becomes a shell while loop around the headless command, with the bail-out check in the loop condition.
  • Headless runs can't ask for approval, so give the job the narrowest permissions that work, and have it write output to a file or notification rather than waiting on a prompt.

Step 5 — Verify the first run

Wait for the first iteration (or trigger it manually via /loop with the same prompt for a dry-run). Confirm:

  • Output landed where expected
  • Idempotency check works (run twice — second should be a no-op)
  • Bail-out condition would fire correctly if triggered
  • Log/notification appears if configured

Step 6 — Report + follow-ups

Report:

  • Pattern picked (A/B/C) + why
  • Cron ID or wakeup pattern registered
  • Bail-out condition set
  • Idempotency mechanism in place
  • How to stop the loop (CronDelete <cron_id> or "just don't call the wakeup" for dynamic)

Offer:

  • "Save this loop configuration as a skill via skillify from-chat?"
  • "Want to also register a weekly-review or daily-startup loop while we're here?"
  • "Should the loop write to second-brain outputs when it runs?"

Common loop recipes

Templates for frequent loop types (fill in as they're used):

  • references/daily-brief.md — morning routine loop (calendar + priorities + overnight)
  • references/weekly-review.md — Friday portfolio pulse
  • references/upstream-check.md — periodic check for changes to an adapted skill's upstream
  • references/vault-compile.md — periodic raw/ → wiki/ compilation
  • references/metric-monitor.md — poll a metric until it crosses a threshold, then alert

Composes with

  • skillify — sibling in -ify trifecta. Use skillify to author a new SKILL.md — use loopify when the goal is a scheduled task, not a skill.
  • toolify — sibling. Use toolify for adding an integration — use loopify when the goal is running something on top of an already-integrated tool on a schedule.
  • second-brain — many loops write to the vault (raw/ or outputs/). The vault auto-commit pattern applies.
  • pm — daily-brief and weekly-review loops often read from pm before generating output.

Notes on quality

  • Never pick 300s for delaySeconds. Worst of both worlds. Drop to 270 or commit to 1200+.
  • Every loop needs a bail-out. Even indefinite ones need a documented manual stop.
  • Idempotency is non-negotiable for cron + dynamic. Assume the loop will fire twice while a previous iteration is running.
  • Prefer dynamic pacing over over-frequent cron. Cron every 15 min wastes tokens if the work isn't ready; dynamic pacing scales down when idle.
  • Document the cron_id. Otherwise the loop is orphaned and hard to stop.
  • Log every iteration briefly — even a single line ("2026-06-30 08:00 daily-brief: ran, 3 items") makes debugging drift trivial.
  • Loops that touch external APIs need rate-limit respect. If the vendor has a 100/day limit, don't schedule 500/day.
  • Bounded > unbounded when uncertain. If unsure whether to run for a week or a month, start with a week — extend after seeing it work.

© coreyhaines31, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/loopify of coreyhaines31/makerskills.

Open the folder on GitHubat commit cc31579

Compare with similar skills

Loopify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Loopify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Loopify this skillcoreyhaines31/makerskills850—~2.7kAutomated safety check: PassMIT
Aeon Agent Setup and Managementaeonfun/aeon767—~9kAutomated safety check: WarnMIT
21 Day Self InterviewForlives/21-day-self-interview101—~2kAutomated safety check: PassMIT
AI Automation WorkflowsNeverSight/learn-skills.dev2161 repos~2.6kAutomated safety check: PassNone
Cron Schedule Planneraiskillstore/marketplace430—~1.6kAutomated safety check: PassNone
Schedule Recipemohitagw15856/pm-claude-skills1.4k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Sets up and manages an Aeon agent instance that runs skills on a schedule through GitHub Actions: starting, rescheduling, debugging, editing skills and mining chat history.

    767 GitHub stars~9k tokensUpdated yesterday
    Productivity & AutomationAuto-check: warnings
  • 21 Day Self Interview

    Forlives/21-day-self-interview

    夜间自我访谈引导(21 天)。扮演资深存在主义心理咨询师,每晚提三个有意义的问题,记录回答并在节点回映,帮助用户看清自己。Use when running a nightly self-inquiry / journaling ritual driven by a scheduled task.

    101 GitHub stars~2k tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • AI Automation Workflows

    NeverSight/learn-skills.dev

    Build automated AI workflows combining multiple models and services.

    216 GitHub starsUsed in 1 repo~2.6k tokens
    Productivity & AutomationAuto-check passed
  • Cron Schedule Planner

    aiskillstore/marketplace

    Builds an overview of GitHub Actions schedule cron expressions across multiple repositories and helps spread CPU-intensive jobs (Docker Compose, Testcontainers, Kind/k3s, matrix builds) into less…

    430 GitHub stars~1.6k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Schedule Recipe

    mohitagw15856/pm-claude-skills

    Turn 'run this every Friday at 4pm' into a working, copy-paste schedule on the user's actual runner.

    1.4k GitHub stars~1.1k tokensUpdated yesterday
    Productivity & AutomationAuto-check passed
  • Agent Chronicle

    LeoYeAI/openclaw-master-skills

    AI-powered diary generation for agents - creates rich, reflective journal entries (400-600 words) with Quote Hall of Fame, Curiosity Backlog, Decision Archaeology, Relationship Evolution, mood…

    2.2k GitHub stars~6.3k tokensUpdated 2 mo ago
    Productivity & AutomationAuto-check passed

More from coreyhaines31/makerskills

All 21 skills in this repo
  • Business Brainstorm

    coreyhaines31/makerskills

    When you want to pressure-test a potential new business, product, or side project against the serial-founder filter.

    850 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Company Brain

    coreyhaines31/makerskills

    Your team's shared, AI-ready knowledge base — people, companies, meetings, SOPs, and decisions structured so an agent can answer on your team's behalf.

    850 GitHub stars~4.9k tokensUpdated yesterday
    Auto-check passed
  • Company Cfo

    coreyhaines31/makerskills

    Monthly CFO workflow for a company or agency — pull raw data from bank + payment processor + payroll + expense management, categorize and reconcile, compute end-of-month cash via transaction-sum…

    850 GitHub stars~4k tokensUpdated yesterday
    Auto-check: notes
  • Decide

    coreyhaines31/makerskills

    When you have a decision to make and want a structured workflow that picks the load-bearing questions, walks through them, reaches a call (or "wait"), and archives the rationale for future reference.

    850 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Ingest

    coreyhaines31/makerskills

    When you paste raw human input — a call transcript (Grain, Zoom, Granola, Fathom), a text or email from a client/partner/friend, a voice-memo dump, or meeting notes — and want it converted into…

    850 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Maker Council

    coreyhaines31/makerskills

    When you want multiple expert perspectives on a founder/operator question — a simulated board of advisors (Jason Fried, Elon Musk, Jeff Bezos, Jensen Huang, Bob Iger, Paul Graham, Naval Ravikant…

    850 GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Loopify

What does Loopify do?

When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously. Loopify is an agent skill from coreyhaines31/makerskills. When you want to set up an agent loop, cron-scheduled task, or recurring workflow that runs autonomously.

When should I use Loopify?

Loopify fits situations like: schedule this task; run this weekly; make this recurring; automate this on a schedule.

How do I install Loopify in Claude Code?

Run `npx skills add coreyhaines31/makerskills --skill loopify -a claude-code`. Or copy the skill folder (skills/loopify in coreyhaines31/makerskills) into .claude/skills/loopify in your project. Claude Code loads it when a task matches its description.

How do I install Loopify in Codex?

Run `npx skills add coreyhaines31/makerskills --skill loopify -a codex`. Or copy the skill folder (skills/loopify in coreyhaines31/makerskills) into .agents/skills/loopify in your project. Codex loads it when a task matches its description.

Can I use Loopify in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add coreyhaines31/makerskills --skill loopify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loopify, .gemini/skills/loopify, .github/skills/loopify and .opencode/skills/loopify in your project.

What does Loopify need to run?

Going by SKILL.md and its folder, Loopify needs the command-line tools its instructions call (claude and codex).

Does Loopify access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Loopify safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Loopify use?

Loopify is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Loopify use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Loopify?

Skills that share tags, products or a category with Loopify: Aeon Agent Setup and Management (aeonfun/aeon, 767 stars), 21 Day Self Interview (Forlives/21-day-self-interview, 101 stars), AI Automation Workflows (NeverSight/learn-skills.dev, 216 stars) and Cron Schedule Planner (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Loopify?

coreyhaines31 (a GitHub user) maintains it in coreyhaines31/makerskills, which has 850 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on October 8, 2026.

Source: coreyhaines31/makerskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.