微软官方出手!dotnet/skills 项目深度解读:.NET 开发者终于有了自己的 AI 技能库
摘要:当 AI 编程助手遍地开花,.NET 开发者却长期面临一个尴尬——这些工具"懂通用编程,不懂 .NET"。微软 .NET 团队在 GitHub 上线了
dotnet/skills仓库,打包了 12 个专业技能插件(含 80+ 条细分技能),覆盖从构建系统到移动开发的全栈场景。本文基于仓库源码逐条核实,深度拆解这个项目的真实能力、架构与使用方式。
一、背景:AI 编程工具的"最后一公里"问题
2026 年,AI 编程工具已经从"代码补全"进化到"Agent 自主编程"。Cursor、GitHub Copilot、Claude Code、Gemini CLI、JetBrains Junie……几乎每个主流 IDE 和终端都有了自己的 AI Agent。
但一个被低估的问题浮出水面:通用大模型在 .NET 生态中的表现并不理想。
你让它写个 ASP.NET Core 中间件,它可能给你生成过时的 IApplicationBuilder 写法;让它排查 NuGet 依赖冲突,它可能对着 packages.config 一通操作——而你的项目早就用 PackageReference 了;让它帮你从 .NET 8 升级到 .NET 10,它可能遗漏了大量 breaking change。
这不是模型"笨",而是 .NET 生态的复杂度远超通用训练数据的覆盖范围:
- MSBuild 系统有自己的属性、Target、条件逻辑,和 Makefile 完全不同
- Entity Framework Core 的迁移、Provider 切换、性能调优是独立的知识体系
- .NET MAUI 跨平台适配涉及大量平台特定 API
- C# 语言本身在快速迭代(C# 15 已经引入联合类型)
微软 .NET 团队显然意识到了这个问题。于是,dotnet/skills 来了。
二、项目概览:12 个插件,80+ 条细分技能
dotnet/skills(GitHub 地址:github.com/dotnet/skills)是微软 .NET 团队维护的一套结构化技能集合,遵循 agentskills.io 开放标准。
核心理念:不是让 AI 模型重新学习 .NET,而是通过技能插件在运行时注入精准的领域知识,让 AI Agent 在处理 .NET 任务时变得"专业"。
仓库实际包含 12 个稳定插件(另有 dotnet-experimental 用于实验性技能),以下是基于仓库源码逐条核实的真实技能清单:
dotnet(核心 .NET 编码)— 3 条技能
| 技能名 | 说明 |
|---|---|
csharp-scripts |
C# 脚本相关 |
dotnet-pinvoke |
P/Invoke 平台调用 |
nuget-trusted-publishing |
NuGet 可信发布 |
dotnet-aspnet(ASP.NET Core Web 开发)— 3 条技能
| 技能名 | 说明 |
|---|---|
configuring-opentelemetry-dotnet |
OpenTelemetry 配置 |
dotnet-webapi |
Web API 开发模式 |
minimal-api-file-upload |
Minimal API 文件上传 |
dotnet-data(数据访问)— 1 条技能
| 技能名 | 说明 |
|---|---|
optimizing-ef-core-queries |
EF Core 查询优化 |
dotnet-diag(诊断调试)— 7 条技能
| 技能名 | 说明 |
|---|---|
analyzing-dotnet-performance |
.NET 性能分析 |
android-tombstone-symbolication |
Android tombstone 符号化 |
apple-crash-symbolication |
Apple 崩溃日志符号化 |
clr-activation-debugging |
CLR 激活调试 |
dotnet-trace-collect |
dotnet-trace 采集 |
dump-collect |
dump 文件采集 |
microbenchmarking |
微基准测试 |
dotnet-msbuild(构建系统)— 18 条技能
这是目前内容最丰富的插件,覆盖了 MSBuild 的方方面面:
| 技能名 | 说明 |
|---|---|
binlog-failure-analysis |
二进制日志失败分析 |
binlog-generation |
二进制日志生成 |
build-parallelism |
构建并行度优化 |
build-perf-baseline |
构建性能基线 |
build-perf-diagnostics |
构建性能诊断 |
check-bin-obj-clash |
bin/obj 目录冲突检查 |
directory-build-organization |
Directory.Build 组织 |
eval-performance |
评估性能 |
extension-points |
MSBuild 扩展点 |
including-generated-files |
包含生成文件 |
incremental-build |
增量构建 |
item-management |
MSBuild 项管理 |
msbuild-antipatterns |
MSBuild 反模式 |
msbuild-modernization |
MSBuild 现代化 |
msbuild-server |
MSBuild Server |
property-patterns |
属性模式 |
resolve-project-references |
项目引用解析 |
target-authoring |
Target 编写 |
dotnet-nuget(包管理)— 1 条技能
| 技能名 | 说明 |
|---|---|
convert-to-cpm |
迁移到 Central Package Management |
dotnet-upgrade(版本升级)— 6 条技能
| 技能名 | 说明 |
|---|---|
dotnet-aot-compat |
AOT 兼容性检查 |
migrate-dotnet8-to-dotnet9 |
.NET 8 → 9 迁移 |
migrate-dotnet9-to-dotnet10 |
.NET 9 → 10 迁移 |
migrate-dotnet10-to-dotnet11 |
.NET 10 → 11 迁移 |
migrate-nullable-references |
nullable 引用迁移 |
thread-abort-migration |
Thread.Abort 迁移 |
注意:覆盖 .NET 8→9→10→11 的逐版本迁移路径,以及 AOT 兼容性和 nullable 引用迁移等专项。不包含 .NET 6/7 的直接升级路径。
dotnet-maui(移动/桌面)— 8 条技能
| 技能名 | 说明 |
|---|---|
dotnet-maui-doctor |
MAUI 环境诊断 |
maui-app-lifecycle |
应用生命周期 |
maui-collectionview |
CollectionView 控件 |
maui-data-binding |
数据绑定 |
maui-dependency-injection |
依赖注入 |
maui-safe-area |
安全区域适配 |
maui-shell-navigation |
Shell 导航 |
maui-theming |
主题系统 |
dotnet-ai(AI/ML)— 5 条技能
| 技能名 | 说明 |
|---|---|
mcp-csharp-create |
创建 MCP Server(C#) |
mcp-csharp-debug |
调试 MCP Server |
mcp-csharp-publish |
发布 MCP Server |
mcp-csharp-test |
测试 MCP Server |
technology-selection |
AI 技术选型 |
说明:该插件目前聚焦于在 C# 中构建 MCP(Model Context Protocol)Server 的完整工作流,以及 AI 技术栈选型指导。暂不包含 RAG 管道或 ML.NET 相关技能。
dotnet-template-engine(模板引擎)— 4 条技能
| 技能名 | 说明 |
|---|---|
template-authoring |
模板编写 |
template-discovery |
模板发现 |
template-instantiation |
模板实例化 |
template-validation |
模板验证 |
dotnet-test(测试)— 22 条技能
这是技能数量最多的插件:
| 技能名 | 说明 |
|---|---|
assertion-quality |
断言质量 |
code-testing-agent |
代码测试 Agent |
code-testing-extensions |
测试扩展 |
coverage-analysis |
覆盖率分析 |
crap-score |
CRAP 指标 |
detect-static-dependencies |
静态依赖检测 |
dotnet-test-frameworks |
测试框架选型 |
filter-syntax |
测试过滤语法 |
generate-testability-wrappers |
可测试性包装器生成 |
migrate-mstest-v1v2-to-v3 |
MSTest v1/v2 → v3 迁移 |
migrate-mstest-v3-to-v4 |
MSTest v3 → v4 迁移 |
migrate-static-to-wrapper |
静态依赖迁移到包装器 |
migrate-vstest-to-mtp |
vstest → MTP 迁移 |
migrate-xunit-to-xunit-v3 |
xUnit → xUnit v3 迁移 |
mtp-hot-reload |
MTP 热重载 |
platform-detection |
平台检测 |
run-tests |
测试运行 |
test-anti-patterns |
测试反模式 |
test-gap-analysis |
测试缺口分析 |
test-smell-detection |
测试坏味道检测 |
test-tagging |
测试标签 |
writing-mstest-tests |
编写 MSTest 测试 |
dotnet11(.NET 11 新特性)— 1 条技能
| 技能名 | 说明 |
|---|---|
system-text-json-net11 |
.NET 11 中 System.Text.Json 新特性 |
说明:该插件目前仅包含 System.Text.Json 在 .NET 11 中的新增功能。C# 15 联合类型、Runtime Async、Zstd 压缩等 .NET 11 特性虽已随 Preview 3 发布,但尚未有对应的 Skill 文件,预期后续会持续补充。
技能分布总览
dotnet-test ████████████████████████ 22 条
dotnet-msbuild ████████████████████ 18 条
dotnet-maui █████████ 8 条
dotnet-diag ████████ 7 条
dotnet-upgrade ███████ 6 条
dotnet-ai ██████ 5 条
dotnet-template █████ 4 条
dotnet ████ 3 条
dotnet-aspnet ████ 3 条
dotnet-data ██ 1 条
dotnet-nuget ██ 1 条
dotnet11 ██ 1 条
三、技术架构:Agent Skills 开放标准解析
这个项目不只是"一堆 Markdown 文件"。它遵循的是 Agent Skills 开放标准(agentskills.io/specification),这是一个正在被主流 AI 编程工具广泛采纳的规范。
3.1 仓库结构
根据 CONTRIBUTING.md,每个插件的标准目录结构为:
plugins/
<plugin>/
plugin.json # 插件元数据(必须)
skills/
<skill-name>/
SKILL.md # 技能指令文档(核心)
scripts/ # 辅助脚本
references/ # 参考资料
assets/ # 资源文件
agents/
<agent-name>.agent.md # Agent 配置
tests/
<plugin>/
<skill-name>/
eval.yaml # 评估用例
<fixture files>
每个插件需要在三个市场清单文件中注册:.github/plugin/marketplace.json、.claude-plugin/marketplace.json、.cursor-plugin/marketplace.json,确保跨工具一致性。
3.2 什么是 Agent Skills?
简单说,Agent Skills 是一种结构化的知识注入机制:
一个 Skill = 描述(何时激活) + 指令(如何执行) + 工具(用什么能力) + 输出(交付什么)
与传统的"把所有知识塞进 system prompt"不同,Skills 采用渐进式加载——AI Agent 根据当前任务的语义,自动匹配并加载最相关的技能。这意味着:
- 不会浪费 token 在无关知识上
- 技能可以独立更新和版本管理
- 同一个 Agent 可以叠加多个技能
3.3 多工具兼容
这是 dotnet/skills 最值得关注的设计决策之一。它不绑定任何一个 AI 编程工具,而是同时支持:
- GitHub Copilot(VS Code / VS Code Insiders)— 通过
/plugin marketplace add dotnet/skills安装 - Claude Code — 同样的 plugin marketplace 机制
- Cursor — 作为 Cursor 插件市场的一部分
- OpenAI Codex CLI — 通过
skill-installer命令行工具 - JetBrains Junie、Gemini CLI、OpenHands、Goose 等 — 遵循同一标准
这意味着你在 Cursor 里安装的 .NET 技能,和同事在 VS Code Copilot 里用的是同一套。团队协作的摩擦被大幅降低。
四、实战场景:最值得关注的三个插件
4.1 dotnet-upgrade:逐版本迁移的标准化路径
该插件提供 .NET 8→9→10→11 的逐版本迁移技能,以及 AOT 兼容性检查和 nullable 引用迁移等专项能力。每个迁移技能针对特定版本的 breaking change 提供精准指导。
边界说明:不支持从 .NET 6/7 直接跳到 .NET 10/11。如果你的项目还在 .NET 6,需要按 8→9→10→11 逐步迁移。
4.2 dotnet-msbuild:构建系统的"百科全书"
18 条技能覆盖了 MSBuild 从基础到高级的方方面面——binlog 分析、增量构建、并行度优化、反模式检测、现代化改造。这是目前仓库中内容最扎实的插件,适合任何需要深入理解和优化 .NET 构建流程的团队。
4.3 dotnet-ai:在 C# 中构建 MCP Server 的完整指南
该插件聚焦于一个前沿场景:用 C# 构建 MCP(Model Context Protocol)Server。MCP 是 2025-2026 年 AI 工具链中最热门的协议之一,用于让 AI Agent 调用外部工具和数据源。插件覆盖了从创建、调试、测试到发布的完整工作流,外加 AI 技术栈选型指导。
边界说明:暂不包含 RAG 管道、ML.NET、Semantic Kernel 等更广泛的 AI/ML 场景技能。
五、安装指南(三分钟上手)
VS Code / VS Code Insiders(Preview)
⚠️ 注意:VS Code 插件支持目前为预览功能,可能需要手动启用。
// settings.json
{
"chat.plugins.enabled": true,
"chat.plugins.marketplaces": ["dotnet/skills"]
}
配置完成后,在 Copilot Chat 中输入 /plugins,或在扩展中使用 @agentPlugins 筛选器浏览和安装插件。
Cursor
Cursor 用户更简单——直接在 Cursor 市场面板搜索 .NET,或访问 cursor.com/marketplace 安装。
本地开发或未发布版本的导入方式:
# 将本地仓库复制或软链接到 Cursor 插件目录
cp -r /path/to/dotnet-skills ~/.cursor/plugins/local/dotnet-agent-skills
# 重启 Cursor 或执行 Developer: Reload Window
Claude Code / Copilot CLI
# 添加市场
/plugin marketplace add dotnet/skills
# 安装技能
/plugin install dotnet-aspnet@dotnet-agent-skills
/plugin install dotnet-diag@dotnet-agent-skills
# 重启后查看可用技能
/skills
# 更新技能
/plugin update <plugin>@dotnet-agent-skills
Codex CLI
Skills 遵循 agentskills.io 开放标准,与 OpenAI Codex 兼容。使用 skill-installer CLI 安装:
skill-installer install https://github.com/dotnet/skills/tree/main/plugins/<plugin>/skills/<skill-name>
六、与 .NET 11 的协同:AI + 最新框架
dotnet/skills 项目中包含了一个 dotnet11 插件,目前已有 system-text-json-net11 技能覆盖 .NET 11 中 System.Text.Json 的新特性。
配合 2026 年 4 月 15 日发布的 .NET 11 Preview 3,.NET 11 本身带来了大量值得关注的特性:
- C# 15 联合类型(union types)— Preview 3 引入,支持模式匹配
- Runtime Async — Preview 3 移除了预览功能标志要求,不再需要手动设置
EnablePreviewFeatures - Zstandard 响应压缩 — Preview 1 在库层面引入,Preview 3 集成到
System.IO.Compression并在 ASP.NET Core 层提供响应压缩/请求解压支持 - Blazor Virtualize 自适应高度 — 不再假设每项等高,运行时自适应测量
- EF Core GetEntriesForState API — 无需先执行 DetectChanges 即可返回指定状态的已跟踪实体
这些特性目前尚未全部有对应的 Skill 文件,但 dotnet11 插件的定位就是覆盖 .NET 11 新特性,预期会持续补充。
补充说明:.NET 11 是 STS(Standard Term Support,标准期限支持) 版本,计划于 2026 年 11 月正式发布。当前的 LTS 版本是 2025 年 11 月发布的 .NET 10。
七、生态意义:.NET 的"技能即服务"范式
从更宏观的视角看,dotnet/skills 代表了一种趋势:框架团队直接为 AI Agent 提供专业知识。
过去,AI 编程工具对框架的理解完全依赖训练数据的质量。现在,框架维护者可以主动"教会" AI Agent 如何正确使用自己的框架。这是一种根本性的范式转移:
- 从被动到主动:不再是等 AI 模型慢慢学到 .NET 最佳实践,而是微软直接注入
- 从通用到专业:一个技能库解决一个领域的所有细分问题
- 从封闭到开放:任何人都可以基于 agentskills.io 标准贡献技能
截至目前,Agent Skills 标准已经获得了 Cursor、GitHub Copilot、Gemini CLI、JetBrains Junie、OpenHands、Goose、Amp、Letta、Firebender 等十余个主流 AI 编程工具的支持。dotnet/skills 作为微软官方的参考实现,很可能成为 .NET 生态中 AI 辅助开发的基础设施。
八、总结
| 维度 | 评价 |
|---|---|
| 实用性 | ⭐⭐⭐⭐⭐ 直接解决 .NET 开发中的 AI 痛点 |
| 覆盖面 | ⭐⭐⭐⭐ 12 个插件 + 80+ 条技能,部分插件仍在建设中 |
| 兼容性 | ⭐⭐⭐⭐⭐ 支持所有主流 AI 编程工具 |
| 时效性 | ⭐⭐⭐⭐⭐ 跟随 .NET 11 Preview 实时更新 |
| 上手难度 | ⭐⭐ 三分钟安装,零学习成本 |
如果你是 .NET 开发者,又在用 AI 编程工具——不管你是用 Cursor、Copilot 还是 Claude Code——dotnet/skills 都值得你花三分钟装上。
它不会让你变成更好的程序员,但会让你的 AI 助手变成更好的 .NET 开发者。
项目地址:https://github.com/dotnet/skills
标准文档:https://agentskills.io
Google 官方出手了!Chrome DevTools MCP 让 AI Agent 直接操控浏览器,前端调试迎来范式革命
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)