dotnet-skills
NuGet
License: MIT
Skills
.NET
AI에게 .NET을 설명하는 것을 멈추고, 구축하기 시작하세요.
우리 모두 그런 경험이 있습니다. Claude에게 Entity Framework를 사용해 달라고 요청했는데, .NET 8 프로젝트에서 EF6 패턴을 받는 경우. Copilot에게 Blazor Server와 Blazor WebAssembly가 같은 것이 아니라고 설명하는 경우. Codex가 Minimal API 프로젝트의 Startup.cs를 생성하는 것을 지켜보는 경우.
<!-- BEGIN CATALOG SUMMARY -->
이 카탈로그가 그 문제를 해결합니다. 199개의 스킬로 dotnet-skills는 AI 코딩 어시스턴트를 위한 가장 큰 .NET 중심의 스킬 컬렉션 중 하나이며, 54개 NuGet 패키지에 대한 명시적인 매핑을 제공합니다. 이는 ASP.NET Core부터 Orleans까지, MAUI부터 Semantic Kernel까지 생태계를 포괄합니다. 한 번 설치하면 AI 에이전트가 실제로 최신 .NET을 알게 됩니다.
<!-- END CATALOG SUMMARY -->
skills.managed-code.com에서 전체 카탈로그 찾아보기 →
인터랙티브 컨트롤 센터
dotnet skills를 실행하여 카탈로그 탐색, 프로젝트 인식 추천, 설치, 업데이트 및 에이전트 관리를 위한 풀스크린 컨트롤 센터를 여세요.
dotnet skills interactive control center home screen
'Collection -> Lane -> Skill' 순서로 카탈로그를 탐색할 수 있으며, 설치된 커버리지, 토큰 가중치, 그리고 브라우징하는 동안 보이는 설치 액션이 있습니다.
dotnet skills collection browser with an expanded collection hierarchy
분석 표면을 사용하여 설치하기 전에 가장 무거운 스킬, 컬렉션 크기, 패키지 신호 및 카탈로그의 토큰 분포를 비교할 수 있습니다.
dotnet skills catalog analysis with token and collection charts
이것이 중요한 이유
- 더 이상 구식 패턴은 없습니다. 스킬은 커뮤니티에서 유지 관리되며 공식 Microsoft 문서를 추적합니다.
- 어디서든 작동합니다. Claude, Copilot, Gemini, Codex, Junie에 모두 동일한 스킬을 사용합니다.
- 커뮤니티 주도형입니다. 좋아하는 라이브러리에 필요한 스킬이 없나요? 추가하여 모든 사람을 돕세요.
가장 좋아하는 .NET 라이브러리에 스킬을 부여하세요. 오픈 소스 프로젝트를 유지 관리하거나, 단순히 부족한 프레임워크를 사랑한다면 기여해 주세요. AI 에이전트를 .NET 개발자에게 실제로 유용하게 만들어 봅시다.
빠른 시작 (Quick Start)
dotnet tool install --global dotnet-skills
...
명령어 (Commands)
| 명령어 | 설명 |
|---|
dotnet skills | 직접 스킬 탐색, 컬렉션, 분석, 번들 및 설치 미리보기를 제공하는 대화형 제어 센터를 엽니다. |
| ... | |
사용자 지정 에이전트 플랫폼을 대상으로 하려면 --agent를 사용하고, 전역 또는 프로젝트 설치를 선택하려면 --scope를 사용하세요. 설치된 목록만 보고 싶다면 dotnet skills list --installed-only 또는 더 짧은 dotnet skills list --local을 사용하고, 남아 있는 카탈로그의 컬렉션별 상세 분류가 필요하면 --available-only를 사용하세요. 기본 list 보기(view)는 간결하게 유지됩니다: 현재 대상 목록을 보여주고, 비교가 의미 있는 경우 프로젝트/전역 범위를 비교하며, 나머지 카탈로그는 거대한 설명 테이블로 쏟아내는 대신 짧은 컬렉션 요약으로 유지합니다. CLI는 기본적으로 풍부한 터미널 테이블을 렌더링하여 설치된 버전, 업데이트 후보, 설치 명령어, 그리고 NuGet에서 더 새로운 dotnet-skills, dotnet-agents, 또는 agents 패키지가 사용 가능한지 여부를 빠르게 확인할 수 있게 합니다. dotnet skills --version, dotnet agents --version, 및 agents --version은 버전 보기의 단축키입니다. | |
dotnet-skills는 스킬 중심 CLI로 남아 있으며, 호환성을 위해 dotnet skills agent ...도 지원합니다. 전용 에이전트 전용 인터페이스는 두 가지 형태로 게시됩니다: dotnet agents를 위한 dotnet-agents와 agents를 위한 agents입니다. 상위 수준의 list, install, remove, 및 where 명령어 모두 오케스트레이션 에이전트를 직접 대상으로 합니다.
기본 dotnet skills 뒤에 있는 인터랙티브 셸은 주요 제어 센터입니다. 이의 기본 카탈로그 행은 이제 Packages, Bundles, Collections, Skills, Agents, 그리고 About으로 공용 사이트를 반영하며, 그 아래에는 Project, Installed, Analysis, Workspace와 같은 CLI 전용 라이프사이클 표면을 계층화합니다. 이 제어 센터 안에서는 여전히 개별 스킬 직접 선택, Collection -> Lane -> Skill 브라우징, 패키지 항목 분석, 토큰 핫스팟, 전체 트리 뷰, 그리고 파일이 작성되기 전 설치 미리보기를 얻을 수 있습니다.
공용 카탈로그는 Packages, Bundles, Collections, Skills, Agents, 그리고 About에 대한 표준 브라우징 표면입니다. 이는 CLI와 동일한 공유 탐색 매니페스트 및 컬렉션 분류법을 사용합니다.
dotnet skills bundle list는 준비된 포커스 번들을 보여줍니다. 번들 설치는 관련 스킬 세트의 일괄 단축키이므로, dotnet skills install bundle quality, dotnet skills install bundle frontend-quality, 또는 dotnet skills install bundle orleans를 실행하면 해당 포커스 번들에 매핑된 모든 스킬을 한 번에 설치합니다. MCAF는 옵트인 거버넌스 스킬 중 하나이며 dotnet skills install mcaf로 직접 설치됩니다.
dotnet skills install --auto는 로컬의 *.csproj, package.json, 그리고 브라우저 UI 파일을 검사하고, NuGet 패키지뿐만 아니라 강력한 .NET 및 프론트엔드 프레임워크 신호를 감지하여 해당 프로젝트에 맞는 스킬을 자동으로 설치합니다. 또한 더 이상 현재 프로젝트와 일치하지 않는 오래된 자동 관리 스킬을 제거하려면 dotnet skills install --auto --prune을 추가하십시오. 보호되는 진단 스킬과 graphify-dotnet은 제거되지 않습니다.
dotnet skills recommend는 스캔 전용 명령어입니다. 이는 로컬 .NET 프로젝트와 Astro, React, Blazor 및 기타 브라우저 UI 신호를 검사하고, 스킬 목록을 제안하며, 추천에 동의할 경우 실행할 수 있는 설치 명령어를 출력합니다. 이 명령어는 아무것도 자동으로 설치하지 않습니다.
기본적인 dotnet skills 사용 보기와 help 경로는 자동 셀프 업데이트 확인을 수행하므로, 오래된 도구라도 명령 테이블을 렌더링하기 전에 업그레이드를 하라는 메시지를 표시합니다.
NuGet 호출 없이 로컬에 설치된 도구 버전만 필요할 때는 dotnet skills version --no-check, dotnet agents version --no-check, 또는 agents version --no-check를 사용하십시오. 일반적인 명령 시작 중에 자동 업데이트 알림을 억제하려면 DOTNET_SKILLS_SKIP_UPDATE_CHECK=1, DOTNET_AGENTS_SKIP_UPDATE_CHECK=1, 또는 AGENTS_SKIP_UPDATE_CHECK=1을 설정하십시오.
로컬 미리보기 (Local Preview)
생성된 문서(docs)와 공개 사이트를 로컬에서 미리 보고 싶을 때:
python3 scripts/generate_catalog.py --validate-only
python3 scripts/generate_pages.py
README는 의도적으로 간결하게 유지됩니다. 생성된 카탈로그 사이트는 artifacts/github-pages/에 작성되며, 공개 사이트 및 CLI 홈 화면에서 사용하는 동일한 공유 탐색 메뉴인 Packages / Bundles / Collections / Skills / Agents / About을 사용합니다.
설치 표면 (Install Surface)
공개 번들 설치에는 package가 아닌 bundle을 사용합니다. 초점화된 번들 표면은 의도적으로 작습니다:
foundations
quality
frontend-quality
architecture-core
testing-base
testing-xunit
testing-nunit
testing-mstest
testing-tunit
testing-migrations
runtime-upgrades
orleans
컬렉션은 설치가 하나의 과부하된 .NET 버킷으로 합쳐지는 대신 명시적으로 유지되도록 의도적으로 분리되었습니다:
.NET Foundations
.NET Quality
MSBuild
NuGet & Publishing
Templates & Scaffolding
Diagnostics & Metrics
Web
Aspire
Azure Functions
Background Workers
Mobile & Device
XR & Spatial
Desktop & UI
Frontend Quality
Testing
Testing Research
Architecture
Governance & Delivery
Data
AI & Agents
Distributed
Legacy
Upgrades & Migration
MCP 기반 런타임 프로파일링을 위해서는 diagnostics-mcp를 dotnet skills install diagnostics-mcp 명령어로 설치해야 합니다. 이 도구는 dotnet-diagnostics-mcp 설정, CPU/할당(allocation)/GC 캡처 기능을 포함하며, 다음과 같은 프롬프트를 제공합니다: "테스트되는 모든 단위 테스트를 프로파일링하고 코드의 병목 지점을 식별하세요." 이는 Diagnostics & Metrics에 속하며, 테스트 호스트 검색 및 명시적인 프로파일링 커버리지 보고 기능을 갖추고 있습니다.
카탈로그(Catalog) 릴리스는 .github/workflows/publish-catalog.yml에서 UTC 기준 오전 4시에 자동으로 게시되며, 이 과정에는 catalog-v* 릴리스, GitHub Pages 배포, 그리고 dotnet-skills, dotnet-agents, 및 agents에 대한 NuGet 게시가 모두 포함됩니다. 자동 카탈로그 버전은 2026.3.15.0과 같은 숫자형 달력+일별 인덱스 형식을 사용하며, 첫 UTC 일자 릴리스는 .0, 두 번째는 .1이 됩니다. dotnet-skills는 기본적으로 가장 최신 비(非)초안(non-draft)의 catalog-v* 릴리스를 읽으며, --catalog-version 플래그는 의도적인 버전 고정(pinning)에만 사용됩니다.
선호하는 전용 에이전트 패키지를 설치하세요:
dotnet tool install --global dotnet-agents는 dotnet agents ... 명령 구조를 제공합니다.
dotnet tool install --global agents는 agents ... 명령 구조를 제공합니다.
에이전트 지원 (Agent Support)
스킬 설치 경로 (Skills Installation Paths)
| Agent | Global | Project |
|---|
| Claude | ~/.claude/skills/ | .claude/skills/ |
| ... | | |
오케스트레이션 에이전트 설치 경로 (Orchestration Agents Installation Paths)
| Agent | Global | Project |
|---|
| Claude | ~/.claude/agents/ | .claude/agents/ |
| ... | | |
만약 .agents/가 존재하면, 자동 설치는 공유된 skills/ 또는 agents/ 디렉토리를 사용합니다. 그렇지 않은 경우, 도구는 .codex/, .claude/, .github/, .gemini/, .junie/, 및 .grok/를 감지하여 모든 기존 네이티브 대상(native target)에 설치하고, 아무것도 존재하지 않으면 .agents/로 폴백합니다. 공유 대상을 사용하려면 --agent agents를, Grok Build를 명시적으로 사용하려면 --agent grok을 사용하세요.
명시적인 --target <path>이 항상 우선합니다. dotnet skills 명령은 --agent가 생략된 경우 포터블 마크다운 형식을 사용하며, 어댑터 형식이 필요한 플랫폼을 전달해야 합니다.
DOTNET_SKILLS_DEFAULT_TARGET 또는 DOTNET_AGENTS_DEFAULT_TARGET를 설정하여 dotnet skills와 dotnet agents의 기본 목적지를 유지할 수 있습니다. 독립형 agents 도구는 AGENTS_DEFAULT_TARGET를 사용합니다. 상대 경로는 프로젝트 범위를 위해 프로젝트 루트 아래에서, 전역 범위를 위해 사용자 홈 아래에서 해석됩니다.
오케스트레이션 에이전트 (Orchestration Agents)
이 저장소는 이제 스킬 카탈로그 위에 병렬 에이전트 계층을 추적합니다.
- 재사용 가능한 리포지토리 작성 스킬, vendir에서 가져온 업스트림 스킬, 그리고 리포지토리 소유 에이전트는 모두
catalog/<type>/<package>/ 내의 패키지 폴더에 존재합니다.
catalog/<type>/<package>/skills/<skill>/SKILL.md는 하나의 스킬에 대한 상세 구현 지침을 담고 있습니다.
catalog/<type>/<package>/agents/<agent>/AGENT.md는 하나의 리포지토리 소유 오케스트레이션 에이전트에 대한 라우팅 동작을 담고 있습니다.
- 패키지
manifest.json 파일은 설치 프로그램과 공개 사이트 모두가 스캔하는 패키지 수준의 메타데이터를 담고 있습니다.
- 모든 스킬과 에이전트는 여전히 자체 폴더를 가지므로 참조, 자산, 스크립트, 그리고 미래의 설치 프로그램 메타데이터를 포함할 수 있습니다.
- 따라서 하나의 에이전트는 관련 스킬들의 그룹화된 묶음일 수도 있고, 특정 단일 스킬에 대한 좁은 동반자 역할을 할 수도 있습니다.
- 현재
dotnet-skills CLI는 여전히 스킬 중심적이며, 리포지토리 소유 에이전트는 독립적인 경로로 진화하고 배포될 수 있습니다.
- 런타임별
.agent.md 또는 네이티브 Claude 파일은 표준 리포지토리 소스 형식이 아니라 설치 어댑터로 취급되어야 합니다.
flowchart LR
A[
### 패키지 범위 전문 에이전트 (Package-Scoped Specialists)
| Agent | Scope | Primary routing |
|-------|-------|-----------------|
| [`dotnet-orleans-specialist`](catalog/Frameworks/Orleans/agents/dotnet-orleans-specialist/) | 패키지 범위 | Orleans 그레인 경계, 영속성(persistence), 스트림, 리마인더, 배치(placement), Aspire 와이어링, 클러스터 유효성 검사 |
| ... |
## 레포지토리 레이아웃 (Repository Layout)
```text
catalog/
└── <유형>/
└── <패키지>/
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18