Agent Skills
› dotnet/skills
dotnet/skills
GitHub用于在 VS Code 中创建自定义 AI Agent 配置文件(.agent.md),支持定义角色、工具集及多步工作流交接。
安装全部 Skills
npx skills add dotnet/skills --all -g -y
集合内 Skills (110)
按质量分展示前 50 个(共 110 个),完整列表请用安装命令预览或逐个打开详情。
用于在 VS Code 中创建自定义 AI Agent 配置文件(.agent.md),支持定义角色、工具集及多步工作流交接。
创建新的自定义 Agent
生成 .agent.md 脚手架文件
配置 Agent 间的工作流交接
npx skills add dotnet/skills --skill create-custom-agent -g -y
为 Agent Skill 生成符合 Vally 规范的 eval.yaml 评估规格,涵盖刺激定义、评分器设置及防过拟合策略。用于构建新的评估测试或扩展现有测试集,确保评估具备统计效力并正确组织测试夹具。
创建新的 skill 评估规格
编写评估刺激数据
定义评分标准和验收准则
配置测试夹具文件
npx skills add dotnet/skills --skill create-skill-test -g -y
用于在 dotnet/skills 仓库中从零创建新的 Agent Skill,生成符合规范的 SKILL.md 文件、目录结构及 Frontmatter,并提供命名验证和路由描述编写指导。
创建新的 Agent Skill
生成 SKILL.md 文件
设置 Skill 目录结构
npx skills add dotnet/skills --skill create-skill -g -y
诊断并修复技能评估中表现不佳、未激活或超时的问题。通过分类失败原因(如夹具、规范加载或可靠性问题)进行针对性修复,避免误改技能内容。
评估结果为回归或无显著改进
技能在插件模式下未激活
评估运行但未产生结果
技能成本过高或持续表现薄弱
npx skills add dotnet/skills --skill improve-skill-quality -g -y
作为路由器,将GitHub Agentic Workflows的设计、创建、调试、更新和升级请求分发至对应的提示词或技能文件,支持仓库覆盖指令并按需加载特定上下文。
用户请求设计GitHub Agentic Workflow
用户请求创建或更新Agentic Workflow
用户请求调试或升级Agentic Workflow
npx skills add dotnet/skills --skill agentic-workflows -g -y
用于生成个性化问候语的示例技能,根据时间段和人名构建礼貌的问候语。
需要生成问候语
npx skills add dotnet/skills --skill sample-skill -g -y
提供基于文件的C#应用运行能力,支持单文件及多文件组合,用于C#概念测试、API原型验证或小工具构建。
用户需要快速运行C#代码片段或脚本
用户进行C#语言特性或API的本地实验
用户构建无需完整项目结构的小型C#实用程序
npx skills add dotnet/skills --skill csharp-scripts -g -y
用于在 GitHub Actions 中配置 NuGet 可信发布(OIDC),替代长期 API 密钥,实现无密钥的安全包发布流程。
迁移 NuGet API 密钥到 OIDC
设置安全的 NuGet 发布工作流
询问如何移除 NuGet API 密钥
npx skills add dotnet/skills --skill nuget-trusted-publishing -g -y
用于.NET平台进行SIMD代码设计、实现、优化及审查的技能,涵盖TensorPrimitives和硬件内在函数,确保性能提升与内存安全。
需要优化标量循环的性能
审查或实现SIMD相关代码
npx skills add dotnet/skills --skill vectorization -g -y
指导在ASP.NET Core中配置OpenTelemetry以实现分布式追踪、指标和日志。涵盖NuGet包安装、OTLP导出器设置及自定义信号创建,用于增强应用可观测性。
添加分布式追踪
配置OpenTelemetry导出器
创建自定义指标或跨度
排查分布式链路上下文传播问题
npx skills add dotnet/skills --skill configuring-opentelemetry-dotnet -g -y
用于ASP.NET Core Web API的端点创建、OpenAPI文档配置及错误处理中间件设置。指导遵循现有风格添加控制器或Minimal API,定义DTO,并生成.http测试文件。
新增或修改Web API端点
配置OpenAPI/Swagger元数据
创建请求/响应DTO
设置全局错误处理中间件
npx skills add dotnet/skills --skill dotnet-webapi -g -y
指导在ASP.NET Core Minimal API中实现文件上传,涵盖IFormFile绑定、多文件处理及关键的大小限制配置(Kestrel与FormOptions),防止常见错误。
需要创建支持文件上传的API端点
配置或调试文件上传的大小限制问题
npx skills add dotnet/skills --skill minimal-api-file-upload -g -y
指导创建新的 ASP.NET Core Blazor Web 应用,涵盖需求收集、渲染模式选择及项目脚手架生成。
创建新的 Blazor 项目
初始化 Web 应用程序结构
npx skills add dotnet/skills --skill create-blazor-project -g -y
指导 Blazor 应用中调用 API、加载数据及处理异步生命周期。涵盖不同渲染模式下的 HttpClient 注册、数据获取、加载与错误状态处理,适用于前后端数据交互场景。
Blazor 组件中需要调用后端 API 获取数据
配置 HttpClient 或处理 WebAssembly/Auto 模式下的网络请求
实现数据加载中的 Loading 和 Error 状态展示
npx skills add dotnet/skills --skill fetch-and-send-data -g -y
解决 Blazor 预渲染导致的重复数据加载、UI 闪烁及状态丢失问题。提供 PersistentState 属性或 PersistentComponentState 服务以持久化组件状态,确保预渲染与交互模式切换时的数据一致性。
修复 Blazor 预渲染到交互式切换时的 UI 闪烁
解决 OnInitializedAsync 双重执行导致的重复 API 调用
在预渲染和交互式运行时之间保持组件状态
处理预渲染期间的空引用异常
npx skills add dotnet/skills --skill support-prerendering -g -y
指导 Blazor 组件中 JavaScript 互操作的最佳实践,涵盖本地 JS 模块使用、生命周期时机、跨边界性能优化及资源释放。
Blazor 组件需要调用 JavaScript
修复 .NET 与 JS 之间的互操作性问题
优化 Blazor 中的 JS 调用性能
npx skills add dotnet/skills --skill use-js-interop -g -y
诊断并优化 Entity Framework Core 查询性能,解决 N+1、SQL 生成过多及数据库往返问题。通过捕获 SQL 日志定位瓶颈,应用最小变更修复非 SARGable 谓词等性能陷阱,减少扫描与重复行,提升响应速度。
EF Core 查询执行缓慢
出现 N+1 查询问题
生成的 SQL 语句数量异常多
索引未生效导致全表扫描
npx skills add dotnet/skills --skill optimizing-ef-core-queries -g -y
用于扫描C#/.NET代码,检测异步、内存、LINQ等50种性能反模式。提供分级严重度分类和具体修复建议,适用于代码审查、热点路径分析及发布前审计。
分析.NET代码的性能优化机会
审查热点路径中的分配密集型模式
发布前对代码库进行系统性反模式扫描
npx skills add dotnet/skills --skill analyzing-dotnet-performance -g -y
诊断 .NET Framework CLR 激活问题,通过分析 mscoree.dll 生成的 CLRLoad 日志。适用于运行时选择错误、加载失败、FOD 对话框异常或 COM 对象激活失败等场景。
进程无法加载 CLR
Shim 选择了错误的 CLR 版本
出现意外的 .NET 3.5 FOD 安装对话框
COM 对象因无法解析运行时而激活失败
npx skills add dotnet/skills --skill clr-activation-debugging -g -y
指导开发者针对生产环境.NET性能问题选择诊断工具、收集数据并理解不同环境下的工具权衡,涵盖Windows/Linux及容器场景。
排查高CPU或内存泄漏等性能问题
选择特定运行时的诊断工具
在容器中收集诊断数据
npx skills add dotnet/skills --skill dotnet-trace-collect -g -y
为现代.NET应用配置并收集崩溃转储文件,支持CoreCLR和NativeAOT运行时,涵盖Linux、macOS、Windows及容器环境。仅负责启用自动转储或捕获运行中进程转储,严禁用于分析、调试或调查根因。
需要为.NET应用启用自动崩溃转储
需要从正在运行的.NET进程中捕获内存转储
在Docker或Kubernetes环境中配置转储收集
npx skills add dotnet/skills --skill dump-collect -g -y
分析.NET测试中Mock的使用情况,通过追踪生产代码执行路径,识别死代码、不可达、冗余或可替换的Mock设置。支持Moq、NSubstitute和FakeItEasy框架,旨在简化测试配置并减少过度模拟。
审计Mock使用情况
查找未使用或不必要的Mock设置
简化测试设置
检查Mock是否必要
npx skills add dotnet/skills --skill exp-mock-usage-analysis -g -y
指导在.NET 8+中优化热点标量循环,优先使用Span<T>和TensorPrimitives,必要时手动实现SIMD指令集加速数值计算。
需要优化高性能数值计算循环
将标量代码重构为向量化实现
评估代码是否具备SIMD优化潜力
npx skills add dotnet/skills --skill exp-simd-vectorization -g -y
分析 MSBuild 二进制日志以诊断构建失败,支持通过 MCP 工具或文本回放排查错误、追踪执行顺序及多项目级联问题。
MSBuild 构建报错且控制台输出不清晰
需要诊断多项目构建中的级联失败
需要追踪 MSBuild 目标执行顺序
npx skills add dotnet/skills --skill binlog-failure-analysis -g -y
指导 .NET/MSBuild 项目中 CopyToOutputDirectory 模式的选择,推荐使用 PreserveNewest 或 IfDifferent 替代 Always,以消除无操作构建的性能开销并正确处理被修改的目标文件。
优化 MSBuild 增量构建性能
解决构建后输出文件不一致问题
配置内容文件的复制策略
npx skills add dotnet/skills --skill copy-to-output-directory -g -y
指导使用 MSBuild Server 提升命令行构建性能,通过设置环境变量实现缓存,适用于 CLI 增量构建慢或 CI 频繁构建场景。
CLI 增量构建速度慢于预期
开发者反馈 VS 构建快于 CLI 构建
CI 代理运行大量顺序构建
npx skills add dotnet/skills --skill msbuild-server -g -y
指导开发者正确分析MSBuild构建性能,避免被ResolveProjectReferences的误导性耗时数据干扰。引导用户通过Task自时间定位真实瓶颈。
ResolveProjectReferences显示为最耗时的目标
开发者试图直接优化该目标
npx skills add dotnet/skills --skill resolve-project-references -g -y
将.NET测试项目从xUnit迁移至MSTest v4,转换特性、断言及并行设置,保留原测试平台与结果语义。
用户请求将xUnit测试转换为MSTest
需要替换xUnit包和语法为MSTest等价物
npx skills add dotnet/skills --skill migrate-xunit-to-mstest -g -y
将.NET测试项目从xUnit.net v2迁移至v3,更新包引用、修复编译错误并确保测试通过。
升级xunit到xunit.v3
解决更新xunit包后的编译错误
npx skills add dotnet/skills --skill migrate-xunit-to-xunit-v3 -g -y
评估测试断言的质量与多样性,识别浅层、单一或无意义的断言,生成指标报告以揭示测试是否真正验证了正确性。
用户询问断言质量或深度
怀疑测试存在虚假信心
测试生成工作流的自我审查步骤
npx skills add dotnet/skills --skill assertion-quality -g -y
提供多语言特定测试指南文件路径,供代码测试流水线调用。涵盖.NET、Python、Java等语言的构建、测试命令及常见错误处理,支持自动化测试生成与执行。
需要获取特定编程语言的测试框架使用指南
代码测试流水线中引用语言特定的最佳实践或模板
npx skills add dotnet/skills --skill code-testing-extensions -g -y
计算 .NET 代码的 CRAP 分数,结合圈复杂度和覆盖率评估变更风险。用于识别高风险方法、优先测试目标及评估测试质量,适用于特定方法或类的分析。
用户询问特定方法或类的 CRAP 分数
用户希望根据复杂度和覆盖率评估测试优先级
npx skills add dotnet/skills --skill crap-score -g -y
提供 VSTest、MTP 及 xUnit v3 等 .NET 测试框架的过滤器语法参考,用于在已知平台后创建或转换测试过滤表达式。
需要为 .NET 项目配置测试运行过滤条件
查询不同测试框架(如 MSTest, NUnit, xUnit)的 --filter 语法差异
npx skills add dotnet/skills --skill filter-syntax -g -y
通过静态分析识别未配对测试的源代码文件,支持C#、Python等多语言。在编写新测试前快速生成待测文件列表,无需编译或构建,辅助测试生成与覆盖率缺口分析。
询问哪些源代码文件没有对应的测试
寻找需要添加测试的文件
生成静态测试缺口列表
npx skills add dotnet/skills --skill find-untested-sources -g -y
对现有测试套件进行标准化特征标记,分析正/负路径、边界及关键路径覆盖分布,生成审计报表或自动打标。不用于编写、运行测试或质量审计。
审计测试项目以了解测试类型混合情况
为未标记的测试添加特征属性
生成测试套件中特征分布的摘要报告
npx skills add dotnet/skills --skill test-tagging -g -y
指导开发者通过添加特性注解和重构代码,解决.NET项目的IL裁剪与Native AOT兼容性问题,严禁使用警告禁用指令。
修复IL裁剪或AOT分析器警告
使项目兼容Native AOT
添加DynamicallyAccessedMembers注解
npx skills add dotnet/skills --skill dotnet-aot-compat -g -y
用于安全编写、编辑和审查 GitHub Actions 工作流 YAML。解决语法陷阱(如未引用表达式中的注释),确保 GitHub Actions 能正确加载运行,并使用 actionlint 进行验证。
编辑或添加 .github/workflows/ 下的文件
排查因工作流文件问题导致无作业运行的故障
编写包含 ${{ }} 表达式的 YAML 值
npx skills add dotnet/skills --skill authoring-github-workflows -g -y
用于在.NET中正确调用C/C++原生库的P/Invoke和LibraryImport技能。涵盖函数签名映射、字符串编组、内存生命周期管理及跨平台模式,适用于编写新声明、审查现有代码或调试原生互操作性问题。
从C/C++头文件编写新的P/Invoke或LibraryImport声明
审查P/Invoke签名的正确性
调试AccessViolationException或内存泄漏等原生边界错误
将DllImport迁移至LibraryImport以支持AOT
npx skills add dotnet/skills --skill dotnet-pinvoke -g -y
用于使用C# SDK和.NET模板创建MCP服务器项目。涵盖脚手架生成、工具/提示/资源实现及stdio或HTTP传输配置。适用于从零搭建或扩展MCP服务,不用于调试、测试或发布。
创建新的MCP服务器项目
为现有MCP服务器添加工具或资源
选择并配置stdio或HTTP传输方式
设置ASP.NET Core托管的HTTP MCP端点
npx skills add dotnet/skills --skill mcp-csharp-create -g -y
用于本地运行、调试和交互式测试C# MCP服务器。涵盖IDE配置、MCP Inspector协议测试、GitHub Copilot集成及日志设置。适用于诊断工具注册问题,不用于创建新项目或生产部署。
本地运行C# MCP服务器
配置VS Code或Visual Studio进行调试
使用MCP Inspector测试工具
验证Copilot Agent模式中的工具
诊断工具未发现或协议错误
npx skills add dotnet/skills --skill mcp-csharp-debug -g -y
用于C# MCP服务器的自动化测试,涵盖工具方法的单元测试及基于MCP协议的全流程集成测试。支持xUnit/NUnit框架、依赖模拟、内存客户端/服务器交互及HTTP传输测试,适用于CI管道构建与质量评估。
需要为C# MCP服务器编写单元测试或集成测试
配置MCP服务器的CI测试流水线
验证MCP工具的方法逻辑或完整协议交互
npx skills add dotnet/skills --skill mcp-csharp-test -g -y
指导在.NET 8+应用中选择合适的AI/ML技术栈,涵盖ML.NET、MEAI、MAF等库的分类决策与选型指南。
需要为.NET项目选择AI或机器学习技术方案
涉及LLM集成、RAG、本地推理或传统ML模型部署
npx skills add dotnet/skills --skill technology-selection -g -y
指导将 .NET 8 前的 Blazor Server 应用迁移至 Blazor Web App,涉及项目配置更新、路由重构及认证状态迁移。
需要将 Blazor Server 应用升级为 Blazor Web App
准备将 .NET 6/7 Blazor Server 迁移到 .NET 8+
npx skills add dotnet/skills --skill convert-blazor-server-to-webapp -g -y
指导创建或审查Blazor组件(.razor),涵盖参数、生命周期、异步模式及代码结构。适用于不涉及JS互操作的纯C#组件开发。
编写新的Blazor组件
审查Blazor组件架构
处理组件生命周期和异步逻辑
npx skills add dotnet/skills --skill author-component -g -y
提供Blazor中表单构建、数据验证及用户输入处理指南,涵盖EditForm配置、双向绑定、SSR与交互模式适配及提交逻辑。
在Blazor项目中创建表单或输入控件
实现表单数据验证和提交逻辑
处理不同渲染模式下的表单绑定
npx skills add dotnet/skills --skill collect-user-input -g -y
为 Blazor Web App 配置身份验证与授权,支持不同渲染模式。涵盖服务注册、路由保护、页面属性及 UI 组件集成,解决认证状态异常问题。
需要添加页面或组件的身份验证
配置基于角色或策略的访问控制
处理 Blazor 渲染模式下的认证状态
npx skills add dotnet/skills --skill configure-auth -g -y
指导在 Blazor 中跨组件共享状态,涵盖子树、全局及可变状态场景。提供 CascadingValue、CascadingValueSource 及 Scoped Service 的使用规范与代码示例。
需要在无直接父子关系的组件间共享状态
需要跨渲染模式边界传递数据
实现购物袋或通知计数等全局可变状态
npx skills add dotnet/skills --skill coordinate-components -g -y
用于规划复杂的 Blazor UI 功能,将页面分解为可组合的独立组件。通过分析视觉区域、分类组件及设计数据流,避免创建单体大组件,适用于多区域仪表板或复杂布局的设计与拆解。
规划包含多个区域的复杂 Blazor 页面
将大型 UI 功能分解为可组合组件
设计具有侧边栏和内容面板的多部分布局
npx skills add dotnet/skills --skill plan-ui-change -g -y
为ASP.NET Core项目生成Razor Pages、Blazor、MVC或Minimal API代码,支持EF Core数据驱动CRUD,无需CLI工具。
需要生成ASP.NET Core的CRUD页面或API端点
基于模型和DbContext生成数据驱动UI组件
npx skills add dotnet/skills --skill create-datadriven-aspnetcore -g -y
用于解析Android Tombstone文件中的.NET原生崩溃堆栈,通过提取BuildId从微软符号服务器下载调试符号并使用llvm-symbolizer进行符号化,将原生帧还原为函数名、源码文件和行号。
分析.NET MAUI或Mono Android应用的tombstone崩溃日志
定位libmonosgen-2.0.so等原生库的崩溃原因
npx skills add dotnet/skills --skill android-tombstone-symbolication -g -y


