From atlas
Match a recurring or iterative task to the best-fit reusable loop from a curated loop-library and instantiate it, handing interval/self-paced loops to the built-in /loop skill and running fan-out loops as a parallel adversarial-verify Workflow. Use when the user wants to run something repeatedly, poll for status, iterate until a condition is met, sweep a backlog, or stand up a recurring/scheduled workflow.
How this skill is triggered — by the user, by Claude, or both
Slash command
/atlas:atlas-chronosWhen to use
the user wants to run something repeatedly, poll for status, iterate until a condition is met, sweep a backlog, or stand up a recurring/scheduled workflow
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A **loop** is a reusable, parameterized iterative workflow: a body of work plus a **cadence** that decides how it repeats. This skill does not invent a loop from scratch each time. It reads a curated library, matches the user's task to the closest loop by its `when-to-use`, presents the top candidates, then **instantiates** the chosen one by filling its inputs and dispatching it on the right ca...
loops/INDEX.mdloops/build-fix-loop.mdloops/code-review-iterate.mdloops/dependency-bump-sweep.mdloops/doc-reconcile.mdloops/fan-out-adversarial-verify.mdloops/flaky-test-hunt.mdloops/incident-triage.mdloops/loop-until-dry.mdloops/migration-pipeline.mdloops/perf-profile-iterate.mdloops/red-green-tdd.mdloops/security-finding-verify.mdA loop is a reusable, parameterized iterative workflow: a body of work plus a cadence that decides how it repeats. This skill does not invent a loop from scratch each time. It reads a curated library, matches the user's task to the closest loop by its when-to-use, presents the top candidates, then instantiates the chosen one by filling its inputs and dispatching it on the right cadence.
Your job is selection and instantiation, not improvisation. Push the per-loop detail into the loop files; keep this file about routing.
Elicitation: present the top loop candidates via AskUserQuestion (best match first, marked recommended), not as prose the user must answer free-form. If the chosen loop has a cadence or bound the task did not fix (interval, max iterations, dry-run threshold), fold it into the same round as a second question with concrete option values. One round total; discoverable inputs (paths, test commands, current failure count) are detected, never asked.
Every loop runs on exactly one cadence. The cadence decides who drives the repetition.
| Cadence | Who repeats it | How you instantiate it |
|---|---|---|
| interval | A timer | Hand to the built-in /loop skill: /loop <interval> <prompt-or-slash-command>. The interval is a duration like 5m, 30s, 2h. |
| self-paced | The model decides when to go again | Hand to /loop with no interval so the model self-paces between iterations until the stop condition is met. |
| fan-out | Parallel subagents, once or per wave | Run as a Workflow: dispatch N independent subagents in one message, then an adversarial atlas:verifier pass. No timer; the "loop" is the wave plus its verification, repeated until the queue is drained. |
When in doubt: a time-driven poll or recurring check is interval; an until-converged refine is self-paced; a breadth-first sweep of independent items is fan-out.
loops/INDEX.md first. It is the compact catalog (id, category, cadence, one-line when-to-use, file). This is progressive disclosure: never preload the individual loop files; the index is enough to choose.when-to-use line. Score on intent, not keywords: does the user's recurring/iterative need fit this loop's trigger?inputs from the user or the environment (ask only for what you cannot discover). Then:
/loop line with the resolved inputs and hand it off.If this skill is invoked with no task (bare invocation, or "what loops do you have"), do not guess. Read loops/INDEX.md and list the available loops grouped by category, one line each (id - when-to-use - cadence). Close with a prompt: "Name a task and I will match it to a loop." Do not instantiate anything.
inputs list in its frontmatter. Resolve every input before running. Prefer discovery (read the repo, the manifest, the failing command) over asking; ask only for genuinely unknowable values (a target URL, an interval preference, a budget).atlas:explorer, atlas:implementer, atlas:verifier, etc.) rather than generic agents when the work is code./loop. For interval and self-paced loops your deliverable is the exact /loop ... line the user (or the session) runs. Do not simulate the timer yourself; /loop owns the cadence.loops/<id>.md following the existing frontmatter shape: id, name, category, cadence, inputs). The <id> must be a filesystem-safe slug (lowercase, only a-z 0-9 - _; no colon, slash, or space - see the slug rule in atlas-metis/references/docs-ssot.md "Naming conventions"), or the repo cannot be checked out on Windows. Adding a loop means adding its row to loops/INDEX.md too.fan-out sweep can feed a self-paced refine on the survivors. When you chain loops, name the handoff (what the first loop produces, what the second consumes).Read loops/INDEX.md. If the user named a task, match and present the top candidates. If they did not, list the library grouped by category and ask for a task.
npx claudepluginhub w159/atlas-connectwise --plugin atlasGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.