← ClaudeAtlas

tinkerlisted

Diagnose and repair the documented autoloop bootstrap failure modes for a registered loop. Idempotent. Use when a loop is registered but doesn't fire, when owner_session_id is stuck at "pending-bind", or after a marketplace update that may have left stale plists. Renamed from "doctor" to avoid clashing with Claude Code's /doctor. TRIGGERS - autoloop doctor, autoloop repair, autoloop fix, fix loop, repair loop, pending-bind, loop won't fire, loop not firing.
terrylica/cc-skills · ★ 49 · AI & Automation · score 82
Install: claude install-skill terrylica/cc-skills
# autoloop: Tinker Diagnose and repair a registered autoloop that won't fire. > **Self-Evolving Skill**: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues. ## Why this exists `/autoloop:start` can finish without surfacing partial failures: - The launchd plist may have failed to load (no fire schedule). - The four autoloop hooks may not be in `~/.claude/settings.json` (session-bind never runs, so `owner_session_id` stays at `pending-bind` forever). - The plist's runner script may point at a stale waker path (e.g. after a marketplace upgrade moved the plugin tree). - `owner_session_id == "pending-bind"` may persist beyond the bind grace window. `autoloop:tinker` runs all four diagnoses, prints a JSON report, and applies idempotent repairs. Safe to invoke at any time — healthy loops produce no changes. ## Arguments - Positional (optional): a loop identifier in any of the three forms accepted by `resolve_loop_identifier`: - `<loop_id>` — bare 12 hex chars (e.g. `293399ce8573`) - `AL-<slug>--<hash>` — display name (e.g. `AL-mowfo-rollout--598311`) - `AL-<slug>` — slug only (errors with candidates if ambiguous) - If no argument is given AND exactly one `.autoloop/<slug>--<hash>/CONTRACT.md` exists in the current working directory, infer the loop_id from the contract path. Otherwise prompt the user. ## Step 1: Resolve loop_id ``