AI 编程助手在通用代码生成上已表现出色,但面对特定技术栈的深层知识 —— 如 .NET 的 MSBuild 配置、Entity Framework 迁移策略或 MAUI 跨平台布局 —— 往往显得力不从心。微软于 2026 年 3 月正式开源的 dotnet/skills 仓库,正是为解决这一问题而设计的官方解决方案。它并非替代 MCP 工具,而是通过结构化的领域知识注入,让 AI 助手在 .NET 生态中具备真正的专业能力。
SKILL.md:领域知识的标准化封装
dotnet/skills 的核心创新在于 SKILL.md 文件格式。每个技能都是一个轻量级知识包,包含 YAML 前置元数据和 Markdown 指令体两部分。元数据定义技能的激活条件(globs 文件匹配模式)和依赖工具(tools 字段声明所需的 MCP 能力),而 Markdown 体则承载具体的最佳实践、代码模式和调试策略。
以 dotnet-data 技能为例,当 AI 助手检测到项目中的 .cs 或 .csproj 文件时,会自动加载该技能。技能文件会指导助手如何正确创建 Entity Framework 迁移、处理连接字符串配置,以及遵循仓储模式的最佳实践。这种基于文件模式自动触发的机制,确保知识在恰当的上下文被激活,避免了通用提示词带来的噪音和误用。
微软在该仓库中提供了 10 个精心策划的官方技能,覆盖核心 .NET 开发、数据访问、诊断、MSBuild、NuGet、升级迁移、MAUI、AI 集成、模板工程和测试等关键领域。每个技能都经过 .NET 团队的审核,遵循统一的编码规范,并采用 MIT 许可证开放给社区贡献。
Skills 与 MCP:知识层与行动层的分层协作
理解 dotnet/skills 的价值,关键在于厘清它与 MCP(Model Context Protocol)工具的分层关系。二者并非竞争关系,而是构成了完整的代理能力栈。
Skills 位于知识层,回答的是 "应该做什么" 和 "遵循什么模式"。它们为 AI 助手提供领域特定的决策依据,但本身不具备执行能力。当助手需要执行代码、查询数据库或检查运行中的应用状态时,必须依赖 MCP 服务器提供的行动层能力。这种分层架构的设计哲学是:技能指导决策,工具执行动作。
这种协作在实际开发中体现得尤为明显。假设助手需要为项目添加一个新的 API 端点:dotnet 技能会指导助手遵循 Minimal API 的路由模式和依赖注入最佳实践,而 dotnet-build MCP 工具则负责实际执行编译验证。如果项目使用 MAUI 进行跨平台开发,dotnet-maui 技能会提供平台特定的布局指导,但渲染验证仍需通过 App MCP 等运行时检查工具完成。
多代理支持与接入配置
dotnet/skills 采用开放的 Agent Skills 规范,这意味着同一套 SKILL.md 文件可在多个主流开发工具中复用。目前官方支持 Claude Code、GitHub Copilot CLI、VS Code 中的 Copilot 扩展,以及 Visual Studio 2026。
接入流程遵循统一的模式。以 Claude Code 为例,开发者只需将 dotnet/skills 仓库添加为技能源,代理便会自动扫描并加载匹配当前项目的技能文件。对于 VS Code 用户,技能发现机制集成在 Copilot Chat 的上下文感知层中,当打开 .NET 项目时,相关技能会自动注入到对话上下文中。
值得注意的是,技能文件支持细粒度的作用域控制。通过 globs 字段,开发者可以精确指定技能适用的文件模式,避免在无关代码文件中激活不相关的知识。这种作用域隔离在多技术栈混合项目中尤为重要,能显著降低 AI 助手的决策复杂度。
实践中的边界与扩展
尽管 dotnet/skills 提供了扎实的 .NET 核心能力,但在实际部署中仍需注意其能力边界。首先,技能本身不包含执行逻辑,必须与配套的 MCP 工具链配合使用。其次,对于复杂的跨平台场景(如同时针对 iOS、Android 和 WebAssembly 的 MAUI 应用),官方技能可能需要与平台特定的扩展技能协同工作。
社区生态正在快速填补这些空白。Uno Platform 等第三方框架已推出配套的 MCP 服务器,与 dotnet/skills 形成互补。这种开放架构鼓励开发者根据项目需求组合官方技能、社区贡献和私有技能,构建最适合自身技术栈的 AI 辅助工作流。
总结
dotnet/skills 代表了 AI 编程助手向专业化演进的重要一步。通过将领域知识封装为可发现、可复用的技能单元,微软为 .NET 开发者提供了一条从 "通用 AI 辅助" 迈向 "专家级 AI 协作" 的清晰路径。其 SKILL.md 规范的分层设计 —— 知识层与行动层解耦、多代理兼容、作用域可控 —— 为其他技术栈的技能体系建设提供了可借鉴的范式。
对于正在评估 AI 辅助开发工具的 .NET 团队而言,dotnet/skills 与 MCP 工具的组合值得纳入技术雷达。它不仅能减少新手开发者的学习曲线,更能确保资深开发者的最佳实践在团队中通过 AI 助手得到一致传承。
资料来源
- Microsoft Developer Blogs: "Extend your coding agent with .NET Skills" (2026-03-09)
- Uno Platform: ".NET Agent Skills: How AI Coding Agents Get Domain Expertise"
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。