마켓플레이스 퍼블리싱 워크플로우
이 문서는 dotnet-skills Claude Code 마켓플레이스에 스킬과 에이전트를 게시하는 방법을 설명합니다.
저장소 구조
dotnet-skills/
├── .claude-plugin/
│ ├── marketplace.json # 마켓플레이스 카탈로그
│ └── plugin.json # 플러그인 메타데이터 + 스킬/에이전트 레지스트리
├── .github/workflows/
│ └── release.yml # 릴리스 자동화
├── skills/
│ ├── akka/ # Akka.NET 스킬
│ │ ├── best-practices/SKILL.md
│ │ ├── testing-patterns/SKILL.md
│ │ └── ...
│ ├── aspire/ # .NET Aspire 스킬
│ ├── csharp/ # C# 언어 스킬
│ ├── testing/ # 테스트 프레임워크 스킬
│ └── meta/ # 메타 스킬
├── agents/
│ └── *.md # 에이전트 정의
└── scripts/
└── validate-marketplace.sh
새 스킬 추가하기
1단계: 카테고리 선택
스킬은 도메인별로 구성됩니다:
| 카테고리 | 목적 |
|---|---|
akka/ | Akka.NET 액터 패턴, 테스팅, 클러스터링 |
aspire/ | .NET Aspire 오케스트레이션, 테스팅, 설정 |
csharp/ | C# 언어 기능, 코딩 표준 |
testing/ | 테스트 프레임워크 (xUnit, Playwright, Testcontainers) |
meta/ | 이 마켓플레이스에 관한 메타 스킬 |
적합한 카테고리가 없으면 새 카테고리 폴더를 만드세요.
2단계: 스킬 폴더 생성
SKILL.md 파일이 포함된 폴더를 만드세요:
skills/<카테고리>/<스킬-이름>/SKILL.md
예시: skills/akka/cluster-sharding/SKILL.md
3단계: SKILL.md 작성
---
name: my-new-skill
description: 이 스킬이 수행하는 작업과 사용 시기에 대한 간략한 설명입니다.
---
# My New Skill
## 이 스킬을 사용해야 할 때
다음 상황에서 이 스킬을 사용하세요:
- [특정 시나리오 나열]
---
## 내용
[예제, 패턴, 안티패턴을 포함한 포괄적인 가이드]
요구사항:
name은 소문자와 하이픈으로 구성되어야 합니다 (예:cluster-sharding)description은 Claude가 이 스킬을 사용해야 하는 시점을 설명하는 1-2문장이어야 합니다- 내용은 주제를 포괄적으로 다루며 10-40KB 범위여야 합니다
- 최신 C# 패턴을 사용한 구체적인 코드 예제를 포함하세요
4단계: plugin.json에 등록
.claude-plugin/plugin.json의 skills 배열에 스킬 경로를 추가하세요:
{
"skills": [
"./skills/akka/best-practices",
"./skills/akka/cluster-sharding" // 여기에 새 스킬 추가
]
}
5단계: 검증
검증 스크립트를 실행하세요:
./scripts/validate-marketplace.sh
6단계: 함께 커밋
git add skills/akka/cluster-sharding/ .claude-plugin/plugin.json
git commit -m "Akka.NET Cluster Sharding 패턴용 cluster-sharding 스킬 추가"
새 에이전트 추가하기
1단계: 에이전트 파일 생성
/agents/ 디렉토리 내에 마크다운 파일을 만드세요:
---
name: my-agent-name
description: [도메인] 전문가. [특정 영역]을 전문으로 함. [시나리오]에 사용.
model: sonnet
color: blue
---
당신은 [영역]에 대한 깊은 전문 지식을 가진 [도메인] 전문가입니다.
**참고 자료:**
- [공식 문서 및 리소스]
**핵심 전문 영역:**
[전문 영역 나열]
**진단 접근법:**
[에이전트가 문제를 분석하는 방법]
요구사항:
name은 소문자와 하이픈으로 구성되어야 합니다model은haiku,sonnet,opus중 하나여야 합니다color는 선택 사항입니다 (UI 표시에 사용됨)
2단계: plugin.json에 등록
agents 배열에 추가하세요:
{
"agents": [
"./agents/akka-net-specialist",
"./agents/my-agent-name" // 여기에 새 에이전트 추가
]
}
3단계: 함께 커밋
git add agents/my-agent-name.md .claude-plugin/plugin.json
git commit -m "[도메인] 전문 지식을 위한 my-agent-name 에이전트 추가"
릴리스 게시하기
버전 관리
.claude-plugin/plugin.json에서 버전을 업데이트하세요:
{
"version": "1.1.0"
}
의미론적 버전 관리(MAJOR.MINOR.PATCH)를 사용하세요:
- MAJOR: 호환성이 깨지는 변경 (스킬 이름 변경/제거)
- MINOR: 새 스킬 또는 에이전트 추가
- PATCH: 기존 콘텐츠 수정 또는 개선
릴리스 프로세스
-
plugin.json에서 버전 업데이트
-
검증
./scripts/validate-marketplace.sh -
버전 범프 커밋
git add .claude-plugin/plugin.json git commit -m "버전을 1.1.0으로 올림" -
태그 생성 및 푸시
git tag v1.1.0 git push origin master --tags -
GitHub Actions가 자동으로:
- 마켓플레이스 구조 검증
- 자동 생성된 노트와 함께 GitHub 릴리스 생성
사용자 설치
사용자는 전체 플러그인(모든 스킬과 에이전트)을 설치합니다:
# 마켓플레이스 추가 (한 번만)
/plugin marketplace add Aaronontheweb/dotnet-skills
# 플러그인 설치 (모든 항목 가져오기)
/plugin install dotnet-skills
# 최신 버전으로 업데이트
/plugin marketplace update
검증 체크리스트
커밋하기 전에 확인하세요:
- SKILL.md에
name과description이 포함된 유효한 YAML 프론트매터가 있음 - 스킬 폴더가 적절한 카테고리 아래에 있음
-
plugin.jsonskills 배열에 경로가 추가됨 - 에이전트의 경우:
model이 지정됨 (haiku/sonnet/opus) -
./scripts/validate-marketplace.sh통과
문제 해결
설치 후 스킬이 나타나지 않음
- plugin.json의 경로가 폴더 구조와 일치하는지 확인하세요
- 폴더에 SKILL.md 파일이 있는지 확인하세요
- 재설치를 시도하세요:
/plugin uninstall dotnet-skills && /plugin install dotnet-skills
검증 오류
- JSON이 유효한지 확인하세요:
jq . .claude-plugin/plugin.json - 배열의 후행 쉼표를 확인하세요
- 참조된 모든 폴더에 SKILL.md가 포함되어 있는지 확인하세요
릴리스가 생성되지 않음
- 태그가 semver 형식(
v1.0.0)을 따르는지 확인하세요 - GitHub Actions 로그에서 오류를 확인하세요
- plugin.json 버전이 태그와 일치하는지 확인하세요