AI 코딩 도구가 C#을 다루는 방식에는 오래된 불편함이 있었다. 문법 오류는 없다. 빌드는 통과한다. 그런데 코드 리뷰 단계에서 시니어 개발자가 고개를 젓는다. `using` 구문 대신 명시적 `Dispose()`, `IHostedService`를 써야 할 자리에 `BackgroundThread`, Minimal API 엔드포인트를 개별 파일로 흩어놓은 구조, `ConfigureAwait(false)`가 빠진 비동기 체인 — 에이전트는 .NET의 문법은 알지만, .NET 팀이 수년에 걸쳐 쌓아온 관용적 방식은 모른다.
Microsoft .NET 팀이 공개한 dotnet/skills는 이 간극을 스킬이라는 컨텍스트 레이어로 좁히려는 레포다. AI 코딩 에이전트가 C#과 .NET 생태계를 단순한 코드 완성 단위가 아니라 의미 있는 설계 맥락 단위로 이해하도록, 구조화된 스킬 정의를 제공하는 것이 핵심이다. GitHub Copilot이나 Claude Code처럼 에이전트 런타임을 지원하는 도구들이 이 스킬을 참조해 더 .NET다운 코드를 제안할 수 있도록 설계되어 있다.
타이밍이 흥미롭다. AI 코딩 도구 채택이 개인 단위를 넘어 팀 단위로 확산되면서, 에이전트가 생성하는 코드의 '팀 규약 준수율'이 실질적인 생산성 지표가 되기 시작했다. 코드 리뷰에서 AI 생성 코드를 다듬는 데 드는 시간이 쌓이면, 자동화의 이득이 조용히 상쇄된다. dotnet/skills는 그 마찰을 줄이기 위해 에이전트에게 .NET 팀의 집단 지식을 전달하려는 시도다.
물론 레포는 아직 초기다. 오늘 기준 96스타, 트렌딩 4위는 커뮤니티의 관심을 보여주지만, 어떤 에이전트 런타임을 지원하는지, 스킬 커버리지가 실제 프로젝트 규모에서 얼마나 유효한지는 직접 검증이 필요하다. 그러나 Microsoft .NET 팀이 에이전트 스킬 생태계에 공식 레포로 진입했다는 사실 자체가 하나의 전환점이다. 에이전트 코딩이 보편화되는 속도를 생각하면, 이런 언어별 스킬 레이어는 각 언어 생태계가 앞으로 직접 관리해야 할 핵심 인프라가 될 가능성이 높다.