- Published on
dotnet/skills: AI 코딩 에이전트가 팀의 개발 규칙을 배워야 하는 이유
- Authors

- Name
- Kyunghyun Park
- @devkhpark
Agent Skills · .NET · Coding Agent Operations
AI 코딩 에이전트의 경쟁은 이제 "어떤 모델을 붙였는가"에서 "그 모델이 우리 팀의 개발 절차를 얼마나 잘 배웠는가"로 옮겨가고 있다. Microsoft .NET 팀이 공개한 dotnet/skills는 이 변화를 꽤 노골적으로 보여준다. 저장소 이름은 작지만, 실제 의미는 크다. 범용 코딩 에이전트에 .NET 빌드, 테스트, 진단, 업그레이드, NuGet, ASP.NET, MAUI, AI/MCP 개발 절차를 재사용 가능한 운영 지식 패키지로 주입하려는 시도이기 때문이다.

이 글의 핵심은 단순히 ".NET용 스킬 저장소가 나왔다"가 아니다. 더 중요한 변화는 코딩 에이전트의 품질 관리 단위가 프롬프트에서 버전관리되는 스킬, 플러그인, 평가 대시보드로 내려오고 있다는 점이다. 한국 개발팀 입장에서는 "우리 코드베이스에 맞는 에이전트 운영 체계"를 어떻게 만들 것인가라는 질문으로 읽어야 한다.
기준 시점: 이 글은 2026-05-22에 확인한
dotnet/skillsREADME, Agent Skills 공식 문서, Anthropic의 Skills/Claude Code 플러그인 문서와 공개 저장소를 기준으로 작성했다.
dotnet/skills는 단순한 프롬프트 모음이 아니다
dotnet/skills README는 이 저장소를 ".NET 팀이 큐레이션한 core skills와 custom agents"라고 설명한다. 포함 범위도 꽤 넓다. 기본 .NET 작업뿐 아니라 데이터/EF Core, 성능 진단, MSBuild, NuGet, 업그레이드, MAUI, ASP.NET Core, 테스트, .NET 11, 그리고 dotnet-ai까지 플러그인 단위로 나뉜다.
여기서 주목할 지점은 두 가지다.
- 도메인 지식이 제품 외부 문서가 아니라 에이전트가 읽는 실행 지침으로 들어간다.
- 설치 대상이 하나의 클라이언트가 아니라 Copilot CLI와 Claude Code 같은 여러 에이전트 클라이언트다.
README의 설치 예시는 /plugin marketplace add dotnet/skills 뒤에 /plugin install <plugin>@dotnet-agent-skills를 실행하는 흐름이다. 즉 이 저장소는 "읽어보면 좋은 문서"가 아니라, 코딩 에이전트가 실제 세션 중 불러와 사용할 수 있는 작업 패키지에 가깝다.

Agent Skills 공식 문서가 말하는 스킬의 기본 구조도 이 해석을 뒷받침한다. 스킬은 SKILL.md를 중심으로 scripts, references, assets 등을 묶은 폴더다. 에이전트는 처음부터 모든 내용을 읽지 않고, 이름과 설명으로 발견한 뒤, 필요한 순간 전체 지침을 읽고, 실행 단계에서 스크립트나 참고 파일을 사용한다. 이른바 progressive disclosure 구조다.
이 설계가 중요한 이유는 간단하다. 범용 모델에게 매번 긴 프롬프트로 "우리 팀에서는 이렇게 해"라고 설명하는 방식은 오래 못 간다. 반대로 스킬 폴더는 Git으로 리뷰하고, 버전을 남기고, 테스트하고, 조직별로 배포할 수 있다. 코딩 에이전트 운영이 개인 프롬프트 노하우에서 팀 단위 공급망으로 넘어가는 셈이다.
.NET 팀이 고른 카테고리는 개발 현장의 병목을 정확히 찌른다
dotnet/skills의 플러그인 목록은 꽤 실무적이다. 화려한 데모보다 팀이 반복해서 겪는 문제에 초점을 맞춘다.
| 영역 | 의미 |
|---|---|
dotnet | 일반적인 .NET 코딩 작업과 C# 스크립트, P/Invoke, NuGet trusted publishing 같은 기본 루틴 |
dotnet-msbuild | 빌드 실패 진단, 성능 최적화, modernization, binlog 분석 같은 MSBuild 중심 작업 |
dotnet-test | 테스트 실행, 필터링, 마이그레이션, 커버리지, test smell 분석 |
dotnet-diag | 성능 조사, dump/trace 수집, crash symbolication, microbenchmarking |
dotnet-upgrade | .NET 8→9, 9→10, 10→11, nullable migration, AOT compatibility |
dotnet-ai | LLM 통합, agentic workflow, RAG, MCP, ML.NET, C# 기반 MCP 생성·테스트·배포 |
이 목록은 Microsoft가 코딩 에이전트에게 기대하는 역할을 잘 보여준다. 에이전트는 단순히 함수를 하나 만들어주는 도구가 아니다. 빌드 로그를 읽고, 테스트 전략을 고르고, 업그레이드 위험을 낮추고, 성능 문제를 조사하고, MCP 서버를 만들고 배포하는 개발 운영 보조자에 가까워진다.

