- Fabric DeployThe Engineer skill — deploys Fabric items in dependency-ordered waves and remediates issues found during validation. Use when user says "deploy", "create items", "run deployment", "fix deployment issues", "remediate", or after user sign-off is complete. Do NOT use for design (use fabric-design) or testing (use fabric-test).microsoft/fabric-task-flows42
- Fabric DesignThe Architect skill — designs Microsoft Fabric architectures and produces the FINAL architecture handoff. Use when user says "design architecture", "which task flow", "medallion vs lambda", "create architecture", or asks about Fabric architecture patterns. Do NOT use for deployment (use fabric-deploy), testing (use fabric-test), or discovery (use fabric-discover).microsoft/fabric-task-flows42
- Fabric DiscoverCollects intake (project name + problem statement), scaffolds the project, infers architectural signals, and produces a Discovery Brief. This is the DEFAULT first skill — invoke it for ANY new user request that describes a data, analytics, reporting, or integration problem, no matter how it is phrased. The signal mapper handles keyword matching; routing just needs to get the user here first. When in doubt, invoke fabric-discover — a false-positive intake is recoverable; a freelanced answer is nomicrosoft/fabric-task-flows42
- Fabric DocumentSynthesizes all pipeline handoffs into a single human-readable project brief. Use when user says "generate docs", "create documentation", "document the project", or after validation passes. Do NOT use for deployment (use fabric-deploy) or architecture design (use fabric-design).microsoft/fabric-task-flows42
- Fabric HealSelf-healing skill that improves signal mapper keyword coverage and capability coverage (ADR-0002) through iterative problem generation and keyword/capability patching. Use when user says "heal signal mapper", "improve keyword coverage", "improve capability coverage", "generate problem statements", "run healing loop", "patch signal mapper", or asks about "signal mapper gaps" or "capability gaps". Do NOT use for project architecture or deployment.microsoft/fabric-task-flows42
- Fabric TestThe QA skill — reviews architecture for testability, creates test plans from acceptance criteria, and validates deployments. Use when user says "create test plan", "validate deployment", "run validation", "review architecture", "check items", "what should we test", or after architecture is finalized or deployment is complete. Do NOT use for architecture design (use fabric-design) or deployment (use fabric-deploy).microsoft/fabric-task-flows42
- Generate AlertsGenerates randomized alert test data for the alert management system. Use this when asked to create sample alerts, mock data, or populate the system with test events for development and testing.microsoft/GHCP-Lab42
- Grill With DocsGrilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.microsoft/fabric-task-flows42
- HandoffCompact the current conversation into a handoff document for another agent to pick up.microsoft/fabric-task-flows42
- My Skill<TODO: Describe what this skill does and when to use it.>microsoft/GHCP-Lab42
- Practice ExerciseGenerates a hands-on practice exercise for a specified GitHub Copilot feature.microsoft/GHCP-Lab42
- Review ChecklistGenerates a language-specific code review checklist tailored to the files being changed.microsoft/GHCP-Lab42
- Triage AlertsTriages a batch of alerts by severity and urgency, producing a prioritized action plan.microsoft/GHCP-Lab42
- Analyzing Cross Host Route OwnershipDetermines which URLs a partly migrated app is still served by the old .NET Framework host and which the new ASP.NET Core host already answers, by reading both projects and the YARP route table. Use when planning the next wave of a side-by-side migration, before deleting or moving a Framework route, or when deciding whether a route has finished migrating. Also triggers for "which routes still run on the old app", "what is the proxy forwarding", "is this route migrated yet", "what is safe to movemicrosoft/upgrade-agent-plugins41
- Aspire IntegrationAdds Aspire orchestration to an existing repository for inner-loop development and optional Azure deployment readiness. Use when asked to "aspirerify a project", "add Aspire to a solution", "integrate Aspire", "set up an AppHost", "add aspire init", or "orchestrate services with Aspire". Handles CLI setup, TFM compatibility gating, inter-service communication mapping, and delegates AppHost wiring to the Aspire CLI agent skills.microsoft/upgrade-agent-plugins41
- Aspire Version UpgradeUpgrade existing Aspire projects to a newer Aspire version. Also handles TFM upgrades — preferred when the solution contains Aspire projects, since the Aspire version drives the required TFM. Triggers for "upgrade Aspire", "update Aspire version", "move to latest Aspire", or any .NET upgrade request on a solution with Aspire artifacts.microsoft/upgrade-agent-plugins41
- Azure Functions UpgradeUpgrade Azure Functions project from in-process model to isolated worker model. Use when user wants to migrate Azure Functions from in-proc to isolated, upgrade Functions hosting model, or modernize Azure Functions projects.microsoft/upgrade-agent-plugins41
- Azure MigrateMigrates applications to Azure cloud services by starting an app modernization migration session. Use when user wants to migrate to Azure, start Azure migration, get help migrating an application to Azure, see Azure migration options, or start app modernization for Azure. Triggers for "migrate to Azure", "Azure migration", "move to Azure", "cloud migration", and "app modernization" requests.microsoft/upgrade-agent-plugins41
- Building ProjectsBuild tool selection and orchestration for .NET projects during modernization upgrades. Use this skill whenever the agent modifies code files, project files, packages, or configuration and needs to validate the build — which is virtually every upgrade task. Covers: choosing between `dotnet build` and `msbuild.exe`, restore strategy, targeted vs solution builds, resolving MSBuild errors (MSB3086, MSB4019, NETSDK1005, etc.), handling multi-targeting scenarios, resource generation failures with .remicrosoft/upgrade-agent-plugins41
- Building Winforms ApplicationsStructures WinForms applications with Designer-compatible patterns, proper code organization, and build/runtime compatibility. Use when creating or maintaining WinForms projects, working with Form or UserControl classes, organizing InitializeComponent vs application logic, implementing Application.Run patterns, handling Program.cs and ApplicationConfiguration, managing Application.SetHighDpiMode, working with .resx resource files, or troubleshooting Designer serialization issues. Also triggers fmicrosoft/upgrade-agent-plugins41
- Converting To CpmConverts .NET projects and solutions to NuGet Central Package Management (CPM) with Directory.Packages.props. Use when the user wants to centralize, convert, align, or sync NuGet package versions across multiple projects, resolve version conflicts or mismatches, or get versions consistent across a solution or repository. Also triggers when packages are out of sync or drifting across projects.microsoft/upgrade-agent-plugins41
- Converting To Sdk StyleConverts legacy non-SDK-style .NET project files (.csproj, .vbproj, .fsproj) to modern SDK-style format while preserving target frameworks, dependencies, and build behavior. Use when converting old-format .NET projects, migrating from packages.config to PackageReference, or modernizing project files. Also triggers for "convert to SDK style", "modernize csproj", "update project format", "legacy project migration", and "SDK-style conversion".microsoft/upgrade-agent-plugins41
- Creating SkillsCreate, validate, and iteratively improve agent skills that follow Anthropic's best practices. Use this skill whenever someone wants to create a new skill, improve an existing skill, write a SKILL.md, set up a skill directory structure, or needs guidance on skill authoring patterns. Also triggers when users mention "custom instructions", "agent skill", "skill template", or want to codify a workflow into a reusable skill. This skill enforces a create-validate-improve loop that produces productionmicrosoft/upgrade-agent-plugins41
- Creating Winforms Custom ControlsCreates custom controls and UserControls for modern WinForms (.NET 6+). Use when deriving from Control, UserControl, Button, TextBox, or other base controls, implementing custom rendering with OnPaint overrides, creating composite controls with child control composition, adding custom properties with [Browsable], [Category], or [DefaultValue] attributes for Designer support, implementing INotifyPropertyChanged for control properties, handling Layout/LayoutEngine for custom sizing, creating scrolmicrosoft/upgrade-agent-plugins41
- Dashboard CanvasMechanics for opening the Upgrade Dashboard canvas panel — the exact canvasId and instanceId to send, when extensionId is required, how to handle registration errors, and the open_dashboard fallback. Load only on hosts that expose an open_canvas tool and list the Upgrade Dashboard canvas.microsoft/upgrade-agent-plugins41
- Dotnet Arm64 MigrationMigrate one or more .NET projects to run on ARM64 (Apple Silicon, Windows on ARM, Linux/Alpine arm64, cloud arm64 like AWS Graviton / Azure Ampere). Use when the user wants to add arm64 support, target ARM64, build/publish for an arm64 runtime identifier (win-arm64, linux-arm64, linux-musl-arm64, osx-arm64), fix x86/x64 assumptions, resolve missing arm64 native NuGet assets, guard x86 hardware intrinsics, or run on Graviton / Ampere / Apple Silicon. User-initiated — match the user's stated intenmicrosoft/upgrade-agent-plugins41
- Dotnet Framework Version UpgradeUpgrade .NET Framework projects to .NET Framework 4.8.1 (net481), staying on full .NET Framework without migrating to modern .NET (net8.0+). Use when user explicitly asks to upgrade to .NET Framework 4.8.1, upgrade to the latest .NET Framework version, or stay on full/Windows .NET Framework. Preserves legacy vs SDK-style project format unless the user explicitly requests SDK-style conversion.microsoft/upgrade-agent-plugins41
- Dotnet Version UpgradeUpgrade .NET projects to newer .NET versions, including guidance on current release status, support lifecycle (LTS/STS), and recommended upgrade targets.microsoft/upgrade-agent-plugins41
- Fixing Windows Only ModulesHandle Windows PowerShell-only modules (ActiveDirectory, ServerManager, Hyper-V, FailoverClusters, BitLocker, NetSecurity, Dism, Storage, ScheduledTasks, WebAdministration) that are not natively available in PowerShell 7.x, using Import-Module -UseWindowsPowerShell (the WinPS compatibility layer) or implicit remoting. Use during the powershell-51-to-7-upgrade scenario for the Windows-only-module bucket.microsoft/upgrade-agent-plugins41
- Generating Upgrade Test BaselineGenerates behavior-locking tests before a .NET upgrade using the external dotnet-test plugin. Use when executing a generate-test-baseline task for projects with upgrade compatibility risks.microsoft/upgrade-agent-plugins41
- Handling Removed SnapinsHandle PowerShell snap-ins (Add-PSSnapin / Get-PSSnapin / Remove-PSSnapin) that do not exist in PowerShell 7.x. Provides the decision tree between module replacement, implicit remoting into a Windows PowerShell endpoint, and the Windows PowerShell compatibility layer. Use during the powershell-51-to-7-upgrade scenario for the PSSnapin blocker bucket. For the Exchange snap-in specifically, see migrating-exchange-management-shell.microsoft/upgrade-agent-plugins41
- Integrating Autofac With DotnetMigrates Autofac dependency injection configuration from ASP.NET Framework to ASP.NET Core's hosting model while keeping Autofac as the DI container. Use when upgrading projects that use Autofac, migrating Global.asax.cs or Startup.cs DI setup to Program.cs, or integrating AutofacServiceProviderFactory with the generic host. Triggers for Autofac container registration, UseServiceProviderFactory, ContainerBuilder migration, and DependencyResolver removal.microsoft/upgrade-agent-plugins41
- Jsts Framework MigrationMigrate a JavaScript or TypeScript project from one framework to another while preserving behavior, integrations, build workflows, and validation. Covers application-framework migrations (for example Gatsby to Astro, Create React App to Vite) and tooling/test-framework migrations (for example Karma/Jasmine to Vitest). Use for replacing one framework with another; do not use for upgrading packages within the same framework — use typescript-dependencies-upgrade instead.microsoft/upgrade-agent-plugins41
- Managing Blazor Server AuthenticationManages authentication in Blazor Server applications with ASP.NET Core Identity. Solves critical Blazor Server auth issues: HttpContext NULL errors during WebSocket circuits, cookie auth operations failing silently in component handlers, login/logout not working in interactive mode, SignInManager returning null, cascading auth state parameter errors. Configures cascading authentication state and minimal API endpoints for login/logout/register (required for Interactive Server Mode). Covers Blazormicrosoft/upgrade-agent-plugins41
- Managing Blazor Server Data AccessManages data access and state in Blazor Server applications. Solves critical Blazor Server issues: Session NULL in WebSocket circuits, DbContext threading/concurrent operation errors, cart/wizard state loss, scoped lifetime issues, Session NullReferenceException. Configures IDbContextFactory for long-lived circuits (required for ANY Blazor Server app using EF Core), Session/ViewState/Application state alternatives (ProtectedSessionStorage, scoped services, database-backed), and DataSource to sermicrosoft/upgrade-agent-plugins41
- Managing Dotnet Test InstallationInstalls the external dotnet-test plugin when its test-generation agent is unavailable. Use when a user selects AI test generation during an upgrade but code-testing-generator is not loaded.microsoft/upgrade-agent-plugins41
- Managing Legacy Dotnet PackagesManages NuGet packages in old-style .NET Framework projects (.NET Framework 4.x). Handles both packages.config (classic NuGet) and PackageReference in non-SDK-style csproj files. Use when updating, adding, or removing NuGet packages in projects that use packages.config, have old-style csproj format (ToolsVersion attribute), or target .NET Framework without SDK-style project format. Also triggers for "nuget update", "packages.config", "update package in old project", or "HintPath" tasks.microsoft/upgrade-agent-plugins41
- Managing Package ReferencesManages .NET package references and dependencies in project files. Handles adding, removing, and updating PackageReference, ProjectReference, and FrameworkReference items. Supports both standard package management and Central Package Management (CPM) with Directory.Packages.props. Use when modifying NuGet packages, updating package versions, adding project references, working with project files (.csproj, .vbproj, .fsproj) or .props files, or managing CPM configurations. Also triggers for "add pamicrosoft/upgrade-agent-plugins41
- Managing Shared Database SchemaGoverns a SQL database that two hosts read and write at the same time during a side-by-side migration. Use when a legacy .NET Framework app and a new .NET app share one database, point at the same connection string, or must both stay live while the schema changes. Covers which toolchain owns schema changes, expand-then-contract (additive-only) evolution, dual-write and backfill ordering, deployment ordering, and rollback rules. Triggers for "shared database", "who runs migrations", "dual write",microsoft/upgrade-agent-plugins41
- Managing Target FrameworksManages target frameworks in .NET project files (.csproj, .vbproj, .fsproj). Handles adding, removing, replacing, and upgrading target frameworks, including converting between single and multi-targeting. Use when user mentions "add TFM", "remove TFM", "retarget", "upgrade target framework", "change framework version", "multi-target", "switch to net8.0/net9.0/net10.0", or modifies TargetFramework/TargetFrameworks properties.microsoft/upgrade-agent-plugins41
- Managing Winforms Async ApisAdopts modern WinForms async APIs (.NET 9/10) including Control.InvokeAsync, Form.ShowAsync/ShowDialogAsync, and TaskDialog.ShowDialogAsync. Use when replacing Control.Invoke or Control.BeginInvoke with InvokeAsync, converting Form.ShowDialog to ShowDialogAsync, replacing synchronous MessageBox with TaskDialog.ShowDialogAsync, updating UI from background threads or async methods, implementing async event handlers, or migrating from ISynchronizeInvoke patterns. Also triggers for "Control.InvokeAsmicrosoft/upgrade-agent-plugins41
- Managing Winforms Data BindingImplements WinForms data binding patterns with BindingSource, INotifyPropertyChanged, validation, and master-detail scenarios. Use when binding controls using DataBindings.Add, setting up BindingSource with DataSource, implementing INotifyPropertyChanged for automatic UI updates, creating two-way bindings between controls and data objects, using BindingSource.Filter or BindingSource.Sort, implementing master-detail relationships with related BindingSources, handling binding validation with Errormicrosoft/upgrade-agent-plugins41
- Managing Winforms Designer CodeGoverns WinForms Designer-generated code structure and InitializeComponent patterns. Use when writing or reviewing .Designer.cs files, fixing "Designer file cannot be loaded" errors, resolving Designer round-trip issues, validating control instantiation in InitializeComponent, implementing proper Dispose(bool disposing) pattern with components.Dispose(), working with IContainer and components field, troubleshooting Designer serialization failures, organizing Designer code vs application logic semicrosoft/upgrade-agent-plugins41
- Managing Winforms High Dpi LayoutImplements WinForms high-DPI fluent layouts using TableLayoutPanel, FlowLayoutPanel, and DPI-aware design patterns. Use when creating responsive form layouts that must scale across different DPI settings, implementing Per Monitor V2 (PerMonitorV2) DPI awareness, working with TableLayoutPanel.RowStyles/ColumnStyles, using FlowLayoutPanel for dynamic layouts, replacing fixed pixel positioning with container-based layout, troubleshooting DPI scaling issues, or structuring nested layout containers. microsoft/upgrade-agent-plugins41
- Managing Winforms MvvmImplements MVVM pattern in WinForms applications (.NET 8+) with ViewModels, Commands, and DataContext. Use when user explicitly requests MVVM implementation, setting up ViewModel with INotifyPropertyChanged or ObservableObject, implementing ICommand or RelayCommand, wiring Form.DataContext, binding controls to ViewModel properties, creating Commands for button clicks, or separating business logic from UI code. Also triggers for "WinForms MVVM", "ViewModel in WinForms", "INotifyPropertyChanged", microsoft/upgrade-agent-plugins41
- Managing Winforms RenderingImplements custom painting and rendering in WinForms using GDI and GDI+. Use when overriding OnPaint or OnPaintBackground, creating owner-drawn controls, working with Graphics objects, drawing primitives (DrawLine, DrawRectangle, FillEllipse), measuring or rendering text with TextRenderer or Graphics.DrawString, handling Paint events, using BufferedGraphics for double-buffering, or managing resource disposal for Pen, Brush, Font, and Graphics objects. Also triggers for "custom paint WinForms", "microsoft/upgrade-agent-plugins41
- Migrating Adal To MsalMigrates deprecated ADAL (Microsoft.IdentityModel.Clients.ActiveDirectory) to MSAL (Microsoft.Identity.Client) for Azure AD authentication. Use ONLY when Microsoft.IdentityModel.Clients.ActiveDirectory has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where ADAL is still supported.microsoft/upgrade-agent-plugins41
- Migrating Aspnet IdentityMigrates ASP.NET MVC Identity to ASP.NET Core Identity, updating IdentityDbContext, UserManager, SignInManager, authentication middleware, and OWIN cleanup. Use when upgrading ASP.NET MVC projects that use Identity authentication, migrating Identity-based login systems, or converting OWIN-based auth to ASP.NET Core middleware. Triggers for Identity migration, auth upgrade, UserManager refactor, IdentityDbContext conversion, and OWIN removal.microsoft/upgrade-agent-plugins41
- Migrating Aspnet SignalrMigrates the obsolete ASP.NET SignalR (Microsoft.AspNet.SignalR) to ASP.NET Core SignalR (Microsoft.AspNetCore.SignalR) for real-time communication. Use ONLY when Microsoft.AspNet.SignalR has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.AspNet.SignalR is still supported.microsoft/upgrade-agent-plugins41
- Migrating Autofac To Dotnet DiRemoves Autofac entirely and migrates to ASP.NET Core built-in DI by mapping container registrations, lifetimes, and module patterns. Use when upgrading .NET projects that reference Autofac packages, when converting ContainerBuilder registrations, or when replacing Autofac modules with IServiceCollection extensions. Triggers for "replace Autofac", "remove Autofac", "migrate to built-in DI", "convert dependency injection", Autofac.Extensions.DependencyInjection, RegisterType, InstancePerLifetimeSmicrosoft/upgrade-agent-plugins41
- Migrating Azure Functions StartupMigrates Azure Functions projects from in-process Startup hooks (FunctionsStartup, IFunctionsHostBuilder) to the isolated worker model with Program.cs service registration. Use when upgrading Azure Functions from in-process to isolated, migrating Startup.cs to Program.cs, removing Microsoft.Azure.Functions.Extensions, or converting FunctionsHostBuilderContext to HostBuilderContext. Triggers for Startup.cs, FunctionsStartup, ConfigureFunctionsWorkerDefaults, ConfigureFunctionsWebApplication, and microsoft/upgrade-agent-plugins41
- Migrating Azure Functions To V2Migrates Azure Functions projects from legacy HostBuilder or in-process model to the modern Version 2.x pattern using IHostApplicationBuilder and Application Insights. Use when upgrading Azure Functions to isolated worker V2, replacing HostBuilder with FunctionsApplication.CreateBuilder, or adding Application Insights telemetry. Triggers for project files (.csproj, .vbproj, .fsproj) with Microsoft.Azure.Functions.Worker or Microsoft.NET.Sdk.Functions packages, and Program.cs files using HostBuilmicrosoft/upgrade-agent-plugins41
- Migrating Azure Sdk To Track2Migrates deprecated Azure SDK for .NET packages to supported Track 2 replacements across service families and both planes, using the official catalog and .NET design guidelines while preserving behavior. Use when replacing WindowsAzure.Storage, WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus, Microsoft.Azure.KeyVault, Microsoft.Azure.EventHubs, Microsoft.Azure.EventGrid, Microsoft.Azure.Search, Microsoft.Azure.Storage.*, Microsoft.Azure.CognitiveServices.*, Microsoft.Azure.Management.* or *.microsoft/upgrade-agent-plugins41
- Migrating Bond InterfacesMigrates from the obsolete Microsoft.Bond.Interfaces package to the unified Bond.CSharp SDK for Bond serialization. Use ONLY when Microsoft.Bond.Interfaces has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Bond.Interfaces is still supported.microsoft/upgrade-agent-plugins41
- Migrating Cosmosdb Bulk ExecutorMigrates from the deprecated Microsoft.Azure.CosmosDB.BulkExecutor library to the built-in bulk execution support in Microsoft.Azure.Cosmos SDK. Use ONLY when Microsoft.Azure.CosmosDB.BulkExecutor has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Azure.CosmosDB.BulkExecutor is still supported.microsoft/upgrade-agent-plugins41
- Migrating Cryptography NamespacesMigrates System.Security.Cryptography namespace usage from .NET Framework to modern .NET. Analyzes C# source files to detect cryptographic type usage and adds the correct using statements and NuGet packages after the namespace split (X509Certificates, Pkcs, Xml). Use when upgrading .NET Framework projects that reference System.Security.Cryptography, fixing CS0246 errors for X509Certificate2, SignedCms, SignedXml, or other crypto types, or adding missing using statements for cryptography namespacmicrosoft/upgrade-agent-plugins41
- Migrating Csharp Nullable ReferencesEnable nullable reference types in a C# project and systematically resolve all warnings. Use when adopting NRTs in existing codebases, performing file-by-file or project-wide nullable migration, fixing CS8602/CS8618/CS86xx warnings, annotating APIs for nullability, cleaning up null-forgiving operators, or upgrading dependencies with new nullable annotations. Also use when the user asks to "enable nullable", "turn on NRTs", "annotate for nullability", "fix nullable warnings", or "migrate to nullamicrosoft/upgrade-agent-plugins41
- Migrating Data Edm To OdataMigrates the obsolete Microsoft.Data.Edm (OData v1–v3 EDM types) to Microsoft.OData.Edm for OData v4. Use ONLY when Microsoft.Data.Edm has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Data.Edm is still supported.microsoft/upgrade-agent-plugins41
- Migrating Data Odata To Odata CoreMigrates the obsolete Microsoft.Data.OData (OData v1–v3) to Microsoft.OData.Core for OData v4 serialization. Use ONLY when Microsoft.Data.OData has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Data.OData is still supported.microsoft/upgrade-agent-plugins41
- Migrating Data Services ClientMigrates the obsolete Microsoft.Data.Services.Client (WCF Data Services) to Microsoft.OData.Client for OData v4 client access. Use ONLY when Microsoft.Data.Services.Client has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Data.Services.Client is still supported.microsoft/upgrade-agent-plugins41