Help us improve
Share bugs, ideas, or general feedback.
npx claudepluginhub unicorn-plugins/dmap --plugin dmapHow this skill is triggered — by the user, by Claude, or both
Slash command
/dmap:publishThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
개발 완료된 DMAP 플러그인을 GitHub 원격 저장소에 배포하고,
Creates, validates, publishes, and manages plugins for Claude Code and OpenCode coding agents. Handles plugin creation, marketplace setup, submission to directories, and deletion (with user confirmation).
Develops Claude Code plugins through planning, structure setup, component addition (skills, commands, hooks, MCP), dev marketplace testing, release workflows, with patterns and examples.
Share bugs, ideas, or general feedback.
개발 완료된 DMAP 플러그인을 GitHub 원격 저장소에 배포하고, 사용자가 마켓플레이스를 통해 플러그인을 바로 설치할 수 있도록 안내함.
사용자가 /dmap:publish 호출 시 또는 develop-plugin 스킬의 Phase 4 완료 후 연결 시.
"배포", "publish", "GitHub에 올려줘", "플러그인 등록" 키워드 감지 시.
AGENTS.md에서 아래 환경변수 로드함. 없으면 '/dmap:team-panner'를 먼저 수행하도록 안내하고 종료.
| 문서 | 경로 | 용도 |
|---|---|---|
| GitHub 계정 가이드 | {DMAP_PLUGIN_DIR}/resources/guides/github/github-account-setup.md | 계정 생성 안내 |
| GitHub 토큰 가이드 | {DMAP_PLUGIN_DIR}/resources/guides/github/github-token-guide.md | PAT 생성 안내 |
| GitHub Organization 가이드 | {DMAP_PLUGIN_DIR}/resources/guides/github/github-organization-guide.md | Organization 생성 안내 |
| create_repo 도구 | {DMAP_PLUGIN_DIR}/resources/tools/customs/git/create_repo.py | GitHub 저장소 생성 및 Push |
| 단계 | 부스팅 스킬 | 용도 |
|---|---|---|
| Step 1 (인증 정보 수집) | /oh-my-claudecode:security-review | 토큰 저장 및 .gitignore 처리 보안 검증 |
| Step 2.5 (원격 URL 검증) | /oh-my-claudecode:security-review | 원격 URL 토큰 노출 자동 감지 및 수정 |
| Step 2~3 (Push + 완료) | /oh-my-claudecode:ultraqa | 배포 결과 검증 (저장소 접근, README 확인) |
사용자에게 GitHub 인증 정보를 수집함.
AskUserQuestion 도구로 다음 정보를 순차적으로 문의:
GitHub 계정 보유 여부
{DMAP_PLUGIN_DIR}/resources/guides/github/github-account-setup.md 참조 안내GitHub Username 입력 요청
Private Repository 사용 여부 입력 요청
Personal Access Token (PAT) 입력 요청
{DMAP_PLUGIN_DIR}/resources/guides/github/github-token-guide.md 참조 안내repo (전체)Organization 사용 여부
{DMAP_PLUGIN_DIR}/resources/guides/github/github-organization-guide.md 참조 안내토큰 저장
{PLUGIN_DIR}/.dmap/secrets/ 디렉토리 생성{PLUGIN_DIR}/.dmap/secrets/git-token-{plugin-name}.env 파일에 저장:
GITHUB_USERNAME={username}
GITHUB_TOKEN={token}
GITHUB_OWNER={owner}
.gitignore에 .dmap/secrets/ 패턴이 포함되어 있는지 확인, 없으면 추가{DMAP_PLUGIN_DIR}/resources/tools/customs/git/create_repo.py 도구를 사용하여 GitHub 저장소 생성 + 로컬 Git 초기화 + Push를 한번에 수행함.
gh CLI 설치가 불요하며, Python 표준 라이브러리만 사용.
.gitignore 존재 확인 (develop-plugin에서 이미 생성됨)create_repo.py 실행:
python {DMAP_PLUGIN_DIR}/resources/tools/customs/git/create_repo.py \
--name {repo-name} \
--desc "{plugin description}" \
--private {true/false} \
--token {PAT} \
--dir {plugin-directory}
--org {org} 옵션 추가git add .
git commit -m "Update: {plugin-name} DMAP plugin"
git push
create_repo.py가 수행하는 작업: 저장소 존재 여부 확인 → 원격 저장소 생성 →git init→git remote add origin→ 초기 커밋 →git push -u origin main
{DMAP_PLUGIN_DIR}/resources/tools/customs/git/create_repo.py 또는 수동 Push 완료 후 즉시 실행:
git remote -v
ghp_, github_pat_, gho_, ghu_ 등):
https://[^@]+@github\.com/git remote set-url origin https://github.com/{owner}/{repo}.git
⚠️ 원격 URL에서 토큰이 발견되어 제거했습니다. 해당 토큰을 즉시 폐기하세요. GitHub → Settings → Developer settings → Personal access tokens → 해당 토큰 삭제
Git Push 완료 후 다음 내용을 출력함.
축하 메시지 (감성적으로):
🎉 축하합니다!
당신의 플러그인 '{plugin-name}'이 세상에 첫 발을 내딛었습니다.
아이디어에서 시작해 요구사항 정의, 설계, 개발, 그리고 배포까지 —
모든 여정을 함께 해서 기뻤습니다.
이제 당신이 허락하는 누구나 이 플러그인을 설치하고 사용할 수 있습니다.
플러그인 등록 방법 안내:
📦 플러그인 설치 방법 (사용자에게 공유하세요)
# 1. GitHub 저장소를 마켓플레이스로 등록
claude plugin marketplace add {owner}/{repo-name}
# 2. 플러그인 설치
claude plugin install {plugin-name}@{marketplace-name}
- plugin-name은 .claude-plugin/plugin.json의 name 필드와 동일
- marketplace-name은 .claude-plugin/marketplace.json의 name 필드와 동일
# 3. 설치 확인
claude plugin list
README 참조 안내:
📖 자세한 설치·사용법은 README.md를 참고하세요:
https://github.com/{owner}/{repo-name}/blob/main/README.md
모든 단계에서 AskUserQuestion 도구를 사용하여 사용자 입력을 수집함. 특히 Step 1의 인증 정보는 민감 정보이므로 안전한 저장을 보장함.
| 문제 | 해결 방법 |
|---|---|
| Python 미설치 | Python 3.7+ 설치 안내: https://python.org/ |
| Git 미설치 | Git 설치 안내: https://git-scm.com/ |
| 인증 실패 | 토큰 권한(repo) 확인, 토큰 재생성 안내 |
| 저장소 이미 존재 | 다른 이름 사용 또는 기존 저장소 활용 (업데이트 배포) |
| 저장소 생성 실패 | Organization 권한 확인, 이름 중복 확인 |
| Push 실패 | 원격 저장소 URL 확인, 인증 토큰 확인 |
| # | 규칙 |
|---|---|
| 1 | GitHub 인증 정보(username, PAT, owner)를 반드시 수집 후 진행 |
| 2 | 토큰을 {PLUGIN_DIR}/.dmap/secrets/ 디렉토리에 저장하고 {PLUGIN_DIR}/.gitignore 등록 확인 |
| 3 | 저장소 존재 여부를 먼저 확인하여 멱등성 보장 |
| 4 | 완료 메시지에 플러그인 설치 방법(마켓플레이스 등록 명령) 포함 |
| # | 금지 사항 |
|---|---|
| 1 | 인증 토큰을 로그/출력에 노출 금지 |
| 2 | 사용자 확인 없이 기존 저장소를 덮어쓰지 않음 |
| 3 | {PLUGIN_DIR}/.dmap/secrets/ 디렉토리를 Git에 커밋하지 않음 |
| 4 | 원격 URL에 토큰을 포함한 채로 저장하지 않음 (Step 2.5 자동 검증 필수) |
{PLUGIN_DIR}/.dmap/secrets/ 저장 및 {PLUGIN_DIR}/.gitignore 확인 로직이 있는가{DMAP_PLUGIN_DIR}/resources/tools/customs/git/create_repo.py 도구를 사용하여 저장소 생성 및 Push를 수행하는가