subagent-driven-developmentlisted
Install: claude install-skill HarryJhin/groundwork
# subagent-driven-development
플랜을 실행한다. 태스크마다 fresh 구현자 서브에이전트를 띄우고, 태스크마다 리뷰(스펙 준수 + 코드 품질)를 붙이고, 마지막에 브랜치 전체를 보는 최종 리뷰를 한 번 한다.
**왜 서브에이전트인가**: 격리된 컨텍스트를 가진 전문 에이전트에 태스크를 위임한다. 지시와 컨텍스트를 정밀하게 구성해 그들이 초점을 잃지 않게 한다. 그들은 세션 컨텍스트나 히스토리를 상속받지 않는다. 필요한 것만 구성해 준다. 이렇게 하면 조율에 쓸 자기 컨텍스트도 지킨다.
**핵심 원칙**: 태스크마다 fresh 서브에이전트 + 태스크 리뷰(스펙 + 품질) + 마지막 최종 리뷰.
**주체**: 이 스킬을 실행하는 너를 컨트롤러라 부른다. 구현자·리뷰어는 네가 디스패치하는 서브에이전트다.
**입력**: 실행할 플랜 파일의 경로를 호출자에게 받는다. `groundwork:writing-plans`가 승인된 플랜을 넘길 때 그 경로를 준다. 경로를 받지 못했으면 어느 플랜을 실행할지 사용자에게 묻는다. 아래 `PLAN_FILE`은 그 경로다.
**서술 최소화**: 도구 호출 사이에 한 줄 넘게 늘어놓지 않는다. 진행 기록과 도구 결과가 기록을 담는다.
**연속 실행**: 태스크 사이에 사용자에게 확인하려 멈추지 않는다. 플랜의 전 태스크를 멈춤 없이 실행한다. 멈추는 이유는 셋뿐이다. 해소할 수 없는 BLOCKED, 진행을 정말로 막는 모호함, 전 태스크 완료. "계속할까요?" 같은 확인과 진행 요약은 사용자의 시간을 버린다. 플랜을 실행하라고 했으니 실행한다.
## 적용 판단
이 스킬은 서브에이전트를 쓸 수 있는 에이전트 실행 환경에서 플랜 실행의 기본 경로다. 서브에이전트가 없거나 격리 이득이 없으면 `groundwork:executing-plan`을 쓴다.
```mermaid
flowchart TD
A{승인된 플랜이 있나} -->|아니오| B[groundwork:writing-plans로 돌아간다]
A -->|예| C{태스크가 대체로 독립인가}
C -->|아니오, 강결합| D[각 태스크가 테스트 통과 상태로 끝나는지 다시 본다<br/>안 쪼개지면 한 태스크로 합친다]
C -->|예| E{서브에이전트를 쓸 수 있나}
E -->|아니오| F[groundwork:executing-plan]
E -->|예| G[subagent-driven-development]
```
## 셋업
작업이 격리된 워크스페이스에서 일어나게 한다. `groundwork:using-git-worktrees`로 만들거나 기존 것을 확인한다. 사용자의 명시 동의 없이 main·master 브랜치에서 구현을 시작하지 않는다.
대화 기억은 컨텍스트 압축을 견디지 못한다. 실제 세션에서 자기 위치를 잃은 컨트롤러가 완료된 태스크 묶음을 통째로 다시 디스패치한 사례가 있다. 이것이 관측된 가장 비싼 실패다. 진행을 todo가 아니라 **진행 기록 파일**에 기록한다.
**경로