diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json new file mode 100644 index 0000000000..e69e40b798 --- /dev/null +++ b/.agents/plugins/marketplace.json @@ -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." + } + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1f405deb93..6fb8838fb1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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.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//` directory for skill tests. diff --git a/README.md b/README.md index 8d8de333e0..df1e133e47 100644 --- a/README.md +++ b/README.md @@ -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//skills/