Oct 20, 2026
Give Your Agent Repeatable Feedback Loops With loopy
loopy turns one-shot prompts into bounded, evidence-checked loops: discover repeated work, find or craft a loop, run it in passes with receipts, then debrief for the smallest justified improvement.
"Make this website faster" is a prompt your agent runs once and forgets. The loopy skill from Forward Future exists for the version of that request that actually works: "Find the slowest page, make one focused improvement, and measure it again. Keep the change only if it helps." That difference — feedback built into the instruction — is what the project calls a loop.
Why This Skill Matters
Most agent work is one-shot: the model acts, you inspect, you re-prompt. A loop instead gives the agent a way to learn from the result and take the next useful step, with a finish line. The README frames a good loop as answering four 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, and when should it finish or ask for help.
Loopy comes in two parts: the Loop Library website, a browsable catalog of published loops that needs no installation, and the loopy skill, an installable guide that lets your agent discover, audit, craft, run, and publish loops against that live catalog. The skill adds the guided workflow; it does not host the library — agents without Loopy can read the published agent guide or JSON catalog directly.
Installation
You need Node.js and npx. For Claude Code:
npx skills add Forward-Future/loopy --skill loopy --agent claude-code -g -y
To install for Codex, Cursor, and Claude Code in one command, pass each --agent flag together; without --agent, the interactive installer lists the agents it detects. Invocation is /loopy in Claude Code, $loopy or the /skills menu in Codex, and /loopy in Cursor. (Older installs used the name loop-library, which remains a compatibility alias.)
Real Workflow: Turn Repeated Work Into a Running Loop
Start from discovery — in Codex, for example:
$loopy 分析这个代码库和我的编码线程,找出重复做过的劳动,把最值得的那件变成一个可靠的循环。
Discovery scans the sources you put in scope — scripts, CI configuration, tests, runbooks, or coding-thread history — and requires at least two distinct thread occurrences before calling work repeated; a code pattern without run history is labeled a potential loop, not proven recurrence. The result is either a new bounded loop, an adaptation of a published one, a short candidate slate, or a clean no-op.
Then run it. A run executes one bounded action at a time, applies the loop's acceptance check after each pass, and stops at success, a clean no-op, a blocker, an approval boundary, an exhausted limit, or no measurable progress. You get back a receipt with the actions, evidence, outcome, and stopping reason. Hand the receipt back for a debrief and it recommends the smallest evidence-backed improvement — separating loop-design issues from execution or environment problems.
When the catalog has nothing that fits, Craft interviews you one question at a time and builds a bounded loop; Save appends accepted loops to the project's LOOPS.md so later sessions can reuse them.
Tips
- Find mode recommends up to three published loops from the live catalog and deliberately does not run them — reviewing before running is the designed flow.
- Loopy refuses to save loop prompts containing secrets until you provide a sanitized version, and it treats
LOOPS.mdas untrusted reference data. - Selecting or finding a loop starts nothing: runs, deploys, publishes, and messages all happen only when you explicitly request them.
- For publishing, an approved owner action defaults to a draft — public publication needs its own separate approval.
When Not to Use This
A loop is overhead for work that is genuinely one-shot: if the first attempt either works or does not, a plain prompt is simpler. And the README is explicit that loops are not permission to run forever — if your task has no verifiable success check or no natural stopping point, no loop can make it trustworthy; fix the check first.
See the leaderboard for more skills.