특히 dotnet-ai의 존재가 흥미롭다. .NET 팀은 AI를 단순히 ".NET을 도와주는 외부 도구"로만 보지 않는다. .NET 개발자가 AI 애플리케이션, MCP, RAG, agentic workflow를 만들 때 필요한 절차 자체도 스킬화한다. 다시 말해 AI 에이전트가 .NET 개발을 돕고, 그 .NET 개발자가 다시 AI 시스템을 만드는 순환 구조가 생긴다.
왜 지금 스킬인가: 컨텍스트보다 절차가 더 부족해졌기 때문이다
요즘 코딩 모델은 웬만한 API 설명이나 언어 문법은 이미 잘 안다. 그런데 실제 팀에서 실패하는 지점은 대개 문법이 아니다.
- 이 저장소에서는 테스트를 어떤 순서로 돌려야 하는가?
- MSBuild 실패를 볼 때 어떤 로그를 먼저 확인해야 하는가?
- NuGet 패키지 업데이트는 어떤 호환성 리스크를 체크해야 하는가?
- 성능 문제가 생기면 trace, dump, benchmark 중 무엇부터 수집해야 하는가?
- 업그레이드 PR에서는 어떤 breaking change를 봐야 하는가?
이런 문제는 모델의 일반 지식만으로는 부족하다. 팀의 절차, 도구, 실패 패턴, 검증 기준이 필요하다. Agent Skills 문서가 말하는 "domain expertise"와 "repeatable workflows"가 바로 이 지점이다.
그래서 dotnet/skills의 진짜 가치는 .NET이라는 특정 생태계보다 더 넓다. 이 저장소는 "언어/플랫폼 팀이 자기 생태계의 운영 지식을 에이전트가 소비 가능한 형태로 패키징하면 어떤 모습인가"를 보여주는 레퍼런스다. Java 팀, Python 인프라 팀, Kubernetes 플랫폼 팀, 사내 데이터 플랫폼 팀도 비슷한 방향으로 갈 가능성이 높다.
평가 대시보드가 붙었다는 점이 더 중요하다
README에서 놓치기 쉬운 부분이 Skills Evaluation Dashboard다. 이 대시보드는 contained plugins의 accuracy와 efficiency scoring trends를 보여주는 용도로 연결돼 있다. 즉 Microsoft는 스킬을 단순히 "좋은 지침 모음"으로 끝내지 않고, 성능을 추적해야 하는 대상으로 보고 있다.
이건 코딩 에이전트 도입에서 매우 중요한 전환이다. 팀이 에이전트에게 지침을 추가하면 대개 두 가지 문제가 생긴다.
- 정말 더 잘하게 됐는지 알기 어렵다.
- 지침이 늘어나면서 오히려 느려지거나 엉뚱한 행동을 할 수 있다.
따라서 앞으로의 에이전트 운영은 "스킬을 많이 만든다"가 아니라 "스킬이 정확도와 비용을 실제로 개선하는지 측정한다"가 되어야 한다. dotnet/skills가 평가 대시보드를 전면에 둔 것은 이 방향을 잘 보여준다.

여기서 한국 개발팀이 가져갈 실무 포인트는 분명하다. 사내 에이전트 스킬을 만들 때도 최소한 아래 세 가지는 같이 설계해야 한다.
- 활성 조건: 언제 이 스킬을 읽어야 하는가?
- 검증 루틴: 스킬을 따른 뒤 어떤 테스트/빌드/리뷰를 반드시 해야 하는가?
- 평가 샘플: 스킬이 없는 경우와 있는 경우를 비교할 수 있는 대표 작업은 무엇인가?
스킬은 문서가 아니라 작은 운영 제품이다. 제품이라면 배포, 버전, 평가, 회귀 관리가 필요하다.
Claude Code 플러그인과 Agent Skills 표준이 만나는 지점
최근 흐름을 같이 보면 그림이 더 선명해진다. Anthropic의 공개 Skills 저장소는 스킬을 SKILL.md 중심의 폴더로 설명하고, Claude Code 플러그인 디렉터리는 플러그인이 .claude-plugin/plugin.json, .mcp.json, commands, agents, skills, README를 포함할 수 있다고 안내한다. 공식 플러그인 디렉터리 README에는 외부 플러그인을 신뢰하기 전에 검증해야 한다는 경고도 들어 있다.
이 조합은 코딩 에이전트 생태계가 세 층으로 나뉘고 있음을 보여준다.
- 스킬: 특정 작업을 잘하기 위한 절차와 참고자료
- 플러그인: 스킬, 명령, 에이전트 정의, MCP 설정을 묶는 배포 단위
- 마켓플레이스/디렉터리: 팀이나 커뮤니티가 검증·설치·업데이트하는 공급망
dotnet/skills는 이 세 층을 .NET 생태계에 적용한 사례다. Copilot CLI와 Claude Code를 동시에 언급하는 점도 중요하다. 스킬은 특정 제품의 폐쇄 기능이라기보다, 여러 에이전트 클라이언트가 공유할 수 있는 개발 지식 포맷으로 움직이고 있다.
실무 해석: 사내 에이전트 전략은 모델 선택보다 스킬 운영에서 갈린다
많은 팀이 AI 코딩 도입을 모델 벤치마크나 IDE 선택 문제로만 본다. 물론 중요하다. 하지만 실제 생산성 차이는 시간이 갈수록 다른 곳에서 벌어질 가능성이 크다.
- 우리 빌드 시스템을 이해하는가?
- 장애 대응 절차를 알고 있는가?
- PR 리뷰 기준을 따르는가?
- 테스트 실패를 재현하고 최소 수정으로 고칠 수 있는가?
- 위험한 마이그레이션을 감지하고 멈출 수 있는가?
이 질문에 대한 답은 모델 API만 바꾼다고 해결되지 않는다. 팀의 절차를 에이전트가 읽고 실행할 수 있는 형태로 바꿔야 한다. dotnet/skills가 보여주는 방향은 바로 이것이다.
한국의 개발 조직이라면 작은 것부터 시작하는 편이 좋다. 예를 들어 다음 스킬 3개만 만들어도 효과를 측정하기 쉽다.
- 빌드 실패 분석 스킬 — 로그 수집 위치, 흔한 실패 패턴, 재현 명령, 금지된 임시 수정
- 테스트 수정 스킬 — flaky test 판별, fixture 규칙, 커버리지 기준, 변경 범위 제한
- 배포 전 점검 스킬 — config diff, migration 확인, 롤백 절차, 관측 지표 체크
중요한 건 거창한 에이전트 플랫폼부터 만들지 않는 것이다. 자주 반복되고, 실패 비용이 높고, 검증 가능한 작업부터 스킬화해야 한다.
결론: dotnet/skills는 .NET 뉴스가 아니라 에이전트 운영 뉴스다
dotnet/skills는 표면적으로는 .NET 개발자를 위한 저장소다. 하지만 더 크게 보면 코딩 에이전트 산업의 방향을 보여주는 신호다. 앞으로 좋은 에이전트는 단순히 큰 모델을 호출하는 제품이 아니라, 팀과 생태계의 절차를 안전하게 불러오고, 실행하고, 평가하는 런타임이 될 가능성이 높다.
그래서 이 이슈를 ".NET 팀이 스킬 몇 개를 올렸다" 정도로 보면 놓치는 게 많다. 더 정확한 해석은 이렇다.
코딩 에이전트의 다음 해자는 모델 자체보다, 조직의 개발 지식을 스킬로 패키징하고 평가·배포하는 능력이다.
오늘 당장 할 일은 명확하다. 팀의 README를 더 길게 쓰는 것보다, 에이전트가 실제로 읽고 따를 수 있는 SKILL.md 하나를 만들고, 그 효과를 작은 평가 세트로 검증해보는 것이다.