* feat: add Loops component type with referenced components Introduce "loops" as a new first-class component type — autonomous agentic workflows (goal + interval + stop condition) inspired by Loop Engineering and the Forward Future Loop Library. A loop references other components (agents, skills, hooks, commands) and the dashboard renders those references as clickable cards on the loop detail page. - Add 10 starter loops under cli-tool/components/loops/ (engineering, evaluation, operations) - Catalog generator: scan loops + write per-component content files - Dashboard: new type in icons/types/data, /loops page, and a "Referenced Components" section on the loop detail page - CLI: --loop flag installs the loop to .claude/loops/ and auto-installs its referenced components - Docs: CLAUDE.md and cli-tool rule updated Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T9ynMiCHt8JwdMd8KjCkES * feat: add 8 more loops (goal/loop/schedule patterns) Expand the loops catalog to 18, drawing ideas from community "Loop Engineering" patterns. Adds loops across the three trigger verbs (/goal, /loop, /schedule) and emphasizes the verifier-in-the-loop and budget / anti-spin guardrails: - engineering/five-minute-maintainer-loop - engineering/build-test-fix-loop - engineering/anti-spin-build-loop - engineering/completion-contract-loop (goal) - engineering/goal-refiner-loop (goal) - engineering/adversarial-review-loop (cross-model) - operations/overnight-pr-routine-loop (schedule) - evaluation/human-approval-loop (human-in-the-loop) All referenced components verified to exist; catalog regenerated. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T9ynMiCHt8JwdMd8KjCkES --------- Co-authored-by: Claude <noreply@anthropic.com>
2.4 KiB
name, description, category, interval, stop-condition, components, tags
| name | description | category | interval | stop-condition | components | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| five-minute-maintainer-loop | Every few minutes while you work, makes one small verified repository improvement — a flaky test, a stale comment, a missing type — one change, one commit. | engineering | 5m | You end the session, or there is no safe low-risk improvement left to make this pass. |
|
|
Five-Minute Maintainer Loop
Loop Engineering — the
/loopverb repeats a task while you are present. This one does continuous, low-risk upkeep on a tight timer while you focus on the real work. Inspired by Peter Steinberger's five-minute maintainer.
🎯 Goal
Every few minutes, make exactly one small, verified improvement to the repo — and let the agent decide what to clean. That judgment is the whole point; nothing is hardcoded.
⏱️ Schedule
Suggested interval: 5m (runs while your session is open).
▶️ Run it
/loop 5m "Make one small, verified repository improvement: a flaky test, a stale comment, a missing type, a dead import. One change, one commit, tests green. Never touch anything risky or architectural. If nothing safe remains, say so and wait."
🔁 Iteration steps
- Perceive — scan for a small, low-risk improvement opportunity.
- Reason — confirm it is safe; the
scope-guardhook blocks risky/out-of-scope edits. - Act — make the single change.
- Verify — run the suite with
test-runner; only proceed if green. - Observe — commit with
/commit; one change, one commit. Wait for the next tick.
🛑 Stopping condition
You end the session, or there is no safe improvement left this pass (the loop idles rather than inventing risky work).
💰 Budget & guardrails
One change per tick; never refactors or touches production-critical paths. Set a per-session token budget before walking away.
🧩 Referenced components
agent:development-team/test-runner— verifies each change is green.command:git-workflow/commit— one clean commit per improvement.hook:quality-gates/scope-guard— blocks risky / out-of-scope edits.
💡 Example
While you build a feature, the loop quietly fixes a flaky timer test, removes a dead import, and adds a missing return type — three tiny green commits — without ever touching the feature you're working on.