Jan Krivanek cc0621e2ac Fix Copilot PAT rotation for gh-aw v0.77.5 runtime (#736)
* 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)
2026-06-09 19:58:25 +02:00
2026-04-23 08:13:12 +00:00
2026-03-18 10:45:36 +01:00

.NET Agent Skills

Dashboard

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

  1. Launch Copilot CLI or Claude Code
  2. Add the marketplace:
    /plugin marketplace add dotnet/skills
    
  3. Install a plugin:
    /plugin install <plugin>@dotnet-agent-skills
    
  4. Restart to load the new plugins
  5. View available skills:
    /skills
    
  6. View available agents:
    /agents
    
  7. 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:

  1. Open the marketplace panel in Cursor
  2. Search for .NET or browse cursor.com/marketplace
  3. Install the desired plugins

For local development or unpublished changes, import plugins from a local checkout:

  1. Copy or symlink your local checkout to ~/.cursor/plugins/local/dotnet-agent-skills
  2. 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.

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.

  1. Add the marketplace:
    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:
    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.

S
Description
run-tests: ALWAYS USE before running .NET tests or answering with a test command or flags. Trigger on "run the tests", "exact dotnet test command", one…; optimizing-ef-core-queries: Optimize and improve the performance of slow Entity Framework Core (EF Core) queries: make them generate less SQL, make fewer database round-trips, and return…; analyzing-dotnet-performance: Scans .NET code for ~50 performance anti-patterns across async, memory, strings, collections, LINQ, regex, serialization, and…
Readme 254 MiB
Languages
C# 90.3%
JavaScript 3.6%
PowerShell 2.8%
Python 2.2%
Shell 0.4%
Other 0.6%