Agent Skills
› dotnet/skills
dotnet/skills
GitHub用于在 VS Code 中创建自定义 AI Agent 配置文件(.agent.md),支持定义角色、工具集及多步工作流交接。
Install All Skills
npx skills add dotnet/skills --all -g -y
Skills in Collection (110)
Showing top 50 of 110 by quality score. Use the install list command or open individual skills for the rest.
用于在 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


