Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"name": "dotnet-agent-skills",
"owner": {
"name": ".NET Team at Microsoft"
},
"interface": {
"displayName": ".NET Agent Skills"
},
"plugins": [
{
"name": "dotnet",
"source": "./plugins/dotnet",
"description": "Collection of core .NET skills for handling common .NET coding tasks."
},
{
"name": "dotnet-data",
"source": "./plugins/dotnet-data",
"description": "Skills for .NET data access and Entity Framework related tasks."
},
{
"name": "dotnet-diag",
"source": "./plugins/dotnet-diag",
"description": "Skills for .NET performance investigations, debugging, and incident analysis."
},
{
"name": "dotnet-msbuild",
"source": "./plugins/dotnet-msbuild",
"description": "Comprehensive MSBuild and .NET build skills: failure diagnosis, performance optimization, code quality, and modernization."
},
{
"name": "dotnet-nuget",
"source": "./plugins/dotnet-nuget",
"description": "NuGet and .NET package management: dependency management and modernization."
},
{
"name": "dotnet-upgrade",
"source": "./plugins/dotnet-upgrade",
"description": "Skills for migrating and upgrading .NET projects across framework versions, language features, and compatibility targets."
},
{
"name": "dotnet-maui",
"source": "./plugins/dotnet-maui",
"description": "Skills for .NET MAUI development: environment setup, diagnostics, troubleshooting, navigation, data binding, dependency injection, layout, and theming."
},
{
"name": "dotnet-ai",
"source": "./plugins/dotnet-ai",
"description": "AI and ML skills for .NET: technology selection, LLM integration, agentic workflows, RAG pipelines, MCP, and classic ML with ML.NET."
},
{
"name": "dotnet-template-engine",
"source": "./plugins/dotnet-template-engine",
"description": ".NET Template Engine skills: template discovery, project scaffolding, and template authoring."
},
{
"name": "dotnet-test",
"source": "./plugins/dotnet-test",
"description": "Skills for running, diagnosing, and migrating .NET tests: test execution, filtering, platform detection, and MSTest workflows."
},
{
"name": "dotnet-aspnet",
"source": "./plugins/dotnet-aspnet",
"description": "ASP.NET Core web development skills including middleware, endpoints, real-time communication, and API patterns."
}
]
}
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ If your skill does not fit any existing plugin, consider creating a new one.
To create a new plugin:

1. Add `plugins/<plugin-name>/plugin.json` and a `skills/` directory beneath it.
2. Add a matching entry in `.github/plugin/marketplace.json`, `.claude-plugin/marketplace.json`, and `.cursor-plugin/marketplace.json`. Keep plugin entries consistent across all marketplace manifests (including `plugins[].source` format) to reduce drift and make future updates safer.
2. Add a matching entry in `.github/plugin/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, and `.agents/plugins/marketplace.json`. Keep plugin entries consistent across all marketplace manifests (including `plugins[].source` format) to reduce drift and make future updates safer.
3. Add a CODEOWNERS entry for the new plugin and its tests (see [Code ownership](#code-ownership)).
4. Add the plugin to the **What's Included** table in the root `README.md`.
5. Create a `tests/<plugin-name>/` directory for skill tests.
Expand Down
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,29 @@ For local development or unpublished changes, import plugins from a local checko
Skills in this repository follow the [agentskills.io](https://agentskills.io) open standard
and are compatible with [OpenAI Codex](https://developers.openai.com/codex/skills).

Install individual skills using the `skill-installer` CLI with the GitHub URL:
#### Plugin marketplace (recommended)

Codex CLI v0.121.0 and later supports a [plugin marketplace](https://developers.openai.com/codex/plugins).
This repository ships a Codex-native marketplace manifest at `.agents/plugins/marketplace.json`,
so you can register `dotnet/skills` as a marketplace and install plugins from it directly.

1. Add the marketplace:
```bash
codex plugin marketplace add dotnet/skills
```
2. Launch Codex and open the plugin browser:
```
/plugins
```
3. Browse the `dotnet-agent-skills` tab and install the desired plugins.
4. Update plugins on demand:
```bash
codex plugin marketplace upgrade dotnet-agent-skills
```

#### Individual skills

You can also install individual skills using the `skill-installer` CLI with the GitHub URL:

```bash
$ skill-installer install https://github.com/dotnet/skills/tree/main/plugins/<plugin>/skills/<skill-name>
Expand Down