Main Features of the dotnet/skills Repository: Extending AI Assistants with .NET Expertise
The dotnet/skills repository provides a modular collection of reusable AI skills and agents that implement the Agent Skills standard to extend coding assistants like Copilot, Claude, and Codex with comprehensive .NET development capabilities.
The dotnet/skills project is a curated catalog of plugins designed to equip AI coding assistants with deep, actionable knowledge of the .NET ecosystem. Hosted at github.com/dotnet/skills, this open-source repository implements the Agent Skills standard (agentskills.io) and delivers specialized capabilities ranging from project scaffolding and MSBuild diagnostics to polyglot test generation and automated framework migration.
Modular Plugin Architecture
The dotnet/skills repository organizes functionality into self-contained plugins located under the plugins/ directory. Each plugin operates as an independent module containing its own metadata, documentation, and skill definitions.
Plugin Structure
Every plugin follows a consistent structure to ensure discoverability and interoperability:
plugin.json– Declares plugin metadata including name, version, dependencies, and entry points for LSP servers or CLI commands.README.md– Provides plugin-specific documentation and usage instructions.skills/– Contains subdirectories for each skill, with aSKILL.mdfile defining parameters, sample prompts, and underlying commands (e.g.,dotnet test,dotnet msbuild).
This architecture allows the dotnet plugin to expose an LSP server for core C# development, while script-based plugins like dotnet-test provide CLI entry points for specialized tasks.
Core Development Plugins
The repository includes specialized plugins covering the entire .NET development lifecycle. Each plugin is documented in its respective README.md under the plugins/ directory.
Foundation and Testing
-
dotnet – Provides core .NET and C# development capabilities including the
setup-local-sdkskill and LSP server integration. Source: [plugins/dotnet/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet/README.md). -
dotnet-test – Comprehensive testing support including execution, generation, analysis, and coverage. Features the
run-testsskill and advanced agents likecode-testing-generatorandtest-quality-auditor. Source: [plugins/dotnet-test/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-test/README.md). -
dotnet-test-migration – Facilitates framework migrations between MSTest, xUnit, and the Microsoft Testing Platform (MTP) via skills like
migrate-mstest-v1v2-to-v3. Source: [plugins/dotnet-test-migration/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-test-migration/README.md).
Build and Package Management
- dotnet-msbuild – Offers build diagnostics, performance analysis, and modernization guidance through skills such as
target-authoring,property-patterns, andeval-performance. Source: [plugins/dotnet-msbuild/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-msbuild/README.md). - dotnet-nuget – Handles package restoration, version conflict resolution, and Central Package Management (CPM) conversion via
convert-to-cpmandupgrade-dependencies. Source: [plugins/dotnet-nuget/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-nuget/README.md).
Migration and Diagnostics
- dotnet-upgrade – Automates project migration across .NET versions, including nullable reference type (NRT) migration and thread-abort removal using the
migrate-projectandenable-nrtskills. Source: [plugins/dotnet-upgrade/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-upgrade/README.md). - dotnet-diag – Specializes in performance tracing and crash symbolication, including the
apple-crash-symbolicationskill. Source: [plugins/dotnet-diag/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-diag/README.md).
Framework-Specific and AI Plugins
- dotnet-aspnetcore, dotnet-blazor, dotnet-maui – Provide specialized skills for middleware configuration, component authoring, JS interop, and mobile app scaffolding.
- dotnet-ai – Supports LLM-driven technology selection, RAG pipelines, and MCP integration through the
technology-selectionskill. Source: [plugins/dotnet-ai/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-ai/README.md). - dotnet-template-engine – Enables template discovery and authoring via
create-templateandtemplate-authoringskills. Source: [plugins/dotnet-template-engine/README.md](https://github.com/dotnet/skills/blob/main/plugins/dotnet-template-engine/README.md).
Agents as Orchestrators
Complex workflows in dotnet/skills are implemented as agents that orchestrate multiple skills in sequence. Unlike individual skills that perform atomic tasks, agents manage end-to-end processes through defined pipelines.
The code-testing-generator agent exemplifies this approach by chaining together:
- Researcher – Analyzes the target API.
- Planner – Designs the test suite structure.
- Implementer – Generates the test code.
- Builder – Compiles and validates syntax.
- Tester – Executes the test suite.
- Fixer – Repairs compilation or logic errors.
- Linter – Ensures code quality standards.
Agents are defined in .github/agents/ or as top-level .md files and can be invoked directly via CLI commands like /agents code-testing-generator.
Polyglot Support and Static Analysis
While dotnet/skills is .NET-centric, several capabilities are language-agnostic. The test-analysis extensions allow skills like detect-static-dependencies to analyze codebases in multiple languages, identifying hard-to-test static calls (e.g., DateTime.Now) and suggesting wrapper interfaces for improved testability.
Quality Assurance and Monitoring
The repository maintains rigorous quality standards through automated validation and monitoring infrastructure.
Skill Validator CI
Every push triggers the skill-validator.yml workflow, which executes the Skill Validator against integration test suites. The validator source resides at eng/skill-validator/src/SkillValidator.csproj, ensuring that each skill remains reliable and performant across updates.
Performance Dashboard
A GitHub Pages dashboard at [eng/dashboard/dashboard.html](https://github.com/dotnet/skills/blob/main/eng/dashboard/dashboard.html) visualizes accuracy and efficiency trends for every skill, providing transparency into plugin performance over time.
Practical Usage Examples
Installing and Discovering Plugins
Add the marketplace and install specific plugins using the Copilot CLI or Claude Code interface:
/plugin marketplace add dotnet/skills
/plugin install dotnet-test@dotnet-agent-skills
/skills
Executing Tests
Run tests with framework auto-detection (MSTest, xUnit, NUnit, TUnit):
/run-tests --project MyApp.sln --filter "Category=Smoke"
Generating Polyglot Tests
Create tests for non-.NET languages using the orchestrator agent:
/code-testing-generator --path src/my_module.py --language python
Upgrading .NET Projects
Migrate projects to newer framework versions:
/migrate-project --project MyApp.csproj --target-framework net9.0
Detecting Static Dependencies
Identify testability issues in C# codebases:
/detect-static-dependencies --project MyLib.csproj
Summary
- Modular Architecture – Self-contained plugins under
plugins/with standardizedplugin.jsonmetadata andSKILL.mddefinitions. - Comprehensive Coverage – 14+ specialized plugins spanning core .NET, testing, MSBuild, NuGet, diagnostics, MAUI, Blazor, and AI integration.
- Agent Orchestration – Complex multi-step workflows (e.g.,
code-testing-generator) chain skills for research, implementation, building, and fixing. - Standards Compliance – Implements the Agent Skills standard (agentskills.io) for interoperability with Copilot, Claude, and Codex.
- Quality Infrastructure – Continuous validation via
skill-validator.ymland the SkillValidator project, plus public dashboards tracking skill accuracy. - Polyglot Capabilities – Test generation and analysis skills support multiple languages beyond .NET through configurable extensions.
Frequently Asked Questions
What is the Agent Skills standard?
The Agent Skills standard (agentskills.io) is an open specification that defines how AI coding assistants discover, install, and invoke reusable capabilities. The dotnet/skills repository implements this standard, allowing skills to be packaged as plugins with declarative metadata in plugin.json files and executed through standardized CLI or LSP interfaces.
How do I install skills from the dotnet/skills repository?
Install plugins through your AI assistant's CLI using marketplace commands. First add the dotnet/skills marketplace with /plugin marketplace add dotnet/skills, then install specific plugins like dotnet-test using /plugin install dotnet-test@dotnet-agent-skills. Once installed, list available skills with /skills or invoke them directly via their slash commands (e.g., /run-tests).
Are dotnet/skills capabilities limited to C# and .NET?
No, while the repository focuses on .NET expertise, many skills support polyglot scenarios. The dotnet-test plugin, for example, includes the code-testing-generator agent that can generate tests for Python, JavaScript, and other languages by loading per-language configurations from test-analysis-extensions. The detect-static-dependencies skill also analyzes codebases to identify testability issues regardless of language.
How does the repository ensure skill reliability?
Quality is enforced through the Skill Validator (source at eng/skill-validator/src/SkillValidator.csproj) and the skill-validator.yml CI workflow. Every push triggers integration tests against all skills, while the GitHub Pages dashboard at [eng/dashboard/dashboard.html](https://github.com/dotnet/skills/blob/main/eng/dashboard/dashboard.html) tracks historical accuracy and performance metrics to detect regressions.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →