improve-loop
Skill0 starsChanged 4 months agoMITView on GitHub
This skill should be used when the user asks to "improve this loop", "turn this into a /loop", "turn this into a /schedule", "make this a recurring task", "spec out this monitoring loop", "harden this scheduled task", or pastes a loosely-specified recurring or open-ended task to be strengthened into a loop spec. Enriches a draft loop against the researched loop rule pack into a bounded, ready-to-run spec for Claude Code's /loop or /schedule.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- Stijnus/dsh-rev-engtheir own version, first seen Nov 8, 2026
- daveebbelaar/bawatheir own version, first seen Nov 8, 2026
- daveebbelaar/bamatheir own version, first seen Nov 1, 2026
- maxvyshniakov/improve-looptheir own version, first seen Oct 13, 2026
- skipstery/improve-looptheir own version, first seen Jul 13, 2026
Used with
Projects with it also use app-brief, design-from-app and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
StijnusSkillapp-brief
One-page brief (docs/BRIEF.md) for a new macOS app, written before any code. Use when the user has an app idea, wants to replace an app they pay for, or the research and clone skills are done.
Also in 3 projects that use this
StijnusSkilldesign-from-app
Rebuild the look of an app the user likes as a native SwiftUI design kit, by measuring its screenshots (sizes, spacing, type, colors, icons), building its parts, and comparing pixel by pixel until they match. Use when the user names an app whose look they want, shares screenshots of one, or says "make it look like X".
Also in 3 projects that use this
launchapp-devSkilllayout-grid
Define responsive layout grid systems with columns, gutters, margins, and breakpoint behavior.
Also in 3 projects that use this
MohamedAbdallah-14Skillapp-icon
Generate an app icon from a single 1024² master and fan out to iOS (AppIcon.appiconset with squircle-ready 1024 opaque), Android (adaptive foreground + background + Android 13 monochrome), PWA (192/512 + 512 maskable with 80% safe zone), and visionOS (3-layer parallax).
Also in 3 projects that use this
timeplus-ioSkillbuild-and-verify
Build, compile, run server/client/cluster, execute unit/stateless/SQL tests, verify results, and troubleshoot build/test failures. Make sure to use this skill whenever the user mentions building, compiling, ninja, cmake, running tests, test failures, starting the server, or pre-commit checks, even if they just say 'it doesn't build' or 'the test broke'.
Also in 3 projects that use this
CrystalPlatformsSkillagent-cli
Design and audit CLIs that AI agents (Claude Code, Codex, automated pipelines) consume. Applies ten agent-native principles in two tiers — Tier 1 table stakes (non-interactive default, structured output, errors that enumerate, safe retries, bounded responses) and Tier 2 compounding (cross-CLI vocabulary, three-layer introspection, async-aware execution, persistent profiles, two-way I/O) — with a Blocker / Friction / Optimization severity rubric across six command classes (read, mutate, stream, bootstrap, async, config). Use when building, reviewing, or specifying a CLI for agent invocation, mentions argparse, click, cobra, clap, commander, yargs, oclif, thor, agent-friendly or agent-native CLI design, --json output, exit codes, idempotent commands, --wait flags, agent-context introspection, persistent profiles, --deliver routing, --force bypass, vocabulary consistency, or repos with cli.py, main.go, src/cli.rs, bin/<tool>. Skip general shell scripting and human-only TUIs.
Also in 3 projects that use this
- +1 more from Stijnus
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- daveebbelaar/bama★ 1.7ksame name
- daveebbelaar/bawa★ 17same name
- Stijnus/dsh-rev-eng★ 1same name
- maxvyshniakov/improve-loop★ 0same name
- skipstery/improve-loop★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository4 other files it gives its agents.
- AGENTS.mdAGENTS.md
- grade-enrichmentSkill
- improve-goalSkill
- improve-promptSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 5 are distinctive, and 2 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
5
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Run these four steps in order.
- Very specific: line 41
Run the draft against every rule's gap_check.
- Distinctive: line 70
If the task decomposes into a bounded workflow (prompt chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer), emit …
- Distinctive: line 79
Use Claude Code's own documented loop bounds — 1 minute-3 day interval, idle-only firing with no catch-up, deterministic jitter, 7-day …
- Distinctive: line 114
NEVER use placeholders like [REPO], [INTERVAL], [THRESHOLD].
- Distinctive: line 117
NEVER emit a fully autonomous loop as ready without all three hard gates — sandboxing, a max-iteration cap, and a human checkpoint — plus …
- Very specific: line 122
When the user asks why a change was made, cite the specific rule id and its finding_refs — resolved via rules/findings-index.json — not a …
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Improve Loop
Enrich the user's loosely-specified recurring or open-ended task into a
well-formed loop spec ready for Claude Code's /loop or /schedule. The
governing bias, from the rule pack itself: prefer a bounded workflow over a
fully autonomous loop unless the task is genuinely open-ended — and a fully
autonomous loop is NEVER emitted as "ready" without its hard gates.
Pipeline
Run these four steps in order.
1. Load the rule pack
Read ${CLAUDE_PLUGIN_ROOT}/rules/loop-rules.json (equivalently
../../rules/loop-rules.json from this skill's base directory). Every
enrichment decision traces to a rule in that pack; the pack maps each rule to
the research finding(s) behind it via finding_refs, resolvable in
${CLAUDE_PLUGIN_ROOT}/rules/findings-index.json.
2. Confirm the artifact kind
Invoking this skill is the explicit classification: the draft is a loop. If it
clearly reads as a one-shot prompt or a single-end-state goal with no
recurrence, surface that mismatch as the first clarifying question. Never
silently convert it. In default single-turn mode, honor the explicit
invocation: enrich the draft as a loop anyway, with the mismatch question
folded in as the first line of the returned spec (naming the kind it appears
to be and offering the matching sibling skill). In --interactive mode, ask
the mismatch question first, before any other gap.
3. Detect gaps
Run the draft against every rule's gap_check. Produce one internal gap list
of {rule_id, finding_refs, description} records — carrying every finding
ref the rule cites — feeding both elicitation modes.
4. Elicit and synthesize
Default (single-turn): fold each gap into the returned loop spec as a concise clarifying question. Nothing invented, no placeholder tokens.
--interactive (only when the argument includes the flag): render the
same gap list as AskUserQuestion calls — at most 4 questions per call, batched
until every gap is resolved — then synthesize with the answers folded in. If
the user declines or skips a question, fall back to folding that gap into the
spec as a clarifying question — never invent an answer.
What may be defaulted vs what must be asked: loop mechanics (interval,
expiry, cadence) may be defaulted from the documented /loop bounds and
stated as defaults; facts about the user's task (repos, thresholds,
environments, scopes) are never defaulted — fold those as clarifying
questions.
Definition — fully autonomous: a loop is fully autonomous when any iteration takes an action with side effects (writes, pushes, deploys, messages) without a human in that iteration. Read-only observe-and-report loops are not fully autonomous and need only the completion condition and bound.
Synthesize by applying every applicable rule:
- If the task decomposes into a bounded workflow (prompt chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer), emit that shape and say why, instead of an autonomous loop.
- A fully autonomous loop MUST carry all three hard gates before it is emitted as ready: sandboxing, a max-iteration cap, and a human checkpoint. Missing any gate, the emitted spec states the loop is NOT ready and folds the gate in as a clarifying question or explicit requirement.
- Where the loop acts through tools, specify ReAct-style interleaved reasoning-then-acting, not plan-once-then-execute.
- Use Claude Code's own documented loop bounds — 1 minute-3 day interval, idle-only firing with no catch-up, deterministic jitter, 7-day auto-expiration — never invented semantics.
- An explicit completion condition and a bound are mandatory, never optional.
Output format
Return ONLY the improved loop spec inside a code block. Nothing else.
Exceptions: when the user explicitly asks for the rationale or grounding
behind changes, append the per-change citations (rule id → finding @id)
after the code block; in --interactive mode, AskUserQuestion turns precede
the single code block.
[improved loop spec here]Example
<example>
Draft: "keep an eye on my open PRs"Improved: "/loop 10m — For each open PR authored by me in this repo: check CI status, new review comments, and unresolved review threads. Report only deltas since the previous iteration (new failures, new comments, newly resolved threads); stay silent when nothing changed. Completion condition: stop when zero authored PRs remain open, or after 3 days, whichever comes first (loop auto-expires at 7 days regardless). Clarify first: should this cover one repository or all repositories I have open PRs in?"
</example>
Critical rules
- Return ONLY the code block with the improved loop spec — no analysis, no explanations, no "Changes Made".
- The improved spec must be COMPLETE and READY TO USE immediately with
/loopor/schedule, including any clarifying questions needed to proceed — EXCEPT a fully autonomous loop missing any hard gate, which must instead state it is NOT ready and carry each missing gate as an explicit requirement or clarifying question. Never invent gate values to satisfy readiness. - NEVER use placeholders like [REPO], [INTERVAL], [THRESHOLD]; NEVER create templates. If information is missing, fold a concise clarifying question into the spec; do not invent details.
- NEVER emit a fully autonomous loop as ready without all three hard gates — sandboxing, a max-iteration cap, and a human checkpoint — plus the explicit completion condition and bound that every loop requires (autonomous or not). Hard gates, not style preferences.
- Preserve the original intent.
- When the user asks why a change was made, cite the specific rule
idand itsfinding_refs— resolved viarules/findings-index.json— not a restated heuristic.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

