← ClaudeAtlas

unattended-looplisted

무인 빌드 loop — 사람이 자리를 비운 사이 할 일 하나를 계획→구현→검증→저장까지 한 바퀴 안전하게 만들어 두는 엔진. 사용자가 "무인으로 맡길게 / 자리 비운 사이 만들어둬 / unattended loop / 밤새 돌려"라고 하거나 chageun-unattended 런처로 무인 세션을 시작할 때 발동한다. Claude 전용(무인 안전 훅이 있는 곳에서만).
chacheum/chageun · ★ 0 · AI & Automation · score 60
Install: claude install-skill chacheum/chageun
# 무인 빌드 loop (unattended-loop) — 걸어다니는 뼈대 사람이 자리를 비운 사이, 이 세션이 **할 일 하나**를 받아 파이프라인을 한 바퀴 돌아 **검증 대기 초안**을 만든다. "완성"이 아니라 "사람이 돌아와 로컬로 열어 검증할 초안"이다. ## 발동 전 자기가드 (기계 바닥이 없으면 멈춤) 이 스킬은 **무인 안전 훅이 켜진 Claude 세션**에서만 안전하다. LOOP를 시작하기 전에 확인한다: - 무인 표식(`CHAGEUN_UNATTENDED=1`)과 통과표가 있는가? 없으면 **LOOP를 시작하지 않고** 사람에게 "무인 모드가 아닙니다 — `chageun-unattended` 런처로 시작하세요"라고 알린다. - PreToolUse 안전 훅이 실제로 걸려 있는지 확인한다. **세션 안에서 훅 배선을 직접 볼 수단은 없으므로, 위 통과표의 존재가 유일한 대리 증거다** — 그것 없이 "확인했다"고 넘기지 않는다. 확인되지 않으면 무인 LOOP 금지(기계 바닥 부재). **이 자기가드는 심층 방어의 얇은 겉막이다.** 진짜 기계 바닥은 **격리 작업실**이다 — 런처 `chageun-unattended go`가 본체를 `git clone --local`한 **일회용 저장소**에서, `origin` 리모트를 떼고(push·PR 구조적 불능) `claude --strict-mcp-config`(빈 MCP 목록)로 기동(MCP 전면 off 지향)한다. 그래서 ���인 중 **설치·localhost 검증은 자유롭게**(로컬은 풀림) 하되, 되돌리기 불가 행동은 *환경적으로* 불가능하다. MCP-off의 런타임 효과는 무인에서 눈으로 확인할 수 없어, **원격 MCP 쓰기·MCP 경유 DB 쓰기는 훅이 백스톱으로 함께 막는다**(둘 중 하나만 믿지 않는 심층방어). (여기에 런처가 `claude`를 하드코딩해 다른 CLI로는 무인 진입이 불가능하다는 점도 바닥이지 이 문단이 아니다.) ## SETUP — 시동 (사람 있을 때, 유인) 무인 시작 **전**(아직 `.chageun`가 안 잠긴 유인 상태)에 사람과 함께 준비한다: 1. 사람이 채팅으로 할 일을 말한다. 2. 세션이 일을 적는다: - **일이 하나면** `.chageun/task.md`(할일 카드: 왜·무엇·범위·안 하는 것) + `.chageun/criteria.md`(성공기준). - **여러 일이면** `.chageun/queue.md`에 **차례로** 적는다 — 각 항목: 번호·제목 + 그 일의 성공기준(자동으로 잴 수 있는 형태). 큐는 위에서부터 처리된다. - 성공기준은 반드시 **자동으로 잴 수 있는 형태**(존재·텍스트·상태 **단언**, 로컬 실행 시나리오)로. "예쁘다" 같은 취향 기준은 부적합. 3. 두 파일을 사람에게 **보여주고**, 성공기준은 **한 줄씩** 짚어 "이 줄 맞나요?"로 확인받는다(대충 넘기지 못하게). 통째로 "네" 받고 넘기지 않는다 — 느슨한 기준이 그대로 동결되면 루프가 자기 기준을