AgentSkillsCN

publish

将开发完成的插件部署至 GitHub

SKILL.md
--- frontmatter
name: publish
description: 개발 완료된 플러그인을 GitHub에 배포
type: setup
user-invocable: true

Publish

[PUBLISH 활성화]


목표

개발 완료된 DMAP 플러그인을 GitHub 원격 저장소에 배포하고, 사용자가 마켓플레이스를 통해 플러그인을 바로 설치할 수 있도록 안내함.

Top


활성화 조건

사용자가 /dmap:publish 호출 시 또는 develop-plugin 스킬의 Phase 4 완료 후 연결 시. "배포", "publish", "GitHub에 올려줘", "플러그인 등록" 키워드 감지 시.

Top


참조

문서경로용도
GitHub 계정 가이드resources/guides/github/github-account-setup.md계정 생성 안내
GitHub 토큰 가이드resources/guides/github/github-token-guide.mdPAT 생성 안내
GitHub Organization 가이드resources/guides/github/github-organization-guide.mdOrganization 생성 안내
create_repo 도구resources/tools/customs/git/create_repo.pyGitHub 저장소 생성 및 Push

Top


스킬 부스팅

단계부스팅 스킬용도
Step 1 (인증 정보 수집)/oh-my-claudecode:security-review토큰 저장 및 .gitignore 처리 보안 검증
Step 2~3 (Push + 완료)/oh-my-claudecode:ultraqa배포 결과 검증 (저장소 접근, README 확인)

Top


워크플로우

Step 1: GitHub 인증 정보 수집

사용자에게 GitHub 인증 정보를 수집함.

AskUserQuestion 도구로 다음 정보를 순차적으로 문의:

  1. GitHub 계정 보유 여부

    • 보유: 다음 단계로 진행
    • 미보유: 계정 생성 가이드 링크 제공 후 대기 resources/guides/github/github-account-setup.md 참조 안내
  2. GitHub Username 입력 요청

  3. Personal Access Token (PAT) 입력 요청

    • 미보유 시: 토큰 생성 가이드 링크 제공 resources/guides/github/github-token-guide.md 참조 안내
    • PAT 필요 권한: repo (전체)
  4. Organization 사용 여부

    • 개인 계정 사용: username을 owner로 설정
    • Organization 사용: org 이름 입력 요청
    • Organization 미보유 시: 생성 가이드 링크 제공 resources/guides/github/github-organization-guide.md 참조 안내
  5. 토큰 저장

    • 플러그인 디렉토리에 .dmap/secrets/ 디렉토리 생성
    • .dmap/secrets/git-token-{plugin-name}.env 파일에 저장:
      code
      GITHUB_USERNAME={username}
      GITHUB_TOKEN={token}
      GITHUB_OWNER={owner}
      
    • .gitignore.dmap/secrets/ 패턴이 포함되어 있는지 확인, 없으면 추가

Step 2: 원격 저장소 생성 및 Push

create_repo.py 도구를 사용하여 GitHub 저장소 생성 + 로컬 Git 초기화 + Push를 한번에 수행함. gh CLI 설치가 불요하며, Python 표준 라이브러리만 사용.

  1. 저장소명 결정: 플러그인명 사용 (plugin.json의 name 필드)
  2. .gitignore 존재 확인 (develop-plugin에서 이미 생성됨)
  3. create_repo.py 실행:
    code
    python resources/tools/customs/git/create_repo.py \
      --name {repo-name} \
      --desc "{plugin description}" \
      --token {PAT} \
      --dir {plugin-directory}
    
    • Organization 사용 시: --org {org} 옵션 추가
  4. 이미 git 저장소이고 원격이 설정된 경우 (업데이트 배포):
    code
    git add .
    git commit -m "Update: {plugin-name} DMAP plugin"
    git push
    

create_repo.py가 수행하는 작업: 저장소 존재 여부 확인 → 원격 저장소 생성 → git initgit remote add origin → 초기 커밋 → git push -u origin main

Step 3: 완료 메시지 및 플러그인 등록 안내

Git Push 완료 후 다음 내용을 출력함.

축하 메시지 (감성적으로):

code
🎉 축하합니다!

당신의 플러그인 '{plugin-name}'이 세상에 첫 발을 내딛었습니다.
아이디어에서 시작해 요구사항 정의, 설계, 개발, 그리고 배포까지 —
모든 여정을 함께 해서 기뻤습니다.

이제 당신이 허락하는 누구나 이 플러그인을 설치하고 사용할 수 있습니다.

플러그인 등록 방법 안내:

code
📦 플러그인 설치 방법 (사용자에게 공유하세요)

# 1. GitHub 저장소를 마켓플레이스로 등록
claude plugin marketplace add {owner}/{repo-name}

# 2. 플러그인 설치
claude plugin install {plugin-name}@{repo-name}

# 3. 설치 확인
claude plugin list

README 참조 안내:

code
📖 자세한 설치·사용법은 README.md를 참고하세요:
   https://github.com/{owner}/{repo-name}/blob/main/README.md

Top


사용자 상호작용

모든 단계에서 AskUserQuestion 도구를 사용하여 사용자 입력을 수집함. 특히 Step 1의 인증 정보는 민감 정보이므로 안전한 저장을 보장함.

Top


문제 해결

문제해결 방법
Python 미설치Python 3.7+ 설치 안내: https://python.org/
Git 미설치Git 설치 안내: https://git-scm.com/
인증 실패토큰 권한(repo) 확인, 토큰 재생성 안내
저장소 이미 존재다른 이름 사용 또는 기존 저장소 활용 (업데이트 배포)
저장소 생성 실패Organization 권한 확인, 이름 중복 확인
Push 실패원격 저장소 URL 확인, 인증 토큰 확인

Top


MUST 규칙

#규칙
1GitHub 인증 정보(username, PAT, owner)를 반드시 수집 후 진행
2토큰을 .dmap/secrets/ 디렉토리에 저장하고 .gitignore 등록 확인
3저장소 존재 여부를 먼저 확인하여 멱등성 보장
4완료 메시지에 플러그인 설치 방법(마켓플레이스 등록 명령) 포함

Top


MUST NOT 규칙

#금지 사항
1인증 토큰을 로그/출력에 노출 금지
2사용자 확인 없이 기존 저장소를 덮어쓰지 않음
3.dmap/secrets/ 디렉토리를 Git에 커밋하지 않음

Top


검증 체크리스트

  • GitHub 인증 정보 수집 단계가 포함되어 있는가
  • .dmap/secrets/ 저장 및 .gitignore 확인 로직이 있는가
  • create_repo.py 도구를 사용하여 저장소 생성 및 Push를 수행하는가
  • 저장소 존재 여부 사전 확인(멱등성)이 있는가
  • 완료 메시지에 설치 명령어가 포함되어 있는가
  • 문제 해결 가이드가 포함되어 있는가
  • 토큰이 출력/로그에 노출되지 않도록 하는 규칙이 있는가

Top