* Fix Copilot PAT rotation for gh-aw v0.77.5 runtime
The PAT-rotation stop-gap wired the rotated token into engine.env via needs.pre_activation.outputs.copilot_pat_number. Because the compiled agent job depends only on 'activation' (not the built-in 'pre_activation'), that needs reference evaluated to an empty string in the agent job, so the case() fell through to the default COPILOT_GITHUB_TOKEN and rotation never reached the agent. gh-aw v0.77.5 surfaces this as a compiler warning.
Replace the pre_activation step-injection with a 'select_copilot_pat' custom job wired via on.needs. As a user-defined job referenced in engine.env, the compiler makes it a direct dependency of the agent job, so needs.select_copilot_pat.outputs.copilot_pat_number resolves correctly in both the activation and agent jobs. Same action, same secret pool, same case() expression. Recompiled all workflows with gh-aw v0.77.5.
* Add temporary test-pat-rotation workflow to validate rotation
Non-destructive pull_request-triggered workflow that selects a pool token and asserts, in the agent job, that needs.select_copilot_pat.outputs.copilot_pat_number is non-empty (the exact value that was silently empty with the old pre_activation wiring). To be removed after validation.
* Work around gh-aw v0.77.5 invalid-YAML rendering of top-level if
gh-aw v0.77.5 emits the top-level frontmatter `if:` on the built-in
pre_activation job WITHOUT a ${{ }} wrapper. When the condition starts with
`!` (the fork guards), the emitted `if: !(...)` is invalid YAML (a leading `!`
starts a YAML tag), which GitHub rejects as a workflow-file startup failure.
v0.68.3 wrapped it (valid); v0.77.5 does not. Confirmed independent of the
PAT-rotation change via a minimal probe.
Wrap the fork-guard conditions in parentheses so the emitted scalar starts
with `(` instead of `!` (semantically identical). Affects close-stale-prs,
devops-health-check, devops-health-groom, markdown-linter, pr-malicious-scan.
* Update select-copilot-pat README for the custom-job + on.needs pattern
* Remove temporary test-pat-rotation workflow (rotation validated)
.NET Agent Skills
This repository contains the .NET team's curated set of core skills and custom agents for coding agents. For information about the Agent Skills standard, see agentskills.io.
📊 Dashboard - Accuracy and efficiency scoring trends for contained plugins (https://dotnet.github.io/skills/)
What's Included
| Plugin | Description |
|---|---|
| dotnet | Collection of core .NET skills for handling common .NET coding tasks. |
| dotnet-data | Skills for .NET data access and Entity Framework related tasks. |
| dotnet-diag | Skills for .NET performance investigations, debugging, and incident analysis. |
| dotnet-msbuild | Comprehensive MSBuild and .NET build skills: failure diagnosis, performance optimization, code quality, and modernization. |
| dotnet-nuget | NuGet and .NET package management: dependency management and modernization. |
| dotnet-upgrade | Skills for migrating and upgrading .NET projects across framework versions, language features, and compatibility targets. |
| dotnet-maui | Skills for .NET MAUI development: environment setup, diagnostics, and troubleshooting. |
| dotnet-ai | AI and ML skills for .NET: technology selection, LLM integration, agentic workflows, RAG pipelines, MCP, and classic ML with ML.NET. |
| dotnet-template-engine | .NET Template Engine skills: template discovery, project scaffolding, and template authoring. |
| dotnet-test | Skills for running, diagnosing, and migrating .NET tests: test execution, filtering, platform detection, and MSTest workflows. |
| dotnet-aspnetcore | ASP.NET Core web development skills including middleware, endpoints, real-time communication, and API patterns. |
| dotnet-blazor | Skills for Blazor development: component authoring, interactivity, and web application patterns. |
| dotnet11 | Skills for new .NET 11 APIs and language features. |
Installation
🚀 Plugins - Copilot CLI / Claude Code
- Launch Copilot CLI or Claude Code
- Add the marketplace:
/plugin marketplace add dotnet/skills - Install a plugin:
/plugin install <plugin>@dotnet-agent-skills - Restart to load the new plugins
- View available skills:
/skills - View available agents:
/agents - Update plugin (on demand):
/plugin update <plugin>@dotnet-agent-skills
VS Code / VS Code Insiders (Preview)
Important
VS Code plugin support is a preview feature and subject to change. You may need to enable it first.
// settings.json
{
"chat.plugins.enabled": true,
"chat.plugins.marketplaces": ["dotnet/skills"]
}
Once configured, type /plugins in Copilot Chat or use the @agentPlugins filter in Extensions to browse and install plugins from the marketplace.
Cursor
This repository is a Cursor plugin marketplace. You can discover and install published plugins directly in Cursor:
- Open the marketplace panel in Cursor
- Search for
.NETor browse cursor.com/marketplace - Install the desired plugins
For local development or unpublished changes, import plugins from a local checkout:
- Copy or symlink your local checkout to
~/.cursor/plugins/local/dotnet-agent-skills - Restart Cursor or run Developer: Reload Window
Codex CLI
Skills in this repository follow the agentskills.io open standard and are compatible with OpenAI Codex.
Plugin marketplace (recommended)
Codex CLI v0.121.0 and later supports a plugin marketplace.
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.
- Add the marketplace:
codex plugin marketplace add dotnet/skills - Launch Codex and open the plugin browser:
/plugins - Browse the
dotnet-agent-skillstab and install the desired plugins. - Update plugins on demand:
codex plugin marketplace upgrade dotnet-agent-skills
Individual skills
You can also install individual skills using the skill-installer CLI with the GitHub URL:
$ skill-installer install https://github.com/dotnet/skills/tree/main/plugins/<plugin>/skills/<skill-name>
Contributing
See CONTRIBUTING.md for contribution guidelines and how to add a new plugin.
License
See LICENSE for details.