loop-setuplisted
Install: claude install-skill GangJaeYu/harness_loop_full_korean
# 개발 루프 세팅 (Layer 5)
## 이 스킬의 목적
하네스가 **"태스크 하나가 끝났다고 말해도 되는 조건"**을 정했다면,
루프는 **누가 언제 그것을 확인하고 무엇을 기록하는가**를 정한다.
원본 사양은 `LOOP.md` 를 **개발 프로세스의 헌법**이라고 불렀다. 그 표현이 정확하다.
이 문서의 독자는 사람이 아니라 **다음 세션의 에이전트**이고, 세션은 계속 끊긴다.
끊긴 자리에서 다시 읽히는 것이 `STATE.md` 와 이 문서 둘뿐이다.
```
구현 세션이 열린다
→ LOOP.md 를 읽는다 (무엇을 어떤 순서로 하는가)
→ STATE.md 를 읽는다 (지금 어디인가)
→ 태스크 하나를 구현한다
→ lint·unit·e2e 를 순서대로 돌린다 (하네스가 정의한 명령)
→ "task_validation 대기" 를 적고 닫는다
검증 세션이 열린다 → task_validation 만 돌려 판정 블록을 내고 닫는다 ← 루프가 실제로 만들어 내는 분리
반영 세션이 열린다 → 판정을 STATE.md·LOG.md 에 옮기고, 완료·커밋 또는 수정·재실행을 하고 닫는다
```
루프의 품질은 "순서가 촘촘한가"가 아니라 셋으로 판정된다.
1. **세션이 임의의 지점에서 죽어도 다음 세션이 같은 자리에서 이어지는가** — 원본이 STATE.md·LOG.md 를 둔 이유가 이것이다
2. **통과하지 않은 것이 통과로 기록되지 않는가** — 미활성 게이트, 분리되지 않은 검증, 소진된 재시도
3. **막혔을 때 사람에게 오는가** — 스스로 기준을 낮추는 쪽으로 풀지 않는다
### 여기서 하는 일과 하지 않는 일
| 하지 않는 것 | 어디서 하는가 |
|---|---|
| 요구사항·기술 결정·설계를 읽고 해석하는 것 | 이미 태스크 문서로 내려왔다. 루프는 PRD·TRD·아키텍처를 읽지 않는다 |
| 태스크·phase 를 나누거나 수용 기준·`verification` 을 고치는 것 | Layer 3 (`plan-generator` 10단계 부분 갱신) — 루프는 `Next Action` 에 무엇을 고쳐야 하는지 적고 멈춘다 |
| 게이트가 무엇을 검사하고 어떤 명령으로 도는지 **정하는 것** | Layer 4 (`harness-setup`). 루프는 그 명령을 **꺼내 돌릴 뿐**이다 |
| 게이트를 고치는 것 (흐름 정의, 활성 시점, `local-dev`) | `harness-update` — 루프는 **부르는 조건**만 안다 |
| 태스크 코드를 실제로 구현하는 것 | 루프를 **도는** 세션. 이 스킬은 루프를 **세운다** |
| 루프를 고쳐 나가는 것 | `loop-update` — 규칙은 phase 가 진행되며 바뀐다 |
**루프가 게이트 내용을 다시 정하지 않는 이유가 있다.** 게이트를 돌리는 쪽과 게이트를 고치는 쪽이 같으면,
실패를 없애는 가장 빠른 길이 언제나 기준을 낮추는 것이 된다. 루프는 **돌리고 분류하고 보고하는 쪽**이고,
고치는