ext-github-release-manager
[EXT-GITHUB-RELEASE-MANAGER 활성화]
목표
github-release-manager 플러그인에 위임하여 GitHub Release 문서를 자동 생성·수정·삭제함. 도메인 컨텍스트(Git 태그, 릴리스 이력, 커밋 로그 등)를 수집하고 적절한 실행 경로를 분기하여 외부 스킬에 위임.
선행 요구사항
github-release-manager 플러그인이 설치되어 있어야 함.
- •확인:
claude plugin list - •설치:
- •
claude plugin marketplace add unicorn-plugins/github-release-manager - •
claude plugin install github-release-manager@github-release-manager
- •
- •GitHub CLI (gh) 설치 및 인증 완료 필수
- •Context7 MCP 서버 설치 (공식 문서 조회용)
활성화 조건
사용자가 /dmap:ext-github-release-manager 호출 시 또는
"릴리스 생성", "Release 만들어줘", "릴리스 문서", "GitHub Release" 키워드 감지 시.
크로스-플러그인 스킬 위임 규칙
스킬 목록 결정: github-release-manager 플러그인 명세서의 "제공 스킬" 섹션 참조.
| 외부 스킬 | FQN | 용도 |
|---|---|---|
| recommend-template | github-release-manager:recommend-template | 프로젝트 특성 분석 기반 Release 문서 구성 추천 |
| create-release | github-release-manager:create-release | 커밋·PR·이슈 분석 후 Release 문서 자동 생성 |
| edit-release | github-release-manager:edit-release | 기존 Release 문서 분석 및 수정 |
| delete-release | github-release-manager:delete-release | Release 문서 삭제 및 태그 관리 |
도메인 컨텍스트 수집
수집 대상 결정: github-release-manager 플러그인 명세서의 "도메인 컨텍스트 수집 가이드" 참조.
| 수집 대상 | 소스 | 용도 | 대응 ARGS 키 |
|---|---|---|---|
| 프로젝트 디렉토리 | 현재 작업 디렉토리 (cwd) | 모든 스킬의 필수 입력 | project_dir |
| 기존 릴리스 목록 | gh release list --limit 10 | 경로 분기 판단 (첫 릴리스 여부, 수정/삭제 대상 선택) | — |
| Git 태그 목록 | git tag --sort=-v:refname | 버전 결정, base_ref 추론 | version, base_ref |
| 최근 커밋 이력 | git log {last_tag}..HEAD --oneline | Release 본문 자동 생성 소스 | — |
| 릴리스 구성 파일 | .github/release.yml 존재 여부 | Recommend→Create vs Direct Create 경로 분기 | — |
| 패키지 버전 | package.json, pyproject.toml 등 버전 필드 | 릴리스 버전 자동 추론 | version |
워크플로우
Phase 0: 선행 확인 (ulw 활용)
github-release-manager 플러그인 설치 여부 확인.
- •
claude plugin list출력에서github-release-manager존재 여부 확인 - •미설치 시 사용자에게 설치 안내 후 중단:
- •
claude plugin marketplace add unicorn-plugins/github-release-manager - •
claude plugin install github-release-manager@github-release-manager
- •
- •
gh auth status로 GitHub CLI 인증 상태 확인 - •미인증 시
gh auth login안내 후 중단
Phase 1: 도메인 컨텍스트 수집 (ulw 활용)
도메인 컨텍스트 수집 테이블에 따라 병렬로 수집:
- •
project_dir← 현재 작업 디렉토리 - •
gh release list --limit 10← 기존 릴리스 목록 - •
git tag --sort=-v:refname← Git 태그 목록 - •
git log {last_tag}..HEAD --oneline← 최근 커밋 이력 (태그가 없으면 전체 이력) - •
.github/release.yml존재 여부 확인 - •
package.json또는pyproject.toml등에서 버전 필드 추출
수집 결과를 사용자에게 요약 제시.
Phase 2: 경로 분기 결정
수집된 컨텍스트를 기반으로 실행 경로 결정.
경로 결정: github-release-manager 플러그인 명세서의 "경로 분기 판단 기준" 참조.
| 조건 | 경로 | 외부 스킬 |
|---|---|---|
기존 릴리스 0건 또는 .github/release.yml 미존재 | Recommend → Create | recommend-template → create-release |
기존 릴리스 1건 이상 + .github/release.yml 존재 | Direct Create | create-release |
| 사용자가 특정 릴리스 수정 요청 | Direct Edit | edit-release |
| 사용자가 특정 릴리스 삭제 요청 | Direct Delete | delete-release |
경로 분기 결과를 사용자에게 안내하고 확인.
Phase 3: 외부 스킬 위임
결정된 경로에 따라 외부 스킬에 위임.
경로 A: Recommend → Create
Step 1 → Skill: github-release-manager:recommend-template
- •INTENT: 프로젝트 분석 후 Release 문서 구성 추천
- •ARGS: { "source_plugin": "dmap", "project_dir": "{Phase 1에서 수집한 project_dir}" }
- •RETURN: Release 구성 추천안 (버전 네이밍 규칙, 섹션 구조, 작성 가이드)
Step 2 → Skill: github-release-manager:create-release
- •INTENT: 추천 구성 기반 Release 문서 생성
- •ARGS: { "source_plugin": "dmap", "project_dir": "{Phase 1에서 수집한 project_dir}", "version": "{Phase 1에서 추론한 버전 또는 사용자 입력}" }
- •RETURN: Release 문서 생성 완료
경로 B: Direct Create → Skill: github-release-manager:create-release
- •INTENT: Release 문서 직접 생성
- •ARGS: { "source_plugin": "dmap", "project_dir": "{Phase 1에서 수집한 project_dir}", "version": "{Phase 1에서 추론한 버전 또는 사용자 입력}", "base_ref": "{Phase 1에서 추론한 이전 태그}" }
- •RETURN: Release 문서 생성 완료
경로 C: Direct Edit → Skill: github-release-manager:edit-release
- •INTENT: 기존 Release 문서 수정
- •ARGS: { "source_plugin": "dmap", "project_dir": "{Phase 1에서 수집한 project_dir}", "version": "{사용자가 지정한 수정 대상 버전}", "changes": "{사용자가 요청한 수정 내용}" }
- •RETURN: Release 문서 수정 완료
경로 D: Direct Delete → Skill: github-release-manager:delete-release
- •INTENT: Release 문서 삭제
- •ARGS: { "source_plugin": "dmap", "project_dir": "{Phase 1에서 수집한 project_dir}", "version": "{사용자가 지정한 삭제 대상 버전}", "delete_tag": "{사용자 확인 후 결정}" }
- •RETURN: Release 문서 삭제 완료
Phase 4: 결과 검증 및 보고 (ulw 활용)
외부 스킬 완료 후 산출물 검증:
- •
gh release list --limit 5로 릴리스 상태 확인 - •생성/수정/삭제 결과를 사용자에게 요약 보고
- •Release URL 제공 (생성/수정 시)
완료 조건
- • 외부 플러그인 설치 확인
- • 도메인 컨텍스트 수집 완료
- • 경로 분기 결정 및 사용자 확인
- • 외부 스킬 위임 및 워크플로우 완료
- • 산출물 존재 확인 (
gh release list로 검증)
검증 프로토콜
산출물 검증 절차:
| 경로 | 검증 방법 | 성공 기준 |
|---|---|---|
| Create (A, B) | gh release view {version} | Release 문서 존재 + 본문 비어있지 않음 |
| Edit (C) | gh release view {version} | 수정 내용 반영 확인 |
| Delete (D) | gh release list | 대상 Release 미존재 확인 |
상태 정리
완료 시 임시 파일 없음 (상태 파일 미사용).
취소
사용자가 "cancelomc" 또는 "stopomc" 요청 시 즉시 중단.
재개
마지막 완료된 Phase부터 재시작 가능.
MUST 규칙
| # | 규칙 |
|---|---|
| 1 | 외부 플러그인 설치 여부를 Phase 0에서 반드시 확인 |
| 2 | 도메인 컨텍스트 수집을 완료한 후 외부 스킬에 위임 |
| 3 | Skill→Skill 입력 전달 규약을 준수하여 ARGS 전달 |
| 4 | 경로 분기 결정 후 사용자에게 확인 받음 |
| 5 | Delete 경로 시 태그 삭제 여부를 사용자에게 반드시 확인 |
MUST NOT 규칙
| # | 금지 사항 |
|---|---|
| 1 | 외부 플러그인의 내부 워크플로우를 직접 실행하지 않음 (Skill 도구로 위임) |
| 2 | 자체 Agent를 생성하지 않음 (외부 플러그인이 Agent 보유) |
| 3 | 외부 플러그인의 산출물(Release 문서)을 임의로 수정하지 않음 |
| 4 | gh CLI 명령을 직접 실행하여 Release를 생성·수정·삭제하지 않음 (외부 스킬에 위임) |
검증 체크리스트
- • 선행 요구사항 섹션에 외부 플러그인 설치 확인 방법이 기술되어 있는가
- • 크로스-플러그인 스킬 위임 규칙에 외부 스킬 FQN이 명시되어 있는가
- • 도메인 컨텍스트 수집 대상이 테이블로 정리되어 있는가
- • 경로 분기 조건이 명확히 정의되어 있는가
- • Skill→Skill 입력 전달 규약이 적용되어 있는가
- • 워크플로우의 모든 직접 수행 단계에 스킬 부스팅이 명시되어 있는가
- • 대상 플러그인 명세서(
.dmap/plugins/github-release-manager.md)가 존재하는가