Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/fledgeling-co/fledgeling-plugins/better-loopnpx skills add fledgeling-co/fledgeling-plugins --skill better-loopgit clone --depth 1 https://github.com/fledgeling-co/fledgeling-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/fledgeling-co/fledgeling-plugins/better-loop)<a href="https://agentmods.dev/skills/fledgeling-co/fledgeling-plugins/better-loop"><img src="https://agentmods.dev/badge/skills/fledgeling-co/fledgeling-plugins/better-loop.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00298 | $0.02326 |
| Opus 5 | $0.00149 | $0.01163 |
| Sonnet 5 | $0.00060 | $0.00465 |
| Haiku 4.5 | $0.00030 | $0.00233 |
Grade A, and why
better-loop scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.
better-loop — a loop that only speaks when something changed
A scheduled loop re-sends the same unmet condition, the same failing tasks and the same status poll turn after turn, and each fire re-bills the session's whole accumulated prefix. Measured across twelve heavy sessions, five did exactly that and accounted for 91% of input between them. A smaller context window does not help: nothing about a smaller window stops a loop from restarting.
So the loop here is not a schedule. It is a probe — one cheap deterministic command whose output is the state you care about — polled by a watcher this skill arms, which wakes the session only when the answer changes, and sends the delta rather than the whole state. A quiet system costs nothing. A system that keeps failing the same way costs one wake, then progressively fewer.
Deliver that scope. The armed loop does the underlying work; this pass sets it up.
references/mechanism-choice.md picks the mechanism. references/mechanics.md
is the ground truth. references/failure-modes.md maps each observed failure to
its fix.
Running as a Gemini model? Read gemini.md in this directory first, then follow this file with the overrides it names. Turns the mechanism table, the tick protocol's sections and the step 6 report into counted ledgers, and makes the four bounds readable back off the armed state file rather than off the brief. Other models skip it.
Protocol
1. Choose the mechanism
The decision that matters most, and the one the built-in /loop does not make.
Full table with worked cases: references/mechanism-choice.md.
| The next tick should start when… | Use | Why |
|---|---|---|
| Some observable state changes — a file, a queue, a CI result, a count | watch.sh under Monitor |
The default here. No wake without a change |
| A log line or stream event appears | Monitor on the stream directly |
Already event-driven; no probe needed |
| The work has a verifiable end state | better-goal | That is a finish line, not a cadence. Say so and route |
| The tick needs no session context | watch.sh --tick-cmd |
Runs claude -p detached; no prefix to re-bill at all |
| Something genuinely must happen on a clock — a 9am digest | /loop <interval> or CronCreate |
The only case where a schedule is right |
What ships with it
13 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- gemini.md 19 KB
- references/failure-modes.md 6.9 KB
- references/mechanics.md 8.7 KB
- references/mechanism-choice.md 9.0 KB
- references/templates.md 5.3 KB
- scripts/arm.sh 6.4 KB runs code
- scripts/disarm.sh 3.8 KB runs code
- scripts/preflight.sh 7.2 KB runs code
- scripts/sentinel.sh 3.0 KB runs code
- scripts/status.sh 3.7 KB runs code
- scripts/tick.sh 1.1 KB runs code
- scripts/watch.sh 10.0 KB runs code
- scripts/write-brief.sh 2.8 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 155 lines · 298 tokens per session scan A 12958202d9c2
better-loop is a skill published in the GitHub repository fledgeling-co/fledgeling-plugins (2 stars, last pushed today), licensed MIT. It adds 298 tokens to every session and 2,326 once invoked, about $0.0015 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…