en un clic
08-wrap
// 작업을 마무리하는 스킬. 테스트 확인, 커밋/PR, worktree 정리와 함께 5개의 전문 에이전트로 세션 인사이트를 추출합니다.
// 작업을 마무리하는 스킬. 테스트 확인, 커밋/PR, worktree 정리와 함께 5개의 전문 에이전트로 세션 인사이트를 추출합니다.
길드 운영 인사이트를 구조화된 문서로 축적하여 조직 지식을 복리로 성장시킨다
This skill should be used when the user is building, planning, or strategizing and the key question is whether to optimize content (what) or change form (how/medium). Trigger on "내용 vs 형식", "content vs form", "metamedium", "형식을 바꿔볼까", "새로운 포맷", "관점 전환", "perspective shift", "다른 방법 없을까", "같은 방식이 안 먹혀", "diminishing returns". Applies Alan Kay's metamedium concept to surface form-level alternatives. For requirement clarification use vague; for strategy blind spots use unknown.
This skill should be used when the user asks to "팀 구성해줘", "team assemble", "전문가 팀으로 해줘", "팀으로 해줘", "swarm", "병렬로 전문가 팀", or wants to decompose a complex task into specialist roles executed via TeamCreate. Also triggers when user describes a task clearly benefiting from parallel expert execution.
This skill should be used when the user provides a strategy, plan, or decision document and wants to surface hidden assumptions and blind spots using the Known/Unknown 4-quadrant framework. Trigger on "known unknown", "4분면 분석", "blind spots", "뭘 놓치고 있지", "뭘 모르는지 모르겠어", "전략 점검", "전략 분석", "assumption check", "가정 점검", "quadrant analysis", "what am I missing". Strategy-level blind spot analysis with hypothesis-driven questioning. For requirement clarification use vague; for content-vs-form reframing use metamedium.
This skill should be used when the user's request or requirement is ambiguous and needs iterative questioning to become actionable. Trigger on "clarify requirements", "refine requirements", "요구사항 명확히", "요구사항 정리", "뭘 원하는 건지", "make this clearer", "spec this out", "scope this", "/clarify". Turns vague inputs into concrete specs. For strategy blind spots use unknown; for content-vs-form reframing use metamedium.
| name | 08-wrap |
| description | 작업을 마무리하는 스킬. 테스트 확인, 커밋/PR, worktree 정리와 함께 5개의 전문 에이전트로 세션 인사이트를 추출합니다. |
구현이 끝나면 깔끔하게 마무리하세요.
마무리 없이 끝내면:
시작할 때 알림: "wrap 스킬을 사용하여 작업을 마무리하겠습니다."
┌──────────────────────────────────────────────────────────────────────┐
│ Wrap 워크플로우 (Enhanced) │
└──────────────────────────────────────────────────────────────────────┘
┌─────────────────┐
│ 구현 완료 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 1. 테스트 확인 │ npm test / pytest
└────────┬────────┘
│
┌─────┴─────┐
│ │
▼ ▼
┌──────┐ ┌──────┐
│ PASS │ │ FAIL │──▶ 테스트 먼저 수정!
└──┬───┘ └──────┘
│
▼
┌─────────────────┐
│ 2. 상태 확인 │ git status / branch
└────────┬────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 3. 세션 인사이트 추출 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Phase 1: 병렬 분석 │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ doc-updater │ │ automation- │ │ learning- │ │ │
│ │ │ │ │ scout │ │ extractor │ │ │
│ │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │
│ │ │ │ │ │ │
│ │ └────────────────┼────────────────┘ │ │
│ │ ▼ │ │
│ │ Phase 2: 순차 검증 │ │
│ │ ┌────────────────────────────────┐ │ │
│ │ │ duplicate-checker │ │ │
│ │ └────────────────┬───────────────┘ │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ┌────────────────────────────────┐ │ │
│ │ │ followup-suggester │ │ │
│ │ └────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ 4. 옵션 선택 │
└────────┬────────┘
│
┌────────┼────────┬────────┐
│ │ │ │
▼ ▼ ▼ ▼
┌────┐ ┌────┐ ┌────┐ ┌────┐
│ 1 │ │ 2 │ │ 3 │ │ 4 │
│로컬│ │ PR │ │유지│ │삭제│
│머지│ │생성│ │ │ │ │
└─┬──┘ └─┬──┘ └─┬──┘ └─┬──┘
│ │ │ │
▼ ▼ │ ▼
┌─────┐ ┌─────┐ │ ┌─────┐
│main │ │push │ │ │확인 │
│머지 │ │+PR │ │ │후 │
│ │ │ │ │ │삭제 │
└──┬──┘ └──┬──┘ │ └──┬──┘
│ │ │ │
└───────┴──────┴───────┘
│
▼
┌─────────────────┐
│ 5. Worktree │ (사용했다면)
│ 정리 │
└────────┬────────┘
│
▼
┌─────────────────┐
│ 완료! 🎉 │
└─────────────────┘
═══════════════════════════════════════════════════════════════════
옵션 1: 로컬 머지 → merge + branch 삭제 + worktree 정리
옵션 2: PR 생성 → push + gh pr create + worktree 정리
옵션 3: 유지 → 그대로 (나중에 처리)
옵션 4: 삭제 → 확인 후 강제 삭제
═══════════════════════════════════════════════════════════════════
세션 인사이트 추출을 위해 5개의 전문 에이전트가 협력합니다.
| 에이전트 | 역할 | 모델 |
|---|---|---|
| doc-updater | CLAUDE.md, context.md, decision-record 업데이트 분석 | sonnet |
| automation-scout | 반복 작업을 skill/command/agent로 자동화할 기회 탐지 | sonnet |
| learning-extractor | 세션에서 배운 것, 실수, 새 발견 추출 | sonnet |
| 에이전트 | 역할 | 모델 |
|---|---|---|
| duplicate-checker | Phase 1 제안의 중복 여부 검증 | haiku |
| followup-suggester | 미완성 작업, 개선 포인트, 다음 세션 작업 정리 | opus |
# Phase 1: 병렬 실행 (Task tool로 동시 호출)
Task(subagent_type="general-purpose", prompt="doc-updater 에이전트 실행...")
Task(subagent_type="general-purpose", prompt="automation-scout 에이전트 실행...")
Task(subagent_type="general-purpose", prompt="learning-extractor 에이전트 실행...")
# Phase 2: Phase 1 결과를 입력으로 순차 실행
Task(subagent_type="general-purpose", prompt="duplicate-checker: Phase 1 결과 검증...")
Task(subagent_type="general-purpose", prompt="followup-suggester: 후속 작업 정리...")
각 에이전트의 상세 프롬프트는 references/ 폴더에 있습니다:
references/
├── automation-scout.md # 자동화 기회 탐지
├── doc-updater.md # 문서 업데이트 분석
├── duplicate-checker.md # 중복 검증 (Phase 2)
├── followup-suggester.md # 후속 작업 제안
└── learning-extractor.md # 학습 포인트 추출
마무리 전에 테스트가 통과해야 합니다.
# 프로젝트에 맞는 테스트 명령어
npm test
# 또는
pytest
# 또는
go test ./...
테스트 실패 시:
테스트 실패:
- 실패: 2개
- 통과: 45개
[실패 내용 표시]
테스트를 먼저 수정해야 합니다. 마무리를 진행할 수 없습니다.
테스트 통과 시: 2단계로 진행
# 어떤 브랜치에 있는지
git branch --show-current
# 변경사항 확인
git status --short
# worktree인지 확인
git worktree list
사용자에게 4가지 옵션을 제시합니다:
작업이 완료되었습니다. 어떻게 마무리할까요?
1. 로컬에서 main에 머지
2. PR 생성
3. 브랜치 유지 (나중에 처리)
4. 작업 취소 (삭제)
어떤 옵션을 선택하시겠습니까?
# 메인 브랜치로 이동
git checkout main
# 최신 상태로 업데이트
git pull
# 기능 브랜치 머지
git merge feature/my-feature
# 테스트 재확인
npm test
# 브랜치 삭제
git branch -d feature/my-feature
# 원격에 푸시
git push -u origin feature/my-feature
# PR 생성
gh pr create --title "기능 제목" --body "$(cat <<'EOF'
## 요약
- 변경 내용 1
- 변경 내용 2
## 테스트
- [ ] 확인 사항 1
- [ ] 확인 사항 2
EOF
)"
PR URL을 사용자에게 알려줍니다.
브랜치 feature/my-feature를 유지합니다.
다음에 이어서 작업하거나 마무리할 수 있습니다.
워크트리도 그대로 유지합니다.
확인을 받습니다:
정말로 삭제하시겠습니까?
삭제될 항목:
- 브랜치: feature/my-feature
- 커밋: abc1234, def5678
- 워크트리: .worktrees/my-feature (있는 경우)
'삭제'를 입력하면 실행됩니다.
확인 후:
git checkout main
git branch -D feature/my-feature
옵션 1, 2, 4를 선택한 경우 worktree 정리:
# worktree 목록 확인
git worktree list
# 해당 worktree가 있으면 삭제
git worktree remove .worktrees/my-feature
옵션 3을 선택한 경우 worktree 유지.
| 옵션 | 머지 | 푸시 | 브랜치 삭제 | Worktree 정리 |
|---|---|---|---|---|
| 1. 로컬 머지 | O | - | O | O |
| 2. PR 생성 | - | O | - | O |
| 3. 유지 | - | - | - | - |
| 4. 삭제 | - | - | O (강제) | O |
사용자: /wrap
Claude: wrap 스킬을 사용하여 작업을 마무리하겠습니다.
[테스트 실행]
npm test
결과: 12개 통과, 0개 실패 ✅
[상태 확인]
브랜치: feature/login
변경사항: 5개 파일, 커밋 3개
[옵션 제시]
작업이 완료되었습니다. 어떻게 마무리할까요?
1. 로컬에서 main에 머지
2. PR 생성
3. 브랜치 유지
4. 작업 취소
사용자: 2
Claude: PR을 생성합니다.
[푸시]
git push -u origin feature/login
[PR 생성]
gh pr create --title "로그인 기능 추가" --body "..."
PR이 생성되었습니다: https://github.com/...
[Worktree 정리]
.worktrees/login 삭제 완료
마무리가 완료되었습니다!