← ClaudeAtlas

release-noteslisted

마일스톤(스프린트) 배포 내역을 정리해 요약 이슈를 만들고, 그 본문 기반으로 배포 공지 메시지(슬랙 등)를 작성한다. 마일스톤의 사용자-대면 기능을 큐레이션해 릴리스 노트화. 릴리스·스프린트 종료 전 사용. 어느 GitHub 프로젝트에서나 사용 가능. 트리거 키워드: "릴리스 노트", "배포 공지", "스프린트 정리", "배포 내역 정리", "release notes", "/release-notes"
Kyungjong-kim/claude-code-harness · ★ 0 · AI & Automation · score 70
Install: claude install-skill Kyungjong-kim/claude-code-harness
# Release Notes > 마일스톤의 배포 내역을 **하나의 큐레이션 리스트**로 정리해 2산출물로 변환: > ① 요약 이슈(마일스톤 연결) ② 배포 공지 메시지(슬랙 등). > 저장소는 `gh repo view --json nameWithOwner` 또는 사용자 지정. **전제**: 마일스톤 이슈는 잡다(내부 작업·QA·SQL 포함). 공지·릴리스노트엔 **사용자-대면 기능만** 선별 → 완전 자동 불가, 큐레이션 단계 필수. > **쉘 호환**: `for x in $var`/`< <(...)` 금지(zsh 미분리·sh 미지원) → `... | while IFS= read -r` 파이프 사용. --- ## STEP 1 — 마일스톤 식별 ```bash REPO=$(gh repo view --json nameWithOwner --jq .nameWithOwner) gh api "repos/$REPO/milestones?state=open" --jq '.[] | "\(.number)\t\(.title)\tdue:\(.due_on)\t(open:\(.open_issues) closed:\(.closed_issues))"' ``` - 버전·날짜가 제목에 있으면 제목에서 파싱(`due_on`이 비는 경우 대비). 예: `v1.2.0 06/25 배포`. - 사용자가 미지정 시: 배포일(due_on 또는 제목 날짜)이 가장 가까운 마일스톤을 후보로 제시·확인. - 공지 헤더용 요일 계산: `date -j -f "%Y/%m/%d" "2026/06/25" +%u`(mac) / `date -d 2026-06-25 +%u`(linux) → 1=월…7=일. ## STEP 2 — 이슈 수집 + 큐레이션 (핵심) ```bash gh issue list --repo "$REPO" --milestone "<마일스톤 제목>" --state all --limit 300 \ --json number,title,labels,state,stateReason | cat ``` **선별 원칙 (사용자-대면 기능만):** - 포함: 신규 기능·고도화·사용성/디자인 개선 — 사용자가 체감하는 변경. - 제외: 순수 내부 작업(SQL·마이그레이션·리팩터링·테스트·CI), 비가시성 버그픽스, QA 재현·검증 전용. - **부모(기능) 이슈 단위로 묶는다.** 하위 Task는 부모 아래 들여쓰기 불렛으로. **분류 (3섹션):** 신규 기능 추가 및 고도화 / 사용성 개선 / 버그 수정(없으면 생략). 큐레이션 드래프트를 사용자에게 제시하고 **확인·수정 받는다**(포함/제외, 그룹, 하위 bullet, 부모 이슈번호). 자동 ���류는 초안. ## STEP 3 — 요약 이슈 생성/갱신 기존 요약 이슈 있으면 갱신, 없으면 생성. **생성은 사용자 확인 후.** ```bash gh issue create --repo "$REPO" \ --title "chore: <버전/마일스톤> 릴리스 내역 정리" \ --milestone "<마일스톤 제목>"