.claude/skills/peach-release/SKILL.md
peach-harness 버전 업데이트 → CHANGELOG.md 자동 생성 → develop 커밋/푸시 → main PR 생성 → PR 머지 → GitHub Release 생성까지 일괄 처리하는 릴리스 스킬. 변경 내용 분석 → CHANGELOG 초안 + 실행 계획을 한 번에 제시 → 대화로 보완 → 승인 1회 후 일괄 실행. "릴리스", "버전 업", "release", "main 머지", "배포 준비" 키워드로 트리거. peach-harness 저장소에서만 사용한다.
npx skillsauth add peachsolution/peach-harness peach-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
peach-harness 저장소의 릴리스를 한 번에 처리한다. 두 버전 파일 동기화 → CHANGELOG.md 업데이트 → develop 커밋/푸시 → main PR 생성 → 머지 → GitHub Release 생성까지 자동화한다.
develop 브랜치에 체크아웃된 상태gh CLI 인증 완료git status && git branch && git log --oneline -5
grep '"version"' .claude-plugin/marketplace.json
grep '"version"' .claude-plugin/plugin.json
두 값이 일치해야 정상이다. 불일치 시 중단하고 사용자에게 알린다.
git log main..develop은 main이 뒤처진 경우 이미 릴리스된 커밋까지 포함하므로 사용 금지.
대신 Release v{현재버전} 커밋 이후 신규 커밋만 추출한다.
CURRENT_VER=$(grep -m1 '"version"' .claude-plugin/plugin.json | grep -o '[0-9]*\.[0-9]*\.[0-9]*')
RELEASE_COMMIT=$(git log --oneline --all | grep "Release v${CURRENT_VER}" | head -1 | awk '{print $1}')
git log ${RELEASE_COMMIT}..HEAD --oneline
git diff ${RELEASE_COMMIT}..HEAD --stat
핵심 원칙: 분석 대상은
Release v{현재버전}커밋 이후 신규 커밋만이다.Release v{현재버전}커밋 자체는 분석에서 제외한다.
신규 커밋이 0개이면 "릴리스할 변경사항이 없습니다"를 출력하고 중단한다.
AI는 커밋을 분석하여 버전 타입을 결정하고, CHANGELOG 초안과 실행 계획을 한 번에 출력한다.
버전 판단 기준 — 핵심: **"신규 추가 vs 기존 개선"**으로 구분한다.
| 변경 유형 | 버전 | 예시 | |----------|------|------| | 문서 수정, 오타, 버그 수정 | patch | SKILL.md 오류 수정, 참조 경로 수정 | | 기존 스킬 개선, references 추가/재구성, 워크플로우 보완 | patch | OS별 분기 추가, 경계선 강화, 가이드 문서 추가 | | 신규 스킬 추가, 에이전트 신규 역할 추가 | minor | 새 gen-* 스킬, 새 team-* 스킬, 새 agent 파일 | | 하위호환 파괴, 구조 변경 | major | 배포 구조 변경, 스킬 인터페이스 변경 |
🚀 Release v{새버전} 계획
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
버전 검증:
plugin.json : v{현재버전}
marketplace.json : v{현재버전} ← 일치 ✅
커밋 ({N}개):
{커밋 해시} {커밋 메시지}
...
버전: {현재버전} → {새버전} ({patch/minor/major})
이유: {판단 근거 한 줄}
📝 CHANGELOG.md 추가 내용:
## [v{새버전}] - {YYYY-MM-DD}
### Added
- ...
### Changed
- ...
### Removed
- ...
### Fixed
- ...
📦 실행 순서:
1. marketplace.json / plugin.json 버전 업데이트
2. CHANGELOG.md 맨 위에 블록 추가
3. git commit -m "Release v{새버전}"
4. git push origin develop
5. gh pr create --base main --head develop --title "Release v{새버전}"
6. gh pr merge {PR번호} --merge --delete-branch=false
7. gh release create v{새버전} --target main
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
진행할까요? 수정이 필요하면 말씀해 주세요.
대화 보완: 사용자가 버전 변경·CHANGELOG 수정·항목 추가 등을 요청하면 해당 부분만 수정하여 위 계획을 다시 출력한다. 승인("진행")이 올 때까지 반복한다.
사용자가 진행을 승인하면 3단계를 순서대로 실행한다. 취소하면 중단한다.
승인 후 아래 작업을 순서대로 실행한다. 각 단계 완료 시 진행 상황을 출력한다.
반드시 두 파일을 동시에 같은 버전으로 업데이트한다. 불일치 시 auto update가 실패한다.
.claude-plugin/marketplace.json → plugins[0].version.claude-plugin/plugin.json → version3단계에서 작성한 버전 블록을 CHANGELOG.md 맨 위에 추가한다.
CHANGELOG.md가 없으면 신규 생성한다. 파일 상단에 아래 헤더를 포함한다:# Changelog
> [keep-a-changelog](https://keepachangelog.com) 포맷을 따릅니다.
> 버전은 [Semantic Versioning](https://semver.org)을 따릅니다.
CHANGELOG.md 포맷 (keep-a-changelog 표준):
## [v{버전}] - {YYYY-MM-DD}
### Added
- 새로 추가된 스킬, 기능, 파일
### Changed
- 기존 기능 개선, 워크플로우 변경, 구조 개편
### Removed
- 제거된 스킬, 파일, 기능
### Fixed
- 버그 수정, 오타 수정
분류 기준:
| 커밋 prefix / 파일 변화 | 섹션 |
|----------------------|------|
| feat:, 새 SKILL.md 추가 | Added |
| refactor:, docs:, 기존 SKILL.md 수정, references 재구성 | Changed |
| 파일 삭제, 이전 | Removed |
| fix:, 오타 수정 | Fixed |
git add .claude-plugin/marketplace.json .claude-plugin/plugin.json CHANGELOG.md
git commit -m "Release v{버전}"
git push origin develop
실행 전 기존 PR 여부를 확인한다. 이미 열린 PR이 있으면 생성을 건너뛰고 해당 번호를 사용한다.
PR_NUM=$(gh pr list --base main --head develop --state open --json number --jq '.[0].number')
if [ -z "$PR_NUM" ]; then
gh pr create \
--base main \
--head develop \
--title "Release v{버전}" \
--body "..."
PR_NUM=$(gh pr list --base main --head develop --state open --json number --jq '.[0].number')
fi
PR body는 CHANGELOG.md에 방금 작성한 버전 블록 내용을 그대로 사용한다.
## Release v{버전}
### 변경 사항
{CHANGELOG.md 해당 버전 블록의 내용}
### 버전
- {이전 버전} → {새 버전}
- 변경 유형: {patch/minor/major}
🤖 Generated with [Claude Code](https://claude.com/claude-code)
gh pr merge {PR_NUM} --merge --delete-branch=false
--delete-branch=false: develop 브랜치는 삭제하지 않는다.
실행 전 동일 버전 Release가 이미 존재하는지 확인한다. 존재하면 생성을 건너뛴다.
if ! gh release view v{버전} > /dev/null 2>&1; then
gh release create v{버전} \
--title "v{버전}" \
--notes "..." \
--target main
else
echo "ℹ️ Release v{버전} 이미 존재 — 건너뜀"
fi
릴리즈 노트는 CHANGELOG.md 해당 버전 블록을 그대로 사용한다.
✅ Release v{버전} 완료
- develop 커밋: {커밋 해시}
- PR: {PR URL}
- main 머지: 완료
- GitHub Release: {Release URL}
tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.