Stop Guessing with AI: How “Loops” Turn Agents into Reliable Workers

Earlier this year, I asked an AI assistant to clean up a code repository that hadn’t been touched in five years. On the first pass, it gave me a list of scripts flagged as “safe to delete” and “needs review.” I asked it to dig deeper. It re-categorized everything. By the third round, it suggested a three-month sunset plan. None of the outputs were bad, but none of them matched each other, either—and no one could tell me which version counted as “done.”

It took me a while to realize the problem wasn’t the model’s capability. It was the instruction. “Clean up old scripts” is a one-shot command, but the actual work requires repeated rounds of judgment, confirmation, and validation to reach a definitive close.

That’s the simplest way I can explain the gap between a standard prompt and a “loop.” A prompt gives you a response and stops. A loop gives the agent a way to look at its own output, figure out the next step, check if that step worked, and decide when to quit. The Loop Library and its companion skill, Loopy, are built to turn that feedback-driven workflow into something reusable and auditable. In this post, I’ll skip the buzzwords and walk you through what it actually solves, how to install it, how to use it, and the few rough edges I hit along the way.

Why “Repeating Yourself” Is More Exhausting Than “Saying It Once”

I’ve asked a few teams about their biggest frustration with AI agents. The answer isn’t usually bad prompt writing. It’s the exhaustion of re-explaining the same task across different projects and different sessions. You explain it once, the agent delivers, you spot a problem, you add a new constraint, it delivers again, and before you know it, your prompt has turned into a novel.

Loop Library starts from a blunt observation: some work is destined to be iterative. You can either keep rewriting instructions from scratch, or you can harden the feedback mechanism into a reusable package. A loop doesn’t guarantee the agent will get it perfect on the first pass. But it does guarantee that every pass produces comparable results—good, keep going; not good enough, adjust direction; stuck for a while, stop and ping a human.

Take documentation maintenance. I used to tell my agent, “Keep the docs up to date.” It would dump new content, delete stuff it deemed outdated, and I’d have no quick way to tell if the deletions were justified. I switched to a looped instruction: find pages no one has touched in three months, update only the two with the lowest readership, track their readership trends for two weeks, and if there’s no improvement, roll back and notify me. The quality didn’t skyrocket overnight, but I could finally articulate exactly how each version improved on the last—and when to stop tinkering.

Loopy’s job is to templatize that “feedback → evaluate → iterate” structure so you don’t have to reinvent it for every new project.

Loop Library vs. Loopy: Clearing Up the Confusion

These two get conflated all the time, so let me separate them clearly.

Loop Library is a public website. It hosts a curated collection of ready-made loops. You browse it, read the prompts, copy them into your workflow, and you’re done. No installation, no setup. It’s a finished-goods catalog: loops that have been battle-tested by someone else.

Loopy is an optional skill pack for AI agents—specifically Codex, Cursor, and Claude Code. Once installed, it gives your agent a set of tools to interact with that catalog: search for the right loop, audit a loop you already have, walk you through creating a new one from scratch, run a loop in your project, and even debrief the results after execution.

In plain terms, you can browse Loop Library with a browser any time. But if you want your agent to browse it for you, recommend one, adapt it, execute it, and report back with proof, you install Loopy.

I initially thought installing Loopy meant setting up a local version of the library. It doesn’t. Loopy is purely a skill that helps your agent talk to the existing cloud catalog. The catalog itself stays hosted; nothing gets installed on your machine besides the skill definition.

Installing Loopy: Three Commands and One Reboot

The install itself is straightforward, but the invocation method varies by platform, and I did hit a snag where Cursor didn’t recognize it immediately—a restart fixed it.

Prerequisite: Node.js and npx installed.

For Codex:

npx skills add Forward-Future/loopy --skill loopy --agent codex -g -y

For Cursor:

npx skills add Forward-Future/loopy --skill loopy --agent cursor -g -y

For Claude Code:

npx skills add Forward-Future/loopy --skill loopy --agent claude-code -g -y

Want all three at once?

npx skills add Forward-Future/loopy \
  --skill loopy \
  --agent codex \
  --agent cursor \
  --agent claude-code \
  -g -y

The -g flag installs it globally across all your projects. Omit it if you want it scoped to the current directory. The -y flag auto-accepts install prompts. I recommend skipping -y on your first run to see exactly what it’s doing.

If your agent doesn’t show the loopy command immediately after install, close and reopen the session. That was my fix in Cursor—/ wouldn’t show the loopy option until I started a fresh Agent chat.

Invoking Loopy: Platform-Specific Shortcuts

Installation gets the skill into your agent’s toolbox, but calling it works differently depending on where you are:

  • Codex: Type /skills, choose Loopy from the list, then enter your request. You can also trigger it inline with $loopy, e.g., $loopy Find repeated work in this repo that we should turn into a loop.
  • Cursor: In the Agent chat, type /, search for loopy, select it, and add your prompt. You can also type /loopy directly.
  • Claude Code: Straightforward—type /loopy followed by your request.

I always invoke it explicitly. The agents can load Loopy automatically if they sense the task is a good fit, but explicit invocation is the only way to guarantee it uses the Loopy path instead of guessing.

Nine Practical Paths, from “Discovery” to “Publishing”

Loopy isn’t a single-purpose tool. It offers a full workflow chain around loops. I use five paths most often—Discover, Adapt, Run, Debrief, and Save—but I’ll outline all nine so you know what’s available.

Discover: Mining Repeated Work from Code and Chats

I took over a backend project and kept feeling like I’d done certain things before, but couldn’t remember where. I asked Loopy to run a “Discover” scan. It looked at recent commits, CI configs, test scripts, and three of my past chat threads with the agent. It surfaced one clear candidate: “post-dependency-update regression testing.” That pattern had appeared in at least four different branches over the past two months—each with slightly different steps, but the same core loop.

Loopy requires at least two distinct occurrences before it tags something as “repeated.” I appreciate that threshold. Once is an accident; twice is a pattern worth considering.

The discovery output includes compact evidence—which commit had it, which chat mentioned it. If a matching loop already exists in the catalog, it recommends that instead of generating a duplicate.

Adapt: Tailoring a Published Loop to Your Actual Environment

I found a loop on the Library site called “Overnight Docs Sweep.” It runs nightly to check documentation health. But it assumes MkDocs, and my project uses VitePress. Copying it verbatim would have been a mess.

I used the “Adapt” path instead. I showed Loopy my project config, existing build scripts, and publishing pipeline. It swapped out the build commands, health checks, and report format to match my actual toolchain—while keeping the core feedback cycle intact: run nightly, flag issues, hold for human review in the morning.

The adapt process is conversational. It asked me about my build tool, my failure threshold, and where to send the report. A few answers later, it handed back a project-specific loop prompt ready for saving.

Run: Executing a Loop with a Clear Stop and a Receipt

“Run” isn’t just about execution; it’s about bounded execution. I asked Loopy to run that adapted docs loop in my project. It scanned the doc directory, found the three least-read pages with no recent edits, updated only one, re-ran the local analytics, and checked whether reading activity improved. After two consecutive nights with no positive change, it stopped and delivered a “receipt” the next morning—a log of actions taken, evidence collected per pass, and the specific reason it stopped.

That receipt turned out to be more useful than I expected. I used it later for a debrief without relying on memory or gut feeling.

Debrief: Improving Loops with Evidence, Not Hunches

After a few runs, I asked Loopy to “debrief the recent execution history of this docs loop.” It ignored my subjective opinions and looked strictly at the receipts. The conclusion: the loop worked well on “API reference” pages but barely moved the needle on “getting started” tutorials. It suggested adding a pre-filter—only target pages with below-average dwell time, and set a different update frequency for deep technical content.

That recommendation came directly from the data in the receipts, not from generic advice. I adopted it, and the loop’s effectiveness improved noticeably over the next few runs.

Save: Keeping a Proven Loop Inside Your Project

When Loopy hands me a loop I’m happy with, I say, “Save this loop to the project.” It doesn’t spin up a database. It appends a named entry to LOOPS.md at the project root—including a one-sentence explanation, the exact prompt, and a timestamp. If the loop was adapted from the public library, it also records the source URL and the source’s last-modified date at the time of saving.

On future requests in that same project, Loopy reads LOOPS.md first. It will recommend a saved project loop if it fits the request, clearly labeling it as “project-owned.” If the source loop in the public library has been updated since I saved my version, it gives me a heads-up and offers to compare before reuse.

Find, Audit, Craft, and Publish

I use these four less frequently, but each has saved me in specific situations:

  • Find: Don’t want to browse the catalog manually? Ask Loopy to search. It returns up to three published candidates but never executes them.
  • Audit (Loop Doctor): Paste an existing loop prompt you’re unsure about. It flags weak verification steps, unsafe actions, and vague stopping behavior—then repairs only the material problems without rewriting your style.
  • Craft: If the catalog genuinely has nothing that fits, Loopy interviews you: What outcome do you want? How do you measure success? What’s the scope? When must it stop? It then generates a new loop from your answers. The whole thing feels like a conversation.
  • Publish: Once you have a loop that works well, Loopy checks quality and catalog overlap, prepares a publication preview, and submits it to the library—only after you explicitly approve the exact preview.

Staying Sane About Automation: It Won’t Push the Red Button for You

Here’s what I care about most in an automation tool: Loopy never performs destructive actions on its own. It won’t deploy code, delete data, message customers, or start a cron job without explicit confirmation from me or the permission layer of my agent.

This is hard-coded into its design, and I’ve verified it. Loopy is a workflow advisor, execution recorder, and debrief assistant—it is not an autonomous robot.

Also worth noting: entries in LOOPS.md are treated as reference data, not executable scripts. Just because a saved prompt says “delete old branches” doesn’t mean Loopy will act on it. That kind of action still requires separate, explicit authorization at the agent level.

Bringing Loopy to a Team: Two Real-World Hurdles

For personal use, install Loopy, memorize a few paths, and you’re good. But rolling it out to a team exposed two friction points:

First, explicit invocation isn’t intuitive. Team members kept describing tasks naturally in chat, hoping the agent would guess which tool to use. But when you leave path selection to the agent, it occasionally picks “Find” instead of “Discover,” or “Adapt” instead of “Craft.” We solved this with a one-page cheat sheet mapping scenarios to paths, plus a hard rule: any loop-related operation must start with /loopy or $loopy.

Second, LOOPS.md doesn’t sync. Everyone saves loops in their own local project root. Our current practice: loops we agree on get submitted to the public library (via the Publish path) so the whole team pulls them from there. Project-specific loops that aren’t public-friendly stay in the repo and get committed alongside the code, so we have a single source of truth.

Quick Summary / Action Checklist

If you take only one thing away, here’s a six-step cheat sheet:

  1. Scope the task: Is this a “one and done” or something you’ll run repeatedly? Only the latter deserves a loop.
  2. Check the catalog first: Browse Loop Library or ask Loopy to search—don’t reinvent a working wheel.
  3. Adapt before you run: Tailor the loop to your actual environment and tools.
  4. Always keep the receipt: Ensure every run outputs a record of actions and stop reasons. You can’t debrief without it.
  5. Debrief periodically: After 3-5 runs, review the receipts. It’s the only way to separate loop problems from environment changes.
  6. Give back: If your adapted loop works well, publish it. It helps your team and the wider community.

One-Page Reference Table

What you want to do Loopy path Output
Find repeated work in code/chats Discover Loop candidates + evidence
Search the library for a fit Find Up to 3 recommendations
Customize a library loop to your project Adapt Project-ready loop prompt
Design a new loop from scratch Craft Conversation-generated loop
Review an existing loop for flaws Audit (Loop Doctor) Issue list + fixes
Execute a loop in your project Run Evidence-backed receipt
Improve a loop based on results Debrief One evidence-backed suggestion
Keep a loop for your project Save Entry appended to LOOPS.md
Share it with the community Publish Submission to Loop Library

FAQ

Q: Do I need a Loop Library account before installing Loopy?
No. The library is public. You can browse and copy prompts without any account. Publishing new loops does require a review flow, but that happens after you’ve built something useful.

Q: Does Loopy handle Chinese prompts?
Yes. I use it entirely in Chinese, but the loops it generates tend to default to English because the catalog entries are in English. I’ve asked it to output prompts in Chinese, and it works fine—I just prefer English for cross-project consistency.

Q: Does running a loop burn a ton of tokens?
Depends on the loop. My docs loop only touches 2-3 pages per run, and the token cost is comparable to a medium-length chat session. The value isn’t in saving tokens anyway; it’s in saving cognitive overhead. You don’t have to redesign the validation logic every time.

Q: Can I stop a running loop midway?
Yes. Interrupt the agent session, or tell Loopy to “stop the current run.” The loop design explicitly includes “approval boundaries” for exactly this kind of human override.

Q: Does Loopy automatically run loops stored in LOOPS.md?
No. That file is reference data only. Loopy never executes a loop just because it exists in the file. You have to explicitly invoke the “Run” path every time.

Q: Who writes the loops in the public library?
Community submissions, reviewed by the project maintainers. The “Publish” path in Loopy is how regular users submit their own verified loops.

Q: I use Cline or Continue. Can I install Loopy?
The official targets are Codex, Cursor, and Claude Code. For other agents, you can try the interactive installer: npx skills add Forward-Future/loopy --skill loopy -g and select from the detected agents. It’s not guaranteed, but it’s worth a shot.

Q: What’s the actual difference between copying a prompt from the library and using Loopy?
The big difference is in “Run” and “Debrief.” Copying a prompt gives you text. Loopy gives you execution tracking, evidence logs, and data-backed improvement recommendations. It turns a loop from “a paragraph” into “an auditable workflow.”