Community코딩 & 개발github.com

skills-index-snippets

AGENTS.md / CLAUDE.md 스니펫 인덱스를 생성 및 유지 관리하여 작업을 올바른 dotnet-skills 스킬과 에이전트로 라우팅합니다 (압축된 Vercel 스타일 인덱스 포함).

skills-index-snippets란 무엇인가요?

이 스킬은 코딩 어시스턴트(예: Claude Code, Cursor, Codex)가 사용할 AGENTS.md 또는 CLAUDE.md 스니펫 인덱스를 생성하고 유지 관리하는 방법을 제공합니다. 목표는 어시스턴트가 스킬을 '기억'해야 하는 부담을 없애고, 검색 주도 추론(retrieval-led reasoning)을 선호하도록 안내하는 소형 라우터 스니펫을 제공하는 것입니다. 스니펫은 작업 -> 스킬/에이전트 라우팅 인덱스와 선택적 품질 게이트를 포함합니다. 읽기 쉬운 형식과 컨텍스트 풋프린트를 최소화한 압축(Vercel 스타일) 형식, 두 가지 템플릿을 제공합니다. 이 스킬은 .claude-plugin/plugin.json을 진실 공급원(Source of Truth)으로 사용하며, 스킬이나 에이전트가 추가/제거/이름 변경될 때마다 스니펫을 업데이트해야 합니다.

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

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

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

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

문서

Skill Index Snippets (AGENTS.md / CLAUDE.md) 유지 관리

이 스킬을 사용해야 할 때

다음 상황에서 이 스킬을 사용하십시오:

  • 이 저장소에서 스킬이나 에이전트를 추가, 제거 또는 이름 변경할 때
  • .claude-plugin/plugin.json을 업데이트할 때
  • 다운스트림 저장소(OpenCode, Claude Code 등)용 복사/붙여넣기 스니펫을 만들 때
  • 항상 활성화되어 스킬 활용도를 높이는 간결한 인덱스를 원할 때

목표

의사 결정 지점을 제거하여 코딩 어시스턴트가 스킬과 에이전트를 쉽게 사용할 수 있도록 합니다.

어시스턴트가 스킬을 호출하기 위해 '기억'해야 한다고 기대하는 대신, AGENTS.md / CLAUDE.md 내부에 소형 라우터 스니펫을 제공합니다. 이 스니펫은 다음을 수행합니다:

  1. 어시스턴트에게 검색 주도 추론을 선호하도록 지시합니다.
  2. 작업 -> 스킬/에이전트 라우팅 인덱스를 제공합니다.
  3. (선택 사항) 경량 품질 게이트를 정의합니다.

진실 공급원(Source of Truth)

  • 레지스트리: .claude-plugin/plugin.json
    • 스킬은 디렉토리로 나열됩니다(각 디렉토리는 SKILL.md 포함).
    • 에이전트는 agents/ 디렉토리의 마크다운 파일로 나열됩니다.
  • 스킬 ID: 각 SKILL.md 프론트매터의 name: 필드
  • 에이전트 ID: 각 에이전트 프론트매터의 name: 필드

다운스트림 저장소용 스니펫을 작성할 때는 항상 로컬 파일 시스템 경로가 아닌 ID(프론트매터 name)로 스킬/에이전트를 참조하십시오.

최소 스니펫 템플릿 (읽기 쉬운 형식)

대상 저장소에서 일반적인 작업을 라우팅하려면 다음을 사용하십시오:

# Agent Guidance: dotnet-skills

IMPORTANT: .NET 작업 시 사전 훈련보다 검색 주도 추론을 선호하십시오.
워크플로: 저장소 패턴 훑어보기 -> 이름으로 dotnet-skills 참조 -> 최소 변경 구현 -> 충돌 기록

라우팅 (이름으로 호출)
- C# / 코드 품질: modern-csharp-coding-standards, csharp-concurrency-patterns, api-design, type-design-performance
- ASP.NET Core / Web (Aspire 포함): aspire-service-defaults, aspire-integration-testing
- 데이터: efcore-patterns, database-performance
- DI / 설정: dependency-injection-patterns, microsoft-extensions-configuration
- 테스트: testcontainers-integration-tests, playwright-blazor-testing, snapshot-testing

품질 게이트 (해당 시 사용)
- dotnet-slopwatch: 상당한 새 코드/리팩터/LLM 작성 코드 후
- crap-analysis: 복잡한 코드에 테스트 추가/변경 후

전문 에이전트
- dotnet-concurrency-specialist, dotnet-performance-analyst, dotnet-benchmark-designer, akka-net-specialist, docfx-specialist

압축 스니펫 템플릿 (Vercel 스타일)

최대 밀도(작은 컨텍스트 풋프린트)가 필요할 때 사용하십시오:

[dotnet-skills]|IMPORTANT: .NET 작업 시 사전 훈련보다 검색 주도 추론을 선호하십시오.
|flow:{저장소 패턴 훑어보기 -> 이름으로 dotnet-skills 참조 -> 최소 변경 구현 -> 충돌 기록}
|route:
|csharp:{modern-csharp-coding-standards,csharp-concurrency-patterns,api-design,type-design-performance}
|aspnetcore-web:{aspire-service-defaults,aspire-integration-testing}
|data:{efcore-patterns,database-performance}
|di-config:{dependency-injection-patterns,microsoft-extensions-configuration}
|testing:{testcontainers-integration-tests,playwright-blazor-testing,snapshot-testing}
|quality-gates:{dotnet-slopwatch(after:상당한 새 코드/리팩터/LLM 코드),crap-analysis(after:복잡한 코드에 테스트 추가/변경)}
|agents:{dotnet-concurrency-specialist,dotnet-performance-analyst,dotnet-benchmark-designer,akka-net-specialist,docfx-specialist}

README 블록 재생성

README에 아래 마커가 포함된 경우, 생성기가 자동으로 업데이트할 수 있습니다:

<!-- BEGIN DOTNET-SKILLS COMPRESSED INDEX -->
...압축 스니펫...
<!-- END DOTNET-SKILLS COMPRESSED INDEX -->

실행:

./scripts/generate-skill-index-snippets.sh --update-readme

스킬 변경 후 스니펫 업데이트 방법

  1. .claude-plugin/plugin.json을 업데이트하여 스킬 및 에이전트를 포함/제거합니다.
  2. 각 스킬에 올바른 프론트매터 name:이 있는지 확인하십시오(OpenCode 등에서 사용됨).
  3. ./scripts/validate-marketplace.sh를 실행합니다.
  4. 스니펫 라우팅 목록을 업데이트합니다:
    • 새 스킬을 올바른 카테고리에 추가
    • 삭제된 스킬 제거
    • 이름이 프론트매터 ID와 정확히 일치하는지 확인
  5. 다운스트림 AGENTS.md/CLAUDE.md 스니펫을 유지 관리하는 경우 재생성한 후 종속 저장소에 다시 복사하십시오.

권장 카테고리

다음은 스니펫 카테고리입니다(반드시 저장소 폴더 구조와 일치하지는 않음):

  • C# / 코드 품질
  • ASP.NET Core / Web (Aspire 포함)
  • 데이터
  • DI / 설정
  • 테스트
  • 품질 게이트
  • 전문 에이전트

스니펫을 작게 유지하십시오. 라우터 역할이지 문서가 아닙니다.

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.

관련 스킬