Loop Library
Loop Library has two separate but related parts in this repository:
| Part | What it is | Where it lives |
|---|---|---|
| Loop Library website | The public catalog where people and agents can browse published loops, read them, and copy their prompts. No installation is required. | Live website · all website code under loop-library/ (shell in loop-library/site/, database and rendering in loop-library/worker/) |
| Loopy skill | An optional installable guide that helps an AI agent discover, find, audit, repair, craft, run, debrief, save, or prepare loops for publication. It uses the website's live catalog when recommending or publishing loops. | source in skills/loopy/ |
The website is the library; Loopy is a companion way to work with it. You can browse or give an agent the website without installing Loopy. Installing Loopy adds the guided workflow, but it does not install or host the website.
Agents that do not have Loopy can use the published agent guide, agent instructions, JSON catalog, or plain-text catalog directly.
Each published loop tells an agent what to do, how to check its work, what to try next, and when to stop.
What is a loop?
Most prompts ask an agent to do something once. A loop gives the agent a way to learn from the result and take the next useful step.
For example, a one-shot prompt might say:
Make this website faster.
A loop adds the feedback that makes the work repeatable:
Find the slowest page, make one focused improvement, and measure it again. Keep the change only if it helps. Repeat until every page meets the target or another pass stops producing a meaningful improvement.
Think of a loop as a playbook with feedback built in. It is useful when the first attempt probably will not be the final answer, such as fixing production errors, improving test coverage, reviewing a product, or keeping documentation current.
A good loop answers four simple questions:
- What is the agent trying to accomplish?
- How will it know whether the latest attempt worked?
- What should it do with what it learned?
- When should it finish or ask for help?
Why loops are powerful
AI agents can move quickly, but an open-ended instruction like "keep improving this" leaves too much room for guessing. A loop gives the work a clear finish line and a consistent way to judge progress.
That makes the work easier to trust and easier to repeat. The agent can compare results instead of relying on confidence, keep improvements instead of merely making changes, and stop when it succeeds or stops making progress. The same loop can also be reused by another person or agent without rebuilding the workflow from scratch.
Loops are not permission for an agent to run forever. The best ones are deliberately bounded. They include a real check, a clear stopping point, and a moment to hand control back to a person when judgment or approval is needed.
What Loopy does
Loopy gives your agent direct access to the ideas in the library. You can use it to:
- Discover repeated work in a codebase, coding threads, or both and turn the strongest qualified candidate into a loop.
- Find a published loop that fits what you are trying to get done.
- Audit an existing loop for weak checks, unsafe actions, or unclear stopping behavior, then repair only the material problems.
- Adapt a useful loop to your tools, limits, and definition of success.
- Interview you about what you want to accomplish and what success looks like, then craft a new loop through a short, plain-language conversation.
- Run a loop in bounded passes and return a receipt with the actions, evidence, outcome, and stopping reason.
- Debrief completed runs and recommend the smallest evidence-backed improvement.
- Save a loop you want to keep into the project's
LOOPS.mdwhen you ask, and reuse those saved loops in later sessions. - Check a loop for catalog overlap, prepare a publication draft, and submit it only after you approve the exact preview.
- Turn the result into a compact prompt you can use right away.
Loopy checks the live catalog when it recommends a published loop. It does not quietly start schedules, change production, publish content, or send messages on your behalf. Those actions still require the normal permissions and approvals.
Install Loopy
You need Node.js and npx. Pick the platform you use:
| Platform | Install command |
|---|---|
| Codex | npx skills add Forward-Future/loopy --skill loopy --agent codex -g -y |
| Cursor | npx skills add Forward-Future/loopy --skill loopy --agent cursor -g -y |
| Claude Code | npx skills add Forward-Future/loopy --skill loopy --agent claude-code -g -y |
To install it for all three at once:
npx skills add Forward-Future/loopy \
--skill loopy \
--agent codex \
--agent cursor \
--agent claude-code \
-g -y
Using another agent? Run the interactive installer and choose from the agents it detects:
npx skills add Forward-Future/loopy --skill loopy -g
The command parts mean:
Forward-Future/loopyis the GitHub repository to install from.--skill loopyselects this skill from the repository.--agent ...selects the agent that should receive it.-gmakes it available in all your projects. Leave-goff to install it only in the current project.-yaccepts the install prompts. Leave it off if you want to review the choices interactively.
If an agent was already open and Loopy does not appear, restart that agent.
The previous loop-library skill name remains available as a compatibility
alias for existing installations. Use loopy for all new installations and
explicit invocations.
Invoke Loopy
The slash-command experience differs slightly by platform:
- Codex: type
/skills, choose Loopy, then enter your request. You can also mention it directly with$loopy. - Cursor: type
/in Agent chat, search forloopy, select it, and add your request. You can also type/loopydirectly. - Claude Code: type
/loopyfollowed by your request.
You can also describe a matching task normally. These agents can load the Loopy automatically when your request clearly calls for it, but explicit invocation is the most predictable way to start.
For example, in Codex you can write:
$loopy Analyze this codebase and my coding threads for repeated work, then turn the strongest candidate into a reliable loop.
Use Loopy
You do not need to know loop terminology. Invoke Loopy and say what you want to get done. It can take nine paths:
| Path | What it does | Example request |
|---|---|---|
| Discover | Inspects an authorized codebase, coding-thread history, or both for repeated work, then turns the strongest qualified candidate into a bounded loop. | Analyze this repository and my coding threads for work we have done more than once. Turn the best candidate into a loop. |
| Find | Searches the live catalog and recommends up to three published loops. It does not run them. | Find a published loop for keeping our documentation current. |
| Loop Doctor | Audits a loop you paste or name, explains material weaknesses, and repairs only those problems. | Audit this loop and repair only material problems: [paste loop] |
| Adapt | Tailors a useful loop to your real tools, limits, schedule, and definition of success. | Adapt the Overnight Docs Sweep to this repository and our existing checks. |
| Craft | Interviews you one question at a time about the outcome, definition of success, scope, checks, and stopping point, then creates a bounded loop when the catalog has no good fit. | Interview me and help me craft a loop for turning customer feedback into verified fixes. |
| Run | Executes an identified loop in bounded passes, applies its acceptance check, and returns an evidence-backed receipt. | Run the Overnight Docs Sweep in this repository. |
| Debrief | Analyzes one or more completed run receipts and recommends the smallest justified improvement. | Debrief this run receipt and tell me whether the loop needs to change. |
| Save | Saves a loop you want to keep into the project's LOOPS.md, then reuses saved project loops when they fit a later request. |
Save this loop to the project so we can reuse it. |
| Publish | Checks quality and catalog overlap, prepares an exact publication preview, and submits only after explicit approval. | Prepare this loop for publication in Loop Library. |
For example, in Claude Code or Cursor:
/loopy Find a loop for i