Agent Skills
› dotnet/skills
dotnet/skills
GitHub用于创建VS Code自定义代理文件(.agent.md),定义AI角色、工具权限及代理间交接,支持从零构建或配置工作流。
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自定义代理文件(.agent.md),定义AI角色、工具权限及代理间交接,支持从零构建或配置工作流。
创建新的自定义代理
生成.agent.md脚手架文件
配置代理间交接流程
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
用于从零开始创建新的 Agent Skill,生成符合规范的 SKILL.md 文件、Frontmatter 及目录结构。指导名称验证、路由描述编写及合规性检查,不用于修复或测试现有技能。
从零创建新 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
npx skills add dotnet/skills --skill agentic-workflows -g -y
一个用于测试验证器的示例技能,指导在生成问候语时包含用户姓名和基于时间的恰当问候。
生成问候语
npx skills add dotnet/skills --skill sample-skill -g -y
用于在.NET CLI下运行基于文件的C#应用,支持单文件、多文件组合及NuGet包引用。适用于快速验证API、原型开发或小工具构建,避免创建完整项目结构。
用户需要快速测试C#语言特性或API
用户希望在不创建项目的情况下运行小型C#脚本或多文件应用
npx skills add dotnet/skills --skill csharp-scripts -g -y
用于在 GitHub Actions 中配置 NuGet OIDC 可信发布,替代长期 API Key。支持新建仓库快速设置或迁移现有流程,涵盖项目分类、工作流创建及安全规则,仅限 nuget.org。
迁移从 NuGet API Key 到 OIDC 发布
设置 NuGet 可信发布或无密钥发布
询问如何移除 NuGet API Key
从头创建 NuGet 发布工作流
npx skills add dotnet/skills --skill nuget-trusted-publishing -g -y
用于在.NET中设计、实现、优化和审查SIMD代码,包括使用TensorPrimitives或硬件内在函数向量化标量循环,并验证性能、安全性和可移植性。
需要优化.NET代码的CPU密集型计算性能
审查或重构现有的SIMD/向量代码
npx skills add dotnet/skills --skill vectorization -g -y
指导在ASP.NET Core中配置OpenTelemetry,涵盖NuGet包安装、OTLP导出器设置及自定义指标/追踪创建,用于实现分布式可观测性。
添加分布式追踪到ASP.NET Core应用
配置OpenTelemetry OTLP导出器
创建自定义业务指标或追踪跨度
排查跨服务分布式追踪上下文传播问题
npx skills add dotnet/skills --skill configuring-opentelemetry-dotnet -g -y
用于创建和修改ASP.NET Core Web API端点,规范HTTP语义、OpenAPI文档及错误处理。适用于添加新接口、配置Swagger、定义DTO及全局异常中间件,排除EF Core和前端工作。
添加新的Web API控制器或Minimal API端点
配置OpenAPI/Swagger元数据
创建.http测试文件或API测试用例
设置全局错误处理中间件
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
用于使用 Blazor 技术栈创建和初始化 ASP.NET Core Web 应用程序。协助用户根据需求选择合适的渲染模式(如静态 SSR、交互式服务器或 WebAssembly),并配置初始项目结构。
创建新的 Blazor Web 应用
生成 Blazor 项目脚手架
选择 Blazor 渲染模式
npx skills add dotnet/skills --skill create-blazor-project -g -y
指导 Blazor 应用在不同渲染模式下获取和发送数据,涵盖 HttpClient 注册、异步生命周期处理、加载状态展示及全局错误边界机制。
需要调用后端 API 获取或提交数据
Blazor 组件中实现数据加载与错误处理逻辑
npx skills add dotnet/skills --skill fetch-and-send-data -g -y
解决 Blazor 预渲染与交互模式切换时的数据重复加载、UI 闪烁及状态丢失问题,提供持久化状态和禁用预渲染等修复方案。
修复预渲染导致的数据重复加载
解决 UI 闪烁问题
处理预渲染期间的空引用异常
跨预渲染保持组件状态
npx skills add dotnet/skills --skill support-prerendering -g -y
指导在 Blazor 中实现 JS 互操作的最佳实践,涵盖模块组织、生命周期时机、性能批处理及资源清理。
需要调用 JavaScript 从 Blazor
需要从 JavaScript 调用 .NET
配置 IJSRuntime 或 DotNetObjectReference
npx skills add dotnet/skills --skill use-js-interop -g -y
用于诊断和优化 Entity Framework Core (EF Core) 查询性能,解决慢查询、N+1 问题及 SQL 生成过多等瓶颈。通过分析生成的 SQL 日志,应用最小改动修复谓词不可搜索索引等问题,减少数据库往返和扫描次数,提升数据访问速度。
EF Core 查询执行缓慢
出现 N+1 查询或重复行问题
包含多个 Include 导致结果膨胀
深度分页或批量更新性能差
索引列被函数包裹导致全表扫描
npx skills add dotnet/skills --skill optimizing-ef-core-queries -g -y
扫描.NET代码中的性能反模式,提供优化建议。用于代码审查、热点路径审计及发布前性能检查,覆盖异步、内存、LINQ等领域。
审查C#/.NET代码以寻找性能优化机会
审计对分配敏感或低效的热点路径
发布前系统性扫描已知反模式
npx skills add dotnet/skills --skill analyzing-dotnet-performance -g -y
诊断 .NET Framework CLR 激活问题,分析 mscoree.dll 产生的 CLRLoad 日志。适用于运行时加载失败、版本选择错误、FOD 对话框异常或 COM 对象激活失败等场景,专注于 .NET Framework 而非现代 .NET。
进程无法加载 CLR
Shim 选择了错误的 CLR 版本
出现意外的 .NET 3.5 FOD 安装对话框
COM 对象因无法解析运行时而激活失败
npx skills add dotnet/skills --skill clr-activation-debugging -g -y
指导开发者在 .NET 生产环境中捕获诊断数据,根据运行时、OS 和部署拓扑推荐合适的工具(如 dotnet-trace),并指导数据采集过程。
诊断 .NET 性能问题
选择诊断工具
采集性能数据
npx skills add dotnet/skills --skill dotnet-trace-collect -g -y
用于为现代.NET应用(CoreCLR/NativeAOT)配置并收集崩溃转储文件,支持多平台及容器环境。仅限采集,不包含分析或调试功能。
需要自动启用崩溃转储
从运行中的进程捕获转储
在Docker或Kubernetes中设置转储收集
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+中优化热点标量循环,优先使用Span<T>和TensorPrimitives,必要时手动实现SIMD指令集加速数值计算。
需要优化高性能数值计算循环
将标量代码重构为向量化实现
评估代码是否具备SIMD优化潜力
npx skills add dotnet/skills --skill exp-simd-vectorization -g -y
分析 MSBuild 二进制日志以诊断构建失败。支持通过 MCP 工具或命令行回放解析 .binlog,定位编译错误、属性值及目标执行顺序,解决多项目级联故障。
MSBuild 构建报错且控制台信息不足
需要诊断多项目构建的级联失败
追踪 MSBuild 目标执行顺序
分析 .binlog 文件中的嵌入文件或属性
npx skills add dotnet/skills --skill binlog-failure-analysis -g -y
指导MSBuild中CopyToOutputDirectory模式选择,解决Always模式的性能损耗及构建间文件被修改的同步问题。
优化.NET项目构建性能
处理构建间被修改的输出文件同步
npx skills add dotnet/skills --skill copy-to-output-directory -g -y
指导使用 MSBuild Server 提升命令行构建性能。适用于 CLI 增量构建缓慢场景,通过设置环境变量启用服务器缓存,对比 IDE 构建加速效果,并提供验证与故障排除步骤。
开发者报告命令行增量构建速度慢
CLI 构建明显慢于 IDE 构建
CI 代理运行多次连续构建
npx skills add dotnet/skills --skill msbuild-server -g -y
指导开发者正确分析 MSBuild 构建性能,指出 ResolveProjectReferences 耗时包含等待时间,误导优化方向。引导用户通过 Task 自时间定位真实瓶颈。
ResolveProjectReferences 在 Target Performance Summary 中耗时最高
开发者试图直接优化 ResolveProjectReferences
npx skills add dotnet/skills --skill resolve-project-references -g -y
分析多语言测试代码中的断言质量与多样性,识别浅层、无效或重复断言,评估测试是否真正验证了正确性。用于在生成新测试后作为自检步骤,或应请求评估现有测试的深度和覆盖率。
用户要求评估断言质量或深度
用户询问测试是否真正有意义
怀疑测试通过但存在虚假安全感
需要断言覆盖度指标或多样性分析
npx skills add dotnet/skills --skill assertion-quality -g -y
为代码测试流水线提供各语言特定的扩展指导文件路径,辅助Agent获取构建、测试及Mocking等规范。
需要获取特定编程语言的测试指南文件路径
代码测试流水线中引用语言特定最佳实践
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 的测试过滤语法参考,支持按名称、类、命名空间等条件筛选测试用例,辅助测试执行与热重载场景。
需要指定测试运行过滤条件
翻译或构建测试过滤器表达式
配置 MTP 或 VSTest 平台测试参数
npx skills add dotnet/skills --skill filter-syntax -g -y
通过静态分析识别未测试源码文件,辅助测试生成。支持C#(Roslyn)及多语言(tree-sitter),无需编译即可快速输出配对映射。
询问哪些文件没有对应测试
寻找需要添加测试的源码位置
在生成测试前获取未配对源文件列表
npx skills add dotnet/skills --skill find-untested-sources -g -y
对现有测试用例进行标准化特征打标,分析正负路径、边界及关键路径分布,生成覆盖率形状报告。用于审计测试组合、发现覆盖盲区,但不涉及编写新测试或执行质量评估。
审计测试项目以了解测试类型混合情况
为未打标的测试添加特征属性
生成测试套件中特征分布的摘要报告
审查关键路径是否具备足够的覆盖
npx skills add dotnet/skills --skill test-tagging -g -y
解决.NET项目Native AOT和裁剪兼容性问题,通过添加注解修复IL警告。
修复AOT兼容性
解决IL裁剪警告
npx skills add dotnet/skills --skill dotnet-aot-compat -g -y
确保 GitHub Actions Workflow YAML 语法正确,避免表达式被误解析为注释导致运行失败。涵盖引号处理、actionlint 验证及常见陷阱排查。
编辑或审查 .github/workflows/ 下的文件
编写包含 ${{ }} 表达式的 YAML 值
排查 workflow 因语法问题无法启动的问题
npx skills add dotnet/skills --skill authoring-github-workflows -g -y
用于在.NET中正确调用C/C++原生库,涵盖P/Invoke和LibraryImport声明编写、签名审查及跨平台互操作调试。适用于处理内存管理、字符串编组及诊断访问违规等边界问题。
编写新的P/Invoke或LibraryImport声明
审查或调试现有的原生互操作代码
将C/C++库包装供.NET使用
诊断托管与原生边界的崩溃或内存泄漏
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、Agent Framework及ONNX等,用于分类、LLM集成、RAG及本地推理等场景。
需要在.NET项目中集成机器学习或AI功能
选择结构化数据预测或大语言模型相关的技术方案
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组件,涵盖参数传递、事件回调、生命周期管理、异步模式及资源释放等核心规范。
创建新的Blazor组件(.razor)
审查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 组件集成,解决认证状态异常问题。
需要添加 [Authorize] 或 AuthorizeView
配置登录/注销页面或角色策略访问
处理 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页面或视图
需要创建带Entity Framework Core支持的API端点
需要生成符合现有模式的UI组件
npx skills add dotnet/skills --skill create-datadriven-aspnetcore -g -y
解析Android Tombstone中的.NET原生堆栈,提取BuildId和偏移量,从微软符号服务器下载调试符号并使用llvm-symbolizer还原函数名及源码行号。用于排查.NET MAUI或Mono应用的原生崩溃。
Android .NET原生崩溃分析
Tombstone文件符号化
排查SIGSEGV等原生信号
npx skills add dotnet/skills --skill android-tombstone-symbolication -g -y
用于对Apple平台.NET MAUI或Mono应用的崩溃日志进行符号化,将原生回溯帧解析为函数名、源码及行号,辅助排查.NET运行时异常。
分析iOS/macOS .NET应用崩溃日志
将原生堆栈转换为.NET源码位置
排查EXC_BAD_ACCESS等运行时崩溃
npx skills add dotnet/skills --skill apple-crash-symbolication -g -y
指导使用 BenchmarkDotNet 进行 .NET 代码微基准测试,涵盖设计、配置、运行及对比分析,明确排除性能剖析与压力测试场景。
需要创建或配置 BenchmarkDotNet 基准测试
回答涉及 .NET 性能测量与对比的问题
npx skills add dotnet/skills --skill microbenchmarking -g -y


