Community코딩 & 개발github.com

마켓플레이스 퍼블리싱

dotnet-skills Claude Code 마켓플레이스에 스킬과 에이전트를 게시하기 위한 워크플로우입니다. 새 콘텐츠 추가, plugin.json 업데이트, 검증, 릴리스 태깅을 다룹니다.

마켓플레이스 퍼블리싱란 무엇인가요?

이 문서는 dotnet-skills Claude Code 마켓플레이스에 스킬과 에이전트를 게시하는 완전한 워크플로우를 제공합니다. 사용자는 새로운 스킬을 추가하기 위해 적절한 카테고리(예: akka, aspire, csharp, testing, meta) 아래에 SKILL.md 파일을 생성하고, .claude-plugin/plugin.json에 경로를 등록한 후 validate-marketplace.sh 스크립트로 검증해야 합니다. 에이전트는 /agents 디렉토리에 YAML 프론트매터가 포함된 마크다운 파일로 추가되며, 마찬가지로 plugin.json에 등록됩니다. 릴리스는 plugin.json에서 버전을 업데이트하고, semver 태그(v1.0.0)를 푸시하면 GitHub Actions가 자동으로 릴리스를 생성합니다. 이 워크플로우는 Claude Code 및 Cursor와 같은 플랫폼에서 스킬과 에이전트를 관리하고 배포하는 개발자에게 필수적입니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Aaronontheweb/dotnet-skills/tree/main/skills/marketplace-publishing

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

마켓플레이스 퍼블리싱 워크플로우

이 문서는 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: 기존 콘텐츠 수정 또는 개선

릴리스 프로세스

  1. plugin.json에서 버전 업데이트

  2. 검증

    ./scripts/validate-marketplace.sh
    
  3. 버전 범프 커밋

    git add .claude-plugin/plugin.json
    git commit -m "버전을 1.1.0으로 올림"
    
  4. 태그 생성 및 푸시

    git tag v1.1.0
    git push origin master --tags
    
  5. GitHub Actions가 자동으로:

    • 마켓플레이스 구조 검증
    • 자동 생성된 노트와 함께 GitHub 릴리스 생성

사용자 설치

사용자는 전체 플러그인(모든 스킬과 에이전트)을 설치합니다:

# 마켓플레이스 추가 (한 번만)
/plugin marketplace add Aaronontheweb/dotnet-skills

# 플러그인 설치 (모든 항목 가져오기)
/plugin install dotnet-skills

# 최신 버전으로 업데이트
/plugin marketplace update

검증 체크리스트

커밋하기 전에 확인하세요:

  • SKILL.md에 name과 description이 포함된 유효한 YAML 프론트매터가 있음
  • 스킬 폴더가 적절한 카테고리 아래에 있음
  • plugin.json skills 배열에 경로가 추가됨
  • 에이전트의 경우: 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 버전이 태그와 일치하는지 확인하세요

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

akka-hosting-actor-patterns

Patterns for building entity actors with Akka.Hosting - GenericChildPerEntityParent, message extractors, cluster sharding abstraction, akka-reminders, and ITimeProvider. Supports both local testing and clustered production modes.

akka-net-aspire-configuration

Configure Akka.NET with .NET Aspire for local development and production deployments. Covers actor system setup, clustering, persistence, Akka.Management integration, and Aspire orchestration patterns.

akka-net-best-practices

Critical Akka.NET best practices including EventStream vs DistributedPubSub, supervision strategies, error handling, Props vs DependencyResolver, work distribution patterns, and cluster/local mode abstractions for testability.

akka-net-management

Akka.Management for cluster bootstrapping, service discovery (Kubernetes, Azure, Config), health checks, and dynamic cluster formation without static seed nodes.

akka-net-testing-patterns

Write unit and integration tests for Akka.NET actors using modern Akka.Hosting.TestKit patterns. Covers dependency injection, TestProbes, persistence testing, and actor interaction verification. Includes guidance on when to use traditional TestKit.

api-design

Design stable, compatible public APIs using extend-only design principles. Manage API compatibility, wire compatibility, and versioning for NuGet packages and distributed systems.

aspire-configuration

Configure Aspire AppHost to emit explicit app config via environment variables; keep app code free of Aspire clients and service discovery.

aspire-integration-testing

Write integration tests using .NET Aspire

aspire-service-defaults

Create a shared ServiceDefaults project for Aspire applications. Centralizes OpenTelemetry, health checks, resilience, and service discovery configuration across all services.

crap-analysis

Analyze code coverage and CRAP (Change Risk Anti-Patterns) scores to identify high-risk code. Use OpenCover format with ReportGenerator for Risk Hotspots showing cyclomatic complexity and untested code paths.

csharp-concurrency-patterns

Choosing the right concurrency abstraction in .NET - from async/await for I/O to Channels for producer/consumer to Akka.NET for stateful entity management. Avoid locks and manual synchronization unless absolutely necessary.

database-performance

Database access patterns for performance. Separate read/write models, avoid N+1 queries, use AsNoTracking, apply row limits, and never do application-side joins. Works with EF Core and Dapper.

dependency-injection-patterns

Organize DI registrations using IServiceCollection extension methods. Group related services into composable Add* methods for clean Program.cs and reusable configuration in tests.

dotnet-devcert-trust

Diagnose and fix .NET HTTPS dev certificate trust issues on Linux. Covers the full certificate lifecycle from generation to system CA bundle inclusion, with distro-specific guidance for Ubuntu, Fedora, Arch, and WSL2.

dotnet-local-tools

Managing local .NET tools with dotnet-tools.json for consistent tooling across development environments and CI/CD pipelines.

dotnet-project-structure

Modern .NET project structure including .slnx solution format, Directory.Build.props, central package management, SourceLink, version management with RELEASE_NOTES.md, and SDK pinning with global.json.

dotnet-slopwatch

Use Slopwatch to detect LLM reward hacking in .NET code changes. Run after every code modification to catch disabled tests, suppressed warnings, empty catch blocks, and other shortcuts that mask real problems.

efcore-patterns

Entity Framework Core best practices including NoTracking by default, query splitting for navigation collections, migration management, dedicated migration services, and common pitfalls to avoid.

ilspy-decompile

Understand implementation details of .NET code by decompiling assemblies. Use when you want to see how a .NET API works internally, inspect NuGet package source, view framework implementation, or understand compiled .NET binaries.

mailpit-integration

Test email sending locally using Mailpit with .NET Aspire. Captures all outgoing emails without sending them. View rendered HTML, inspect headers, and verify delivery in integration tests.

관련 스킬