← ClaudeAtlas

confab-cyclelisted

Use when the user asks for a bounded self-optimization loop that re-runs confab's audits until convergence or a pass cap, wants to 'run the confab cycle', 'keep fixing findings until done', or asks for propose-only vs fix-mode passes. Runs at most max_passes_per_invocation (default 5) passes, applies fixes only in fixable domains, and stops early on convergence — every bound is enforced by scripts/cycle_engine.py, not by this file's instructions.
Anselmoo/werkstoff · ★ 1 · AI & Automation · score 67
Install: claude install-skill Anselmoo/werkstoff
Run confab's bounded self-optimization loop: repeatedly find the "constraint" domain (the one with the most urgent open findings), audit it, and — in fix mode — apply or draft fixes, until the loop converges or hits its pass cap. The pass cap, the reopen thrash-guard, the fixable- domain gating, and the convergence check are all enforced by `scripts/cycle_engine.py` and `scripts/lib/ledger.py`; this file only describes how to drive that engine. If your own count of passes ever disagrees with what the engine reports, trust the engine — it is the source of truth, not your running tally. ## Setup (once per invocation) 1. Determine `repo_root`, `mode` (`"fix"` or `"propose"` — default `"propose"` unless the user explicitly asked to apply fixes), `max_passes` (default 5, never pass a value above 20 to the engine — it will refuse), and `max_reopens` (default 3, never above 10). 2. Generate one `invocation_id` for this whole run (e.g. `python3 -c "import uuid; print(uuid.uuid4())"`) and reuse it for every symbol-index build this invocation needs — never build a fresh one per pass or per domain. This is what makes the symbol-index snapshot shared rather than rebuilt (rule: symbol-index-shared-per-invocation). Resolve it now: ``` python3 "${CLAUDE_PLUGIN_ROOT}/scripts/symbol_index_cli.py" resolve <repo_root> --invocation-id <invocation_id> ``` This is the "CLI wrapper the cycle skill points you at" that `confab-assertion-audit` and `confab-cont