Agent Skills
› dotnet/skills
dotnet/skills
GitHub用于在 VS Code 中创建自定义 Agent 文件(.agent.md),定义 AI 角色、可用工具及工作流交接,支持从零搭建或配置多步协作流程。
安装全部 Skills
npx skills add dotnet/skills --all -g -y
集合内 Skills (107)
按质量分展示前 50 个(共 107 个),完整列表请用安装命令预览或逐个打开详情。
用于在 VS Code 中创建自定义 Agent 文件(.agent.md),定义 AI 角色、可用工具及工作流交接,支持从零搭建或配置多步协作流程。
创建新的自定义 Agent
生成 .agent.md 脚手架文件
配置 Agent 间的工作流交接
npx skills add dotnet/skills --skill create-custom-agent -g -y
为 Agent 技能生成符合 Vally 规范的 eval.yaml 评估规范文件,包括编写刺激用例、定义评分器和基准,确保测试具备统计效力并避免过拟合。
创建新的技能评估规范
编写评估刺激数据
设置测试夹具文件
定义评分器和基准
npx skills add dotnet/skills --skill create-skill-test -g -y
用于在dotnet/skills仓库中从零创建新的Agent Skill。它负责生成符合规范的SKILL.md文件、设置目录结构、编写路由描述及验证名称,不包含修复现有技能或编写测试用例的功能。
从零开始创建新的Agent Skill
生成带有正确Frontmatter的SKILL.md文件
设置Skill目录结构
确保符合agentskills.io规范
npx skills add dotnet/skills --skill create-skill -g -y
诊断并修复技能评估中出现的回归、未激活或超时等问题。通过分析证据分类失败原因(如夹具、规范或可靠性),提供针对性修复方案,避免误改技能内容。
评估结果出现回归或表现不佳
技能未能正确激活
评估运行超时或无结果
技能成本过高或需决定强化/退役
npx skills add dotnet/skills --skill improve-skill-quality -g -y
作为 GitHub Agentic Workflows 的路由分发器,根据用户请求识别任务类型(设计、创建、更新、调试或升级),并加载对应的提示词或技能文件进行响应。
设计 Agentic Workflow
创建新的 Agentic Workflow
调试或排查 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密钥。支持新项目初始化及从API Key迁移,涵盖项目分类评估、工作流创建及安全规范,仅限nuget.org。
设置NuGet可信发布
从API密钥迁移到OIDC
询问无密钥或安全NuGet发布
从零开始创建NuGet发布工作流
npx skills add dotnet/skills --skill nuget-trusted-publishing -g -y
指导在ASP.NET Core应用中配置OpenTelemetry SDK,实现分布式追踪、指标和日志收集。涵盖NuGet包安装、OTLP导出器设置及自定义信号创建,用于提升应用可观测性。
配置分布式追踪
设置OpenTelemetry导出器
添加自定义指标或Span
npx skills add dotnet/skills --skill configuring-opentelemetry-dotnet -g -y
指导创建和修改ASP.NET Core Web API端点,涵盖HTTP语义、OpenAPI文档、DTO定义及全局错误处理。适用于控制器或Minimal API开发,不适用于EF Core、前端或gRPC。
添加新的Web API端点
配置OpenAPI/Swagger元数据
创建HTTP测试文件
设置全局错误处理中间件
npx skills add dotnet/skills --skill dotnet-webapi -g -y
指导在ASP.NET Core Minimal API (.NET 8+)中实现文件上传,涵盖IFormFile绑定、大小限制配置及流式处理,解决常见坑点。
需要实现文件上传接口
配置Kestrel或FormOptions限制
处理多文件上传
npx skills add dotnet/skills --skill minimal-api-file-upload -g -y
指导创建新的 ASP.NET Core Blazor Web 应用。通过收集需求并选择渲染模式(静态 SSR、交互式 Server/WASM/Auto),使用 dotnet new 命令生成项目结构,适用于新项目脚手架搭建。
创建新的 Blazor 项目
初始化 Web 应用骨架
选择 Blazor 渲染模式
npx skills add dotnet/skills --skill create-blazor-project -g -y
指导在Blazor中通过HttpClient获取和发送数据,涵盖不同渲染模式下的生命周期管理、依赖注入及错误处理。
Blazor组件需要调用外部API
处理前端数据加载与状态展示
npx skills add dotnet/skills --skill fetch-and-send-data -g -y
解决Blazor预渲染与交互模式切换时的数据重复加载、UI闪烁及状态丢失问题。提供持久化状态方案,禁用预渲染或检测预渲染状态的方法,优化从静态HTML到交互式运行时过渡的体验。
修复预渲染导致的数据重复请求
解决预渲染到交互模式切换时的UI闪烁
保持组件在预渲染和交互阶段的状态一致性
检测当前是否处于预渲染阶段
npx skills add dotnet/skills --skill support-prerendering -g -y
指导Blazor中JS互操作的最佳实践,涵盖模块管理、生命周期时机、跨边界性能优化及资源释放,确保.NET与JavaScript安全高效交互。
需要在Blazor组件中调用JavaScript函数
需要修复或审查Blazor的JS互操作代码
处理IJSRuntime或DotNetObjectReference的生命周期
npx skills add dotnet/skills --skill use-js-interop -g -y
诊断并优化 Entity Framework Core 查询性能,解决 N+1、全表扫描等问题。通过查看生成的 SQL,应用最小改动减少数据库往返和重复行,提升查询速度。仅适用于 EF Core,不适用于 Dapper 或 ADO.NET。
EF Core 查询缓慢
检测到 N+1 查询模式
生成的 SQL 语句过多
数据库 CPU/IO 因 ORM 低效而升高
npx skills add dotnet/skills --skill optimizing-ef-core-queries -g -y
扫描C#/.NET代码中的性能反模式,涵盖异步、内存、字符串等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性能诊断数据(如Trace/Dump),适用于排查高CPU、内存泄漏等问题。
排查生产环境.NET性能问题
选择诊断工具或收集性能数据
npx skills add dotnet/skills --skill dotnet-trace-collect -g -y
为现代.NET应用(CoreCLR/NativeAOT)配置和收集崩溃转储,支持多平台及容器环境。仅限采集动作,不包含分析、调试或代码修改。
需要启用自动崩溃转储
从运行中的.NET进程捕获转储文件
npx skills add dotnet/skills --skill dump-collect -g -y
审计.NET测试中Mock的使用情况,通过追踪生产代码执行路径,识别并分类死代码、不可达、冗余或可替换的Mock设置,支持Moq等框架。
审计Mock使用
查找未使用的Mock
简化测试配置
npx skills add dotnet/skills --skill exp-mock-usage-analysis -g -y
提供.NET 8+中SIMD向量化的决策指南,指导优先使用Span<T>和TensorPrimitives优化热路径标量循环,否则手动实现Vector128/256/512指令集以加速数值计算。
需要优化C#中的数值计算循环性能
涉及字节、浮点数或整数的批量处理与数学运算
询问如何在.NET中使用SIMD指令进行代码重构
npx skills add dotnet/skills --skill exp-simd-vectorization -g -y
分析 MSBuild 二进制日志 (.binlog) 以诊断构建失败、级联错误及目标执行顺序。支持通过 MCP 服务器或文本回放方式解析,适用于控制台输出不清晰的复杂构建问题排查。
MSBuild 构建失败且原因不明
多项目构建中的级联故障诊断
需要追踪 MSBuild 目标执行顺序
无法从磁盘获取原始项目文件时的内部数据查询
npx skills add dotnet/skills --skill binlog-failure-analysis -g -y
指导在MSBuild中配置CopyToOutputDirectory模式,对比Never、PreserveNewest、Always和IfDifferent的适用场景与性能影响,旨在消除不必要的构建开销并处理文件变异问题。
优化构建性能
解决增量构建中的文件复制问题
处理构建间被修改的输出文件
npx skills add dotnet/skills --skill copy-to-output-directory -g -y
指导在CLI环境中启用MSBuild Server以加速增量构建,通过设置环境变量实现持久化缓存,解决CLI构建慢于IDE的问题。
开发者报告命令行增量构建速度慢
发现CLI构建明显慢于IDE构建
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的API映射
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
提供多语言代码测试的特定指导文件路径,辅助code-testing流水线生成和修复测试。支持.NET、Python、Java等主流语言,包含构建命令、框架适配及示例。
需要为特定编程语言生成单元测试或集成测试时
code-testing代理需要获取语言特定的测试规范和错误处理指南时
npx skills add dotnet/skills --skill code-testing-extensions -g -y
提供跨平台测试过滤语法参考,涵盖VSTest及MTP(MSTest/NUnit/xUnit v3/TUnit)的过滤表达式、属性与操作符,供其他技能调用以支持测试运行和迁移场景。
查询测试过滤语法
配置dotnet test过滤器
迁移VSTest到MTP过滤规则
npx skills add dotnet/skills --skill filter-syntax -g -y
静态分析技能,用于快速识别未测试的源代码文件。通过Roslyn或tree-sitter解析源码与测试文件的类型引用关系,生成配对映射和测试缺口列表,辅助决定下一步测试目标,无需编译或运行构建。
询问哪些文件没有测试
寻找未测试的源码
获取测试缺口工作列表
在编写新测试前确定优先级
npx skills add dotnet/skills --skill find-untested-sources -g -y
提供检测.NET项目测试平台(VSTest/MTP)和框架(MSTest/xUnit等)的逻辑,供其他技能调用以识别测试配置。
需要识别项目使用的测试框架或平台时
运行测试、热重载或迁移测试平台前
npx skills add dotnet/skills --skill platform-detection -g -y
指导开发者通过添加[DynamicallyAccessedMembers]等注解修复.NET项目的IL裁剪和Native AOT兼容性警告,严禁错误抑制警告。
修复裁剪警告
解决IL分析器警告
使项目兼容Native AOT
npx skills add dotnet/skills --skill dotnet-aot-compat -g -y
用于安全编写、编辑和审查 GitHub Actions 工作流 YAML,解决语法陷阱(如注释截断),确保文件能被 GitHub Actions 正确加载。通过 actionlint 验证语法结构,避免无效提交导致运行失败。
编辑或添加 .github/workflows/ 下的文件
编写包含 ${{ }} 表达式的 YAML 值
诊断因工作流文件问题导致的运行失败
决定 YAML 标量是否需要引号
npx skills add dotnet/skills --skill authoring-github-workflows -g -y
指导在.NET中通过P/Invoke或LibraryImport调用C/C++原生库,涵盖签名映射、内存管理及跨平台适配。用于编写新声明、审查代码或调试崩溃与内存泄漏。
从C/C++头文件编写新的P/Invoke声明
审查P/Invoke签名正确性
调试访问违规或内存泄漏
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及本地推理等场景。适用于分类、LLM集成、RAG及智能体工作流开发,排除非.NET 8或纯深度学习训练项目。
需要为.NET项目选择AI/ML技术栈
实现LLM集成、RAG管道或智能体工作流
进行结构化数据机器学习任务
npx skills add dotnet/skills --skill technology-selection -g -y
指导将 .NET 8 前的 Blazor Server 应用迁移至 Blazor Web App 模型,涉及项目配置、入口组件重构及认证状态迁移。
需要将 Blazor Server 应用升级为 Blazor Web App
准备启用 .NET 8+ 的流式渲染和增强导航功能
npx skills add dotnet/skills --skill convert-blazor-server-to-webapp -g -y
指导创建或审查Blazor组件(.razor)的最佳实践,涵盖参数设计、事件回调、生命周期管理、异步模式及资源释放。适用于不含JS互操作的纯C# Blazor开发场景。
编写新的Blazor组件
审查Blazor组件架构
实现RenderFragment插槽
处理组件生命周期与异步
npx skills add dotnet/skills --skill author-component -g -y
指导在Blazor中构建表单、验证数据及处理用户输入,涵盖EditForm配置、绑定模式、内置组件及不同交互模式下的适配方案。
需要创建或修改Blazor表单
实现数据验证逻辑
处理用户输入绑定
npx skills add dotnet/skills --skill collect-user-input -g -y
为Blazor Web App配置身份认证与授权,涵盖服务注册、路由拦截、页面保护及UI状态处理,适配不同渲染模式。
需要添加[Authorize]属性或AuthorizeView
配置登录/注销Identity页面
处理AuthenticationStateProvider状态
npx skills add dotnet/skills --skill configure-auth -g -y
提供Blazor中跨组件共享状态的方案,涵盖CascadingValue、CascadingValueSource及Scoped服务,解决非父子组件间的数据传递与状态同步问题。
需要在不同组件间共享状态
跨渲染模式边界传递数据
实现全局主题或用户偏好设置
npx skills add dotnet/skills --skill coordinate-components -g -y
用于规划复杂 Blazor UI 功能,将页面分解为可组合的组件。识别视觉区域、设计组件树及数据流,避免单体组件,适用于多部分仪表板或布局规划。
构建包含多个部分的复杂 Blazor 页面
规划组件分解与层级关系
设计多部分仪表板或布局
npx skills add dotnet/skills --skill plan-ui-change -g -y
为ASP.NET Core项目生成代码脚手架,支持Razor Pages、Blazor、MVC控制器及Minimal API。基于自然语言指令和EF Core数据上下文,自动创建CRUD页面、视图或API端点,确保符合现有CSS框架与编码规范,不依赖CLI工具。
需要为ASP.NET Core模型生成CRUD功能
添加新的API端点或Web页面
集成Entity Framework Core进行数据操作
npx skills add dotnet/skills --skill create-datadriven-aspnetcore -g -y
解析Android tombstone中的.NET原生崩溃堆栈,通过BuildId从微软符号服务器下载调试符号,并利用llvm-symbolizer还原函数名、源码文件及行号,辅助定位MAUI/Mono应用的原生信号问题。
分析Android应用原生崩溃日志
还原.NET运行时C++堆栈信息
排查SIGSEGV等原生异常
npx skills add dotnet/skills --skill android-tombstone-symbolication -g -y
用于解析Apple平台.NET应用崩溃日志(.ips),提取UUID和地址,定位dSYM符号并调用atos生成含源码行号的函数名,辅助排查.NET MAUI/Mono崩溃。
分析iOS/macOS .NET应用崩溃日志
将原生堆栈还原为.NET源码位置
npx skills add dotnet/skills --skill apple-crash-symbolication -g -y
指导使用BenchmarkDotNet进行.NET代码微基准测试,涵盖设计、配置、运行及对比分析。排除性能剖析和负载测试。
需要测量.NET代码性能
使用BenchmarkDotNet创建或运行基准测试
npx skills add dotnet/skills --skill microbenchmarking -g -y
分析.NET测试代码的可维护性,检测重复样板、复制粘贴测试及结构冗余。提供重构建议,支持MSTest/xUnit等框架,旨在减少重复并优化测试结构,不执行实际修改。
用户要求减少测试代码重复或样板化
用户希望将复制粘贴的测试转换为数据驱动测试
用户询问测试套件中的重复模式或重构机会
npx skills add dotnet/skills --skill exp-test-maintainability -g -y


