- 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/msbuild5,552
- 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/msbuild5,552
- 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/msbuild5,552
- Dockerfile And Readme TemplatingModify Cottle templates that generate Dockerfiles and READMEs in dotnet/dotnet-docker.dotnet/dotnet-docker4,872
- Image ManagementManages .NET Docker images including adding images for new .NET versions, new Linux distros (Alpine, Ubuntu, Azure Linux), and new Windows versions. Handles Dockerfile templates, manifest updates, test data, and README generation.dotnet/dotnet-docker4,872
- Merge Main To NightlyCreate a PR to merge main into the nightly branch after a .NET containers release. Use only when specifically asked to "merge main to nightly".dotnet/dotnet-docker4,872
- Porting ChangesPlan and move changes between branches in dotnet/dotnet-docker. Use when asked to port or backport changes.dotnet/dotnet-docker4,872
- Resolving ConflictsUse when merging or cherry-picking changes cause git conflicts.dotnet/dotnet-docker4,872
- Building CodeInstructions for restoring and building the WinForms repository. Use when asked how to restore NuGet packages, build the full solution, build a single project, create packages, or troubleshoot build errors.dotnet/winforms4,859
- Code ModernizationInstructions for modernizing and refactoring existing C# / VB.NET code files. Use when asked to refactor, modernize, clean up, review, or improve existing source files in this repository. Covers upgrading to C# 14 / .NET 10 idioms, comment quality, spelling and grammar fixes, XML documentation, and readability improvements.dotnet/winforms4,859
- Code ReviewReview code changes in dotnet/winforms for concrete problems. Always use this skill when GitHub Copilot code review is requested on a pull request, or when a user asks to review, inspect, audit, or check a PR, branch, commit range, staged changes, uncommitted changes, or local changes in this repository. Supports hosted GitHub.com reviews that post findings directly and interactive reviews of local or remote changes. Focus on correctness, compatibility, native resource and handle lifetime, desigdotnet/winforms4,859
- Coding StandardsC# and .NET coding standards for generating new code files. Use when creating new classes, methods, controls, tests, or any new C# / VB source files in this repository. Covers C# 14 / .NET 10 patterns, naming, formatting, XML docs, WinForms conventions, and performance idioms.dotnet/winforms4,859
- Control Api TestsInstructions for writing unit tests for new public APIs on WinForms controls and components. Covers test project structure, naming conventions, property tests, event tests, OnXxx method tests, SubControl patterns, data attributes, and handle-state verification.dotnet/winforms4,859
- Download SdkInstructions for downloading and installing .NET preview runtime versions required by the WinForms repository. Use when test executables fail with "framework not found" errors or when a specific .NET preview runtime version needs to be installed.dotnet/winforms4,859
- Gdi Rendering TestsInstructions for writing unit tests for Graphics, Bitmap, GraphicsPath, and Font rendering APIs in System.Drawing. Covers bitmap-based verification, integer/float overload testing, version-guarded test blocks, and FluentAssertions patterns for path-point validation.dotnet/winforms4,859
- New Control ApiInstructions for adding new public APIs (properties, methods, events, delegates) to existing WinForms controls or components. Covers API issue tracking, PublicAPI file maintenance, property/event conventions, CodeDOM serialization, design-time attributes, and XML documentation.dotnet/winforms4,859
- Running TestsInstructions for running unit tests, integration tests, and individual tests in the WinForms repository. Use this when asked how to run tests, filter them, use Visual Studio workflows, or troubleshoot test failures.dotnet/winforms4,859
- Using And Extending Gdi PlusInstructions for using GDI, GDI+ for drawing primitives, shapes and processing/rendering bitmaps and rendering Fonts. Also, tenets for adding new APIs to System.Drawing for modernization and improving drawing, imaging, and font features.dotnet/winforms4,859
- Create Snippet FoldersCreates article-relative ./snippets/ directories and returns their paths. Use when a snippet workflow needs folders composed from an article path plus caller-selected platform, conflict-avoidance subject, and code-language segments.dotnet/docs4,769
- Error Consolidation ConsolidateReorganizes a consolidated C# diagnostic article into approved resolution themes. Use after the article's diagnostic set is complete.dotnet/docs4,769
- Error Consolidation Merge ExistingMerges standalone C# diagnostic articles into a consolidated article with redirects and TOC updates. Use after the user approves the source list.dotnet/docs4,769
- Error Consolidation SearchFinds C# diagnostics related to a consolidation theme. Use after setup to review documented and catch-all candidates through explicit approval gates.dotnet/docs4,769
- Error Consolidation SetupCreates a consolidated C# compiler diagnostic article skeleton, TOC entry, and optional seed-code metadata. Use to start a new error-consolidation workflow.dotnet/docs4,769
- Error Consolidation VerifyVerifies a consolidated C# diagnostic article against Roslyn and checks See also links. Use as the final validation and correction phase.dotnet/docs4,769
- Install Guide UpdatesUpdates .NET Linux installation-guide content for supported distribution versions and native dependencies. Use when refreshing Linux install articles, support tables, prerequisites, package lists, or end-of-life notes for .NET 8, .NET 9, and .NET 10.dotnet/docs4,769
- Migrate Code SnippetsMigrates .NET documentation code from the legacy ~/samples/snippets/ location to article-relative ./snippets/ projects for an input article file. Use when replacing legacy [!code-*] references, creating compilable C# and Visual Basic snippet projects, or removing migrated legacy snippets.dotnet/docs4,769
- Push Code SnippetsExtracts inline code blocks from an input .NET documentation article file into article-relative ./snippets/ files and compilable projects. Use when moving fenced C#, Visual Basic, or XAML examples out of Markdown, adding :::code references and snippet markers, or converting embedded samples to standalone snippet projects.dotnet/docs4,769
- Redirect ArticleDeletes a markdown article and creates a redirect entry pointing to a different article. Use when consolidating articles, renaming or moving content, removing outdated documentation, or reorganizing the docs structure while preserving existing URLs.dotnet/docs4,769
- Sort RedirectsSorts redirect entries in Open Publishing redirection JSON files alphabetically by path. Use after adding redirects or when the file becomes unsorted.dotnet/docs4,769
- Agentic Workflow DesignerConversational skill that interviews users to design new agentic workflowsdotnet/Open-XML-SDK4,599
- Agentic WorkflowsRoute gh-aw workflow design/create/debug/upgrade requests to the right prompts.dotnet/Open-XML-SDK4,599
- Binlog AnalysisTriage a build / compile / restore / WarnAsError failure from its MSBuild binary log. Fetches the binlog (a local build's, or a failed dotnet/fsharp Azure DevOps PR build's published artifact) and analyzes it live via the `binlog-mcp` MCP server — structured errors, root-cause diagnosis, and an MSBuild perf X-ray. NOT for test failures or CheckCodeFormatting: a build binlog has no errors there.dotnet/fsharp4,343
- Code CompactionUse when a code/test/comment diff is called bloated, slop, LLM slop, bullshit, WTF, crap, rubbish, embarrassing, overengineered, adhoc, or "not paid by LOC"; or when symptoms include bloated comments, superfluous planning .md / .tools / one-time setup / phase-or-sprint tags, huge-file growth instead of new-file extraction, 5 copy-pasted tests that should be 1 parametrized test, duplicated test setup, reinvented helpers, near-duplicate logic across files, low reuse, 4+ new module-level helpers fodotnet/fsharp4,343
- Creating SkillsCreate custom agent capabilities when discovering novel tools, receiving task-agnostic tips from reviewers, or after researching specialized workflows not covered in existing instructions. Teaches structure, YAML optimization for LLM discoverability, and token efficiency.dotnet/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- Ilverify FailureFix ILVerify baseline failures when IL shape changes (codegen, new types, method signatures). Use when CI fails on ILVerify job.dotnet/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- 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/fsharp4,343
- Release NotesWrite release notes for completed changes. Use when PR modifies tracked paths and needs release notes entry.dotnet/fsharp4,343
- 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/fsharp4,343
- Vsintegration Ide DebuggingFix F# debugging issues (breakpoints, .pdb, sequence points). Build, run VS integration tests, inspect IL/PDB.dotnet/fsharp4,343
- Add AnalyzerUse when adding a new RCS#### diagnostic in roslynator (RCS0 formatting, RCS1 general, RCS9 code-analysis), wiring roslynator_* EditorConfig options, or when docs say CHANGELOG.md, XunitDiagnosticVerifier, or analyzers-testing.md — those are wrong for in-repo contribution.dotnet/roslynator3,477
- Add Compiler Diagnostic FixUse when adding a Roslynator code fix for C# compiler error CS#### or RCF####, editing Diagnostics.xml or CodeFixes.xml, or when compiler-diagnostic-fixes-testing.md shows XunitCompilerDiagnosticFixVerifier or bare DiagnosticId like "CS0106" — in-repo uses AbstractCSharpCompilerDiagnosticFixVerifier and CompilerDiagnosticIdentifiers. Contributor how-to exists but testing page targets NuGet consumers.dotnet/roslynator3,477
- Add RefactoringUse when adding a new RR#### refactoring in roslynator, editing Refactorings.xml, registering in RefactoringContext, or when refactorings-testing.md shows XunitRefactoringVerifier — in-repo uses AbstractCSharpRefactoringVerifier and CHANGELOG.md.dotnet/roslynator3,477
- Deprecate Analyzer Or RefactoringUse when obsoleting or retiring RCS####, RR####, or RCF#### in roslynator, replacing an analyzer with another id, or when tempted to use IsObsolete on an Analyzer entry — analyzers use Status Obsolete, not IsObsolete.dotnet/roslynator3,477
- Fix Analyzer BugUse when fixing a Roslynator analyzer false positive or false negative, RCS####, RR####, or CS####/RCF#### regression, incorrect diagnostic reporting, or bug report citing a specific rule id — not when adding new rules.dotnet/roslynator3,477
- Release RoslynatorUse when shipping a roslynator release, rolling CHANGELOG.md [Unreleased], updating the VS Code extension changelog, creating a GitHub v* release, or optionally tagging cli-v*.dotnet/roslynator3,477
- Agentic Workflow DesignerConversational skill that interviews users to design new agentic workflowsdotnet/extensions3,218
- Agentic WorkflowsRoute gh-aw workflow design/create/debug/upgrade requests to the right prompts.dotnet/extensions3,218
- Bump Openai VersionUpgrade the OpenAI .NET SDK used by Microsoft.Extensions.AI.OpenAI and validate restore, build, unit tests, and configured OpenAI integration tests.dotnet/extensions3,218
- Investigate Npm Feed FailuresDiagnose npm E401 and missing-package failures involving the public dotnet Azure Artifacts feed, including false-green builds and upstream versions not yet saved in the feed.dotnet/extensions3,218
- Run ApichiefRun ApiChief against libraries matching a pattern to emit baselines, summaries, deltas, reviews, or check for breaking changesdotnet/extensions3,218
- Update Otel Genai ConventionsAnalyze OpenTelemetry GenAI semantic-conventions changes (PRs, CHANGELOG snapshots, date ranges, or releases when they exist) and produce compensating change plans for dotnet/extensions. The conventions now live in their own repo at open-telemetry/semantic-conventions-genai and cover gen-ai, mcp, openai, anthropic, aws-bedrock, and azure-ai-inference areas; the previous home was open-telemetry/semantic-conventions under the area:gen-ai label. Use when asked to "update OTel conventions", "check sdotnet/extensions3,218
- Add Cli CommandAdd or change a dotnet CLI command, subcommand, or option across the relevant CLI projects. USE FOR: adding or changing a dotnet CLI command/subcommand, adding a new Option<T> or Argument<T>, registering a subcommand in the command tree, changing an option's help description or a command's runtime message, wiring a command parser, or updating --help output.dotnet/sdk3,217