- Dotnet Aot CompatMake .NET projects compatible with Native AOT and trimming by systematically resolving IL trim/AOT analyzer warnings. USE FOR: making projects AOT-compatible, fixing trimming warnings, resolving IL warnings (IL2026, IL2070, IL2067, IL2072, IL3050), adding DynamicallyAccessedMembers annotations, enabling IsAotCompatible. DO NOT USE FOR: publishing native AOT binaries, optimizing binary size, replacing reflection-heavy libraries with alternatives. INVOKES: no tools — pure knowledge skill.dotnet/dotnet1,285
- Feature CompletenessUse when about to defer useful work — when you catch yourself writing "follow-up", "future work", "out of scope", "v2", "next phase", "tracked in #NNN", "left as a TODO", "known limitation", or proposing to file an issue instead of finishing. Forces a binary decision: do the work now because it meets the product bar, or drop it with a real reason. Applies to feature scope, edge cases, missed optimizer/codegen cases, diagnostics gaps, and half-implemented APIs.dotnet/dotnet1,285
- Flaky Test DetectorDetect flaky tests by scanning recent AzDo CI builds for test failures recurring across multiple unrelated PRs. Use when investigating intermittent failures, CI instability, deciding which tests to quarantine, or checking if RunTestCasesInSequence no-ops are causing parallel-safety issues.dotnet/dotnet1,285
- Fsharp DiagnosticsAlways invoke after editing `.fs` files under `src/Compiler/`. Fast parse/typecheck without `dotnet build`, plus symbol references and inferred type hints. Use whenever the user asks about F# errors, compile errors, type inference, finding usages, or renaming a symbol in the compiler tree.dotnet/dotnet1,285
- Hypothesis Driven DebuggingInvestigate compiler failures, test errors, or unexpected behavior through systematic minimal reproduction, 3-hypothesis testing, and verification. Always re-run builds and tests after changes.dotnet/dotnet1,285
- Ilverify FailureFix ILVerify baseline failures when IL shape changes (codegen, new types, method signatures). Use when CI fails on ILVerify job.dotnet/dotnet1,285
- Integrating Sdk And MsbuildGuides work on the SDK-MSBuild integration boundary. Consult when authoring or modifying SDK targets, working on dotnet CLI to MSBuild invocation, handling project-reference protocol, coordinating cross-repo changes with dotnet/sdk, debugging property resolution or import ordering, working on restore/build/publish/pack target chains, or dealing with Directory.Build.props/targets interaction.dotnet/dotnet1,285
- License Scan Diff InvestigationInvestigate source-build license scan diffs and "Update Source-Build License Scan Baselines and Exclusions" pull requests in dotnet/dotnet. USE THIS whenever a user asks to review license baseline changes, inspect ScanCode results, add verified free and open-source licenses to `s_allowedLicenseExpressions`, choose a scoped exclusion, retain a baseline, or identify false-positive detections. Also use it when a source-build license scan pipeline fails because a `Licenses.*.json` file changed. DO Ndotnet/dotnet1,285
- Maintaining Binary Log CompatibilityGuides changes to MSBuild binary log infrastructure. Consult when modifying BinaryLogger or BinaryLogReplayEventSource, adding new BuildEventArgs types, changing event serialization/deserialization, modifying ProjectImportsCollector, adjusting message importance levels, or making changes that affect .binlog content. Also applies when verifying that behavioral changes are properly reflected in binary log output.dotnet/dotnet1,285
- Make Custom AgentCreate custom GitHub Copilot agents. Use when asked to create, scaffold, or configure a custom agent, declarative agent, or @-invokable chat participant for GitHub Copilot.dotnet/dotnet1,285
- Make Github Actions WorkflowCreate GitHub Actions workflows for CI, automation, or PR management. Use when asked to create, scaffold, or add a GitHub Actions workflow (.yml file under .github/workflows/).dotnet/dotnet1,285
- Make InstructionsCreate and evaluate VS Code file-based instructions (.instructions.md files). Use when asked to create, scaffold, or add file-based instructions for Copilot. Generates scoped instructions and a paired Vally harness eval.dotnet/dotnet1,285
- Make SkillCreate and evaluate new Agent Skills for GitHub Copilot. Use when asked to create, scaffold, or add a skill. Generates SKILL.md, optional resources, and a paired Vally harness eval.dotnet/dotnet1,285
- Merge Dependency UpdatesReview and merge open bot PRs: dependency updates from dotnet-maestro, codeflow from dotnet/dotnet, and OneLoc localization PRs. Produces a clickable dashboard with CI status, review state, and suspicious file flags. Use when you want to triage all open bot PRs in one pass.dotnet/dotnet1,285
- MigrationsImplementation details for EF Core migrations. Use when changing MigrationsSqlGenerator, model diffing, migration operations, HistoryRepository, the Migrator or related classes.dotnet/dotnet1,285
- Model BuildingImplementation details for EF Core model building. Use when changing ConventionSet, ModelBuilder, IConvention implementations, ModelRuntimeInitializer, RuntimeModel, or related classes.dotnet/dotnet1,285
- Multithreaded Task MigrationGuide for migrating MSBuild tasks to multithreaded mode support, including compatibility red-team review. Use this when converting tasks to thread-safe versions, implementing IMultiThreadableTask, adding TaskEnvironment support, or auditing migrations for behavioral compatibility.dotnet/dotnet1,285
- Optimizing Msbuild PerformanceGuides performance optimization for MSBuild engine code. Consult when working on hot paths in evaluation or execution, reducing allocations, choosing collection types, handling strings efficiently, modifying Expander.cs or Evaluator.cs, using Span<T>/stackalloc, caching values, or profiling build performance. Also applies when reviewing PRs for performance regression.dotnet/dotnet1,285
- Pipelines Health CheckCheck health of MSBuild CI pipelines, VS repo PR insertion statuses, and VMR codeflow PRs. Use when asked about pipeline health, build failures, infrastructure issues, CI status, insertion PR status, VMR codeflow status, or for periodic health monitoring.dotnet/dotnet1,285
- PostmortemWrite a postmortem for a regression that escaped to production, broke real users, and traces back to a design flaw worth documenting for future implementors. Only invoke after confirming no existing postmortem or doc covers the same root cause.dotnet/dotnet1,285
- Pr Attention QueueProduce a read-only, actionable ASP.NET Core pull-request attention queue that separates work a human reviewer can act on now from stale or orphaned work that needs rescue. Defaults to the Blazor preset, but supports named presets and ad hoc label/path scopes. USE FOR "what PRs need review", "PR attention queue", "what should I review today", "stale community PRs", "who is the next actor", "show the Blazor queue", or requests to filter the queue by ASP.NET Core labels or changed paths. Returns adotnet/dotnet1,285
- Pr Build StatusRetrieve and analyze Azure DevOps build failures for GitHub PRs. Use when CI fails. CRITICAL: Collect ALL errors from ALL platforms FIRST, write hypotheses to file, then fix systematically.dotnet/dotnet1,285
- Pr DescriptionUse when drafting, proposing, creating, or editing prose for a dotnet/fsharp GitHub PR or issue — body, title, comment, review summary, edits — including bare asks like "open a PR", "ship this", "write up what I did", "summarise the change", "reply on the PR", "edit the issue body", "gh pr create", "gh pr comment", "gh pr edit --body", "gh issue comment", "gh pr review --body". Primary use case is PR descriptions; same rules apply to PR/issue comments and review summaries. Not for labels, reviewdotnet/dotnet1,285
- Project ManagementGitHub issue and project-board management for the dotnet/msbuild repo. Use when asked to file/triage/update issues, post comments, amend issue bodies, move sprints, bulk-update project board fields, or audit items by sprint/status/assignee.dotnet/dotnet1,285
- Proposing Pr RewritesUse when reviewing a PR where duplicated mechanisms, misplaced responsibilities, or competing fixes suggest a substantial design alternative rather than local corrections. Not for isolated bugs, style preferences, or size alone.dotnet/dotnet1,285
- Query PipelineImplementation details for EF Core LINQ query translation, SQL generation, and bulk operations (ExecuteUpdate/ExecuteDelete). Use when changing expression visitors, SqlExpressions, QuerySqlGenerator, ShaperProcessingExpressionVisitor, UpdateExpression, DeleteExpression, or related classes.dotnet/dotnet1,285
- Realsig CodegenDebug and fix --realsig+ (RealInternalSignature) codegen bugs in IlxGen — MethodAccessException / FieldAccessException / TypeAccessException at runtime, IL `private` vs `assembly` visibility, closure and TLR-lift placement (cloc / NestedTypeRefForCompLoc / effectiveCloc / moduleCloc). Use when a program compiles cleanly but crashes only under --realsig+, when IL accessibility differs between realsig modes, or when reasoning about where compiler-synthesized closures/state-machines/quotation helpedotnet/dotnet1,285
- ReleaseOrchestrate an MSBuild release: create the tracking issue, branch, configure DARC channels and subscriptions, bump version in main, final-brand the release branch, insert into VS, and publish post-GA. Covers the full monthly release lifecycle aligned with VS shipping cadence.dotnet/dotnet1,285
- Release NotesGenerate release notes for the dotnet/diagnostics repository. Use when asked to generate release notes, a release summary, or a changelog.dotnet/dotnet1,285
- Release NotesWrite release notes for completed changes. Use when PR modifies tracked paths and needs release notes entry.dotnet/dotnet1,285
- Review Public ApiReview a proposed public API for the dotnet/aspnetcore repo the way the @dotnet/aspnet-api-review team would, and recommend concrete changes to the API shape. USE FOR reviewing an API proposal or api-ready-for-review issue, critiquing a ref-assembly diff, deciding whether a new or changed type/method/overload/property should be added at all, evaluating whether an API change or addition is a good idea, changing/extending an existing API or a shipped default/convention, or checking naming/namespacdotnet/dotnet1,285
- Review Pull RequestReview an identified ASP.NET Core pull request against a complete, frozen, trusted source-and-guidance bundle. Return source-supported findings without publishing.dotnet/dotnet1,285
- Reviewing Compiler PrsPerforms multi-agent, multi-model code review of F# compiler PRs across 19 dimensions including type checking, IL emission, binary compatibility, and IDE performance. Dispatches parallel assessment agents per dimension, consolidates with cross-model agreement scoring, and filters false positives. Invoke when reviewing compiler changes, requesting expert feedback, or performing pre-merge quality checks.dotnet/dotnet1,285
- Reviewing Msbuild CodeReviews MSBuild code changes using a 24-dimension methodology. Activates for code review, PR review, pull request analysis, design review, architecture review, code quality assessment, or style check of MSBuild code. Covers backwards compatibility, ChangeWave discipline, performance, allocation awareness, test coverage, error message quality, logging, string comparison, API surface, target authoring, cross-platform correctness, code simplification, concurrency, naming, SDK integration, evaluatiodotnet/dotnet1,285
- Run ApichiefRun ApiChief in the EF Core repo to emit baselines, summaries, deltas, review files, or breaking-change checks. Use when refreshing `*.baseline.json`, preparing API review artifacts, or validating API changes.dotnet/dotnet1,285
- Running Unit TestsGuide for running MSBuild unit tests efficiently. Use when running, scoping, filtering, or speeding up unit tests in this repository, or when finalizing a change with a heavier validation pass. Covers xUnit v3 + Microsoft.Testing.Platform (MTP) specifics and which `dotnet test` flags do and don't apply.dotnet/dotnet1,285
- ScaffoldingImplementation details for EF Core scaffolding (reverse engineering). Use when changing ef dbcontext scaffold pipeline implementation, database schema reading, CSharpModelGenerator, or related classes.dotnet/dotnet1,285
- Servicing PrCreate EF Core PRs targeting servicing release branches (release/*). Use when working on a PR that targets a release branch, backporting a fix from main, or when the user mentions servicing, patch, or release branch.dotnet/dotnet1,285
- Source Build InvestigationInvestigate source-build failures in local dotnet/dotnet VMR builds and `SB_*` CI legs. USE FOR VMR source-build issues involving prebuilt packages, source-build/source-only failures, source-build-assets (SBRP), package poisoning, repo build ordering, binary detection/removal, or failures limited to `SB_*` jobs. DO NOT USE FOR regular CI test failures, codeflow staleness, dependency flow tracing, crash dumps, or general NuGet package management unrelated to source-build.dotnet/dotnet1,285
- Sqlite AdonetImplementation details for the Microsoft.Data.Sqlite ADO.NET provider. Use when changing files under `src/Microsoft.Data.Sqlite.Core/`.dotnet/dotnet1,285
- Support Hot ReloadMake an ASP.NET Core feature work correctly under .NET Hot Reload, and decide whether a feature needs hot-reload work at all. USE FOR: reviewing or writing a feature that caches type/member metadata (reflection results, compiled accessors, attribute lookups, route/endpoint tables, model metadata, DI activators) and must stay correct when source is edited live; adding a MetadataUpdateHandler or integrating with an existing subsystem refresh mechanism; auditing a PR for missing cache invalidation dotnet/dotnet1,285
- ToolingImplementation details for the EF Core dotnet-ef CLI and tooling. Use when changing dotnet-ef commands, the ef wrapper, EFCore.Tools (PMC), or EFCore.Tasks MSBuild integration.dotnet/dotnet1,285
- TriageUse this skill to triage an incoming issue on the EF Core repo (bug report or feature request). Sets the issue type (bug/feature), assigns EF area labels, attempts to arrive at a minimal repro reproducing the bug, checks whether it represents a regression, finds possible duplicates, etc.dotnet/dotnet1,285
- Update PipelineImplementation details for EF Core SaveChanges and the update pipeline. Use when changing CommandBatchPreparer, UpdateSqlGenerator, ModificationCommand, or related classes.dotnet/dotnet1,285
- Use Bootstrap MsbuildGuide for testing bug reproductions against locally-built MSBuild. Use this when you have a repro project and want to verify a fix works before submitting a PR.dotnet/dotnet1,285
- Validate Blazor FeatureValidate a Blazor feature or regression in a real browser using canonical Components samples before selecting permanent coverage. USE FOR exercising src/Components changes with Playwright; choosing the sample or render mode; proving interactivity; checking browser errors; turning a failure into a temporary JavaScript diagnostic assertion; assessing determinism; investigating producer or timing behavior; replacing arbitrary Selenium sleeps with observable waits or gates; choosing a faithful unit-dotnet/dotnet1,285
- Vsintegration Ide DebuggingFix F# debugging issues (breakpoints, .pdb, sequence points). Build, run VS integration tests, inspect IL/PDB.dotnet/dotnet1,285
- TestingImplementation details for EF Core test infrastructure. Use when changing test fixtures, SQL baseline assertions, test helpers, the test class hierarchy, or when adding new tests.dotnet/dotnet1,272
- Breaking ChangeDrive the .NET SDK breaking-change documentation-and-notification process for a NuGet change that has already been implemented. Invoke this once a NuGet/Home issue (or its implementing NuGet.Client PR) is labeled `Breaking-Change`. It makes sure the correct documentation issues are filed/completed (the NuGet NUxxxx reference-docs issue and the official dotnet/docs breaking-change issue) and helps author the draft notification email to the .NET Breaking Change Notifications alias. Trigger on phradotnet/dotnet1,212
- Cherry Pick CommitCherry-pick (backport/forward-port) one or more commits from one branch onto another, creating a fresh branch and opening a pull request that follows the repository's conventions. Use this whenever the user wants to move, port, backport, or cherry-pick a commit or a merged PR to a release/servicing branch (e.g. "cherry-pick the latest dev commit to 7.9.x", "backport #7576 to release/8.0.x", "port that fix to the release branch"), even if they don't say the exact word "cherry-pick". If the cherrydotnet/dotnet1,212
- Create PrCreate or update a pull request using the NuGet.Client PR template. Use when asked to: create PR, open PR, push and create PR, submit PR, open pull request, send changes for review, update PR description, fix PR body, edit PR description, update the PR.dotnet/dotnet1,212
- Nuget Restore Repro TriageAssists with reproducing and triaging NuGet restore issues. Given a GitHub issue from NuGet/Home, analyzes the issue, extracts repro-relevant data, and writes C# tests in the NuGet.Client repo that reproduce the described scenario. Use for NuGet restore bugs, error code investigations, and test authoring tasks.dotnet/dotnet1,212
- Nullable EnablementEnable C# nullable reference types on files that still have `#nullable disable` in the NuGet.Client codebase. Use this skill whenever the user asks to enable nullable, migrate nullable, remove `#nullable disable`, annotate nullability, or fix nullable warnings for any NuGet project or file. Also trigger when the user mentions a GitHub issue about nullable enablement, references PublicAPI.Shipped.txt annotation updates, or says things like "let's do nullable on X" or "enable nullable for these fidotnet/dotnet1,212
- Pr ReviewReviews a NuGet/NuGet.Client pull request like a senior maintainer — reviews in an isolated workspace by default, or against the reviewer's existing clone (self-review / local changes), builds and tests the affected projects, traces changes across files, and returns high-signal, severity-tagged findings with a merge verdict. Invoke explicitly with a PR number or branch.dotnet/dotnet1,212
- Create PrCreate a pull request using the NuGet.Client PR template. Use when asked to: create PR, open PR, push and create PR, submit PR, open pull request, send changes for review.dotnet/dotnet1,172
- Nuget Restore Repro TriageAssists with reproducing and triaging NuGet restore issues. Given a GitHub issue from NuGet/Home, analyzes the issue, extracts repro-relevant data, and writes C# tests in the NuGet.Client repo that reproduce the described scenario. Use for NuGet restore bugs, error code investigations, and test authoring tasks.dotnet/dotnet1,172
- Nullable EnablementEnable C# nullable reference types on files that still have `#nullable disable` in the NuGet.Client codebase. Use this skill whenever the user asks to enable nullable, migrate nullable, remove `#nullable disable`, annotate nullability, or fix nullable warnings for any NuGet project or file. Also trigger when the user mentions a GitHub issue about nullable enablement, references PublicAPI.Shipped.txt annotation updates, or says things like "let's do nullable on X" or "enable nullable for these fidotnet/dotnet1,172
- Agentic WorkflowsRoute gh-aw workflow design/create/debug/upgrade requests to the right prompts.dotnet/SqlClient994
- Fetch Milestone PrsFetches all merged pull requests for a given GitHub milestone and saves their metadata as individual JSON files. Use this skill when asked to retrieve PRs for a milestone, gather PR data for release notes, or collect milestone PR metadata.dotnet/SqlClient994
- Generate Mstest FilterGenerates well-formed MSTest filter expressions for dotnet test. Use this skill when asked to create a test filter, run specific tests, filter tests by name, class, category, or priority, or when the user describes tests they want to run selectively.dotnet/SqlClient994