← ClaudeAtlas

vibe.looplisted

반복 작업을 자율 goal loop로 설계·설치·실행하고 결정론적 gate로 완료를 판정해야 할 때 사용한다.
su-record/vibe · ★ 0 · AI & Automation · score 75
Install: claude install-skill su-record/vibe
# /vibe.loop ## 완료 기준 - [ ] loop 정의에 ANCHOR, ACT, JUDGE, RECORD가 모두 있다. - [ ] JUDGE가 exit code, 파일 상태 또는 ledger 값으로 판정된다. - [ ] stuck 조건과 max_iterations가 명시되어 있다. - [ ] 실행 결과가 pass, stuck, max_iterations 중 하나로 기록된다. **Loop Engineering** — 사람이 프롬프트하는 대신, 에이전트에게 프롬프트하는 루프를 설계한다. > 루프의 완료 판정은 모델의 자기 보고가 아니라 **결정론적 게이트**(run-ledger `verifyPassed`, 테스트 exit code)가 내린다. > 루프는 push·release·배포를 절대 수행하지 않는다 — 결과는 항상 사람 리뷰 큐(인박스)로 간다. ## Usage ``` /vibe.loop design [name] # 인터뷰 → .vibe/loops/<name>.md 정의 생성 /vibe.loop install <name> # 실행 환경(CC/Codex/cron)에 스케줄 연결 /vibe.loop run <name> # 1회 반복 실행 (스케줄러가 호출하는 진입점) /vibe.loop status [name] # 실행 이력 + 인박스 요약 /vibe.loop list # 정의된 루프 목록과 상태 ``` ## 경로 상수 (모든 서브커맨드 공통) ```bash HOOKS_DIR="${VIBE_PATH:-$(npm root -g 2>/dev/null)/@su-record/vibe}/hooks/scripts" LOOPS_DIR=".vibe/loops" INBOX="$LOOPS_DIR/inbox.md" HISTORY=".vibe/metrics/loop-history.jsonl" ``` --- ## design — 루프 정의 생성 1. 다음 5가지를 사용자에게 묻는다 (이미 인자로 답이 있으면 생략): - **목표(goal)**: 루프가 0으로 만들려는 것 (예: "open 회귀 0건", "P1 lint 0건") - **트리거**: `scheduled`(cron) / `manual` / `on-event` - **발견(discover)**: 일거리를 어떻게 찾는가 — 명령 또는 지시 - **검증(verify)**: `ledger`(vibe.verify 경유, 기본) / `tests`(테스트 명령 exit code) / `none`(보고만) - **격리(isolation)**: 병렬 항목이 파일을 수정하면 `worktree`, 아니면 `none` 2. `{{VIBE_PATH}}/vibe/templates/loop-template.md`를 읽어 `.vibe/loops/<name>.md`를 생성한다. 3. **생성 직후 반드시 검증한다** — 실패 시 정의를 고치고 재검증, 통과 전에는 install/run 금지: