build-skilllisted
Install: claude install-skill gagip/gagip-dev
# Build Skill
스킬을 **제품처럼 반복 개발**하는 루프를 제공한다.
```
의도 포착 → SKILL.md 초안 → 테스트 케이스 작성 → 러너 실행(+baseline)
→ 결과·출력물을 사람에게 제시 → 정성 피드백 → 일반화하여 재작성 → 반복
```
사용자가 이 루프의 어디에 있는지 파악해 그 지점부터 합류한다. "스킬 만들어줘"면 처음부터,
초안이 이미 있으면 테스트/반복부터. 사용자가 "평가 없이 감으로 가자"고 하면 그렇게 한다.
---
## 1. 의도 포착
먼저 무엇을 만들지 좁힌다. 대화에 이미 워크플로가 있으면(예: "방금 한 거 스킬로") 히스토리에서
추출한다 — 쓴 도구, 단계 순서, 사용자가 교정한 지점, 입출력 형식.
사용자에게 확인할 것:
1. 이 스킬로 Claude가 무엇을 할 수 있어야 하나
2. 언제 발동해야 하나 (어떤 사용자 표현·맥락)
3. 기대 출력 형식은
4. 결정론적으로 검증 가능한 산출물인가 (파일 변환, 커밋, 워크플로 단계 준수 등) →
테스트 케이스 유용. 주관적 산출물(글 스타일, 디자인)이면 정성 피드백만.
엣지 케이스·입출력·예시 파일·성공 기준·의존성을 먼저 정리한다. 테스트 프롬프트는 그 다음.
---
## 2. 어디에 두나 (폴더 규칙)
```
plugins/<plugin>/skills/<skill-name>/
├── SKILL.md (필수) frontmatter + 워크플로 본문
├── scripts/ 결정론적·반복 작업 코드. Claude가 매번 재작성하지 않도록 번들
├── references/ 필요할 때 읽는 문서. 본문에서 링크, 300줄 넘으면 목차 포함
├── assets/ 산출물에 들어가는 템플릿·아이콘·폰트
└── evals/ 이 스킬용 테스트 케이스 (*.py, 1파일 1케이스)
```
- 플러그인 선택: 언어·플랫폼 무관 워크플로 → `common`, 개발 특화 → `development`, 그 외 기존 관례.
- **Progressive disclosure 3단계** — 이걸 의식하고 분량을 배분한다:
1. `name` + `description` — 항상 로드 (~100 단어). 트리거의 전부.
2. `SKILL.md` 본문 — 발동 시 로드 (<500줄 권장).
3. `scripts/` `references/` `assets/` — 필요할 때만. 스크립트는 로드 없이 실행 가능.
- 본문이 500줄에 근접하면 계층을 하나 더 만들고 "여기부터는 references/X를 읽어라"로 넘긴다.
- 여러 도메인/프레임워크를 지원하면 `references/<변형>.md`로 쪼개고 본문은 선택 로직만 둔다.
---
## 3. SKILL.md 작성
`assets/SKILL.template.md`를 복사해 시작한다. 채울 것:
| 필드 | 하네스 | 내용 |
|---|---|---|
| `name` | 공통 | kebab-case