Microsoft
- 1.7k skills
- 0 followers
- 2.7k repo stars
- 196 verified
- last week last updated
- ▌ Migrating Mvc Routing · microsoftConverts ASP.NET MVC RouteCollection-based routing to ASP.NET Core endpoint routing with MapControllerRoute in Program.cs. Use when migrating RouteConfig.cs, RouteTable.Routes, routes.MapRoute, routes.MapMvcAttributeRoutes, or RouteCollection to ASP.NET Core. Also triggers for MVC routing upgrade, endpoint routing migration, and conventional route conversion.
- ▌ Converting To Sdk Style · microsoftConverts 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".
- ▌ Migrating Mvc Bundling · microsoftMigrates ASP.NET MVC bundling and minification from System.Web.Optimization to direct script/link tags in ASP.NET Core Razor views. Use when upgrading .NET Framework MVC apps that use BundleTable.Bundles, BundleConfig.cs, ScriptBundle, StyleBundle, @Scripts.Render, or @Styles.Render. Triggers for bundling migration, removing System.Web.Optimization, converting bundle references to static file references, or modernizing script/style includes in .cshtml files.
- ▌ Newtonsoft JSON Migration · microsoftMigrates .NET projects from Newtonsoft.Json to System.Text.Json. Use when user wants to replace Newtonsoft.Json, switch to System.Text.Json, migrate JSON library, or modernize JSON serialization.
- ▌ Winforms Feature Adoption · microsoft bundleAdopts modern WinForms features in .NET 8+ applications including dark mode (Application.SetColorMode, SystemColors), async APIs (Control.InvokeAsync, Form.ShowDialogAsync, TaskDialog.ShowDialogAsync), and MVVM patterns (ViewModels, INotifyPropertyChanged, Commands, DataContext). Use when user requests "modernize WinForms", "add dark mode to WinForms", "implement WinForms MVVM", "add async to WinForms", "use InvokeAsync", "adopt modern WinForms features", or as a post-upgrade enhancement after dotnet-version-upgrade scenario completes. Also triggers for "Application.SetColorMode", "WinForms dark theme", "WinForms async patterns", "WinForms MVVM architecture", "modernize WinForms UI", and "enhance WinForms application". Prerequisite: projects must already target .NET 8+ (dark mode and async require .NET 9+).
- ▌ Typescript Dependencies Upgrade · microsoft bundleUpgrade a JavaScript or TypeScript project's npm dependencies to their latest versions and resolve breaking changes. Use this when asked to upgrade, update, or modernize npm packages in any JavaScript or TypeScript project — including JavaScript-only projects with no tsconfig.json — whether upgrading all packages or specific ones the user names, except when the user is upgrading the typescript package itself (use typescript-compiler-upgrade instead).
- ▌ Migrating Webapi Cors · microsoftMigrates legacy ASP.NET Web API CORS (Microsoft.AspNet.WebApi.Cors) to ASP.NET Core CORS (Microsoft.AspNetCore.Cors). Use ONLY when Microsoft.AspNet.WebApi.Cors has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.AspNet.WebApi.Cors is still supported.
- ▌ Vssdk Sdk Style Conversion · microsoft bundleConverts Visual Studio extension (VSIX/VSSDK) projects from legacy project format to SDK-style. Handles VSSDK-specific concerns including package references, VSIX manifest, VSCT command tables, project capabilities, and solution deploy markers for F5 debugging. Use when asked to "convert VSIX to SDK style", "modernize VS extension project", "migrate VSSDK project", "SDK-style VSIX", or "update extension csproj format".
- ▌ Webforms To Blazor Upgrade · microsoftUpgrade ASP.NET Web Forms projects to modern .NET. Use when the user wants to upgrade, migrate, modernize, port, convert, or move Web Forms / WebForms / .aspx pages to any modern .NET. framework.
- ▌ Migrating Adal To Msal · microsoftMigrates 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.
- ▌ Migrating Webapi Odata · microsoftMigrates legacy ASP.NET Web API OData (Microsoft.AspNet.WebApi.OData) to ASP.NET Core OData (Microsoft.AspNetCore.OData). Use ONLY when Microsoft.AspNet.WebApi.OData has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.AspNet.WebApi.OData is still supported.
- ▌ Fixing Windows Only Modules · microsoftHandle 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-5.1-to-7-upgrade scenario for the Windows-only-module bucket.
- ▌ Migrating Global Asax · microsoftMigrates Global.asax application lifecycle events to ASP.NET Core middleware, startup configuration, and Program.cs. Use when upgrading ASP.NET Framework apps containing Global.asax or Global.asax.cs files. Triggers for "migrate Global.asax", "convert application events", "move Application_Start to Program.cs", "replace Global.asax with middleware", and ASP.NET-to-Core migration involving request lifecycle, error handling, or session management.
- ▌ Migrating Mvc Validation · microsoftMigrates ASP.NET Framework validation to ASP.NET Core including data annotations, custom ValidationAttribute classes, ModelState handling, client-side unobtrusive validation, and FluentValidation integration. Use when upgrading projects that use DataAnnotations, IValidatableObject, RemoteAttribute, custom validation attributes with service dependencies, jquery.validate.unobtrusive, or FluentValidation. Also triggers for ModelState.IsValid migration, ApiController automatic 400 responses, ValidationProblemDetails, and client-side validation script setup in Razor views.
- ▌ Migrating Wcf To Corewcf · microsoftMigrates server-side WCF services from .NET Framework to CoreWCF for .NET 6+. Converts hosting, configuration, bindings, behavior extensions, and APM-style contracts. Use when a project references System.ServiceModel via GAC, contains .svc files, uses ServiceHost, or needs WCF endpoints rehosted in ASP.NET Core. Also handles mixed client/server projects by preserving client packages.
- ▌ Powershell 5 1 To 7 Upgrade · microsoft bundleUpgrade Windows PowerShell 5.1 scripts (.ps1/.psm1/.psd1) to cross-platform PowerShell 7.x. Use when the user asks to upgrade PowerShell scripts, move off Windows PowerShell 5.1, migrate WMI to CIM, remove PSSnapins, or make scripts run on PowerShell 7 / pwsh. Covers loose scripts that ship alongside a .NET repo — NOT binary cmdlet/PowerShell-SDK projects (those use the migrating-powershell-sdk lazy skill in the normal .NET version upgrade).
- ▌ Managing Target Frameworks · microsoftManages 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.
- ▌ Modernizing Csharp Version · microsoft bundleUpgrade C# code to use newer C# language features. Use this skill whenever the user wants to modernize C# code to a specific language version (e.g., "upgrade to C# 12", "use latest C# features", "modernize this C# code"), apply new language features from any C# version 7.0 through 15, or when migrating a .NET project to a newer target framework and the C# language version increases. Also trigger when the user asks about what C# features are available for a given version, wants to know which modernizations are safe to apply, or asks to "clean up" or "simplify" C# code using modern syntax. This includes requests like "use pattern matching", "switch to file-scoped namespaces", "use collection expressions", "convert to records", or any mention of specific C# language features by name. This skill can also be invoked as a sub-step from other scenarios (e.g., .NET TFM upgrade) when the C# language version changes as part of a broader migration.
- ▌ Migrating Edmx To Code First · microsoftMigrates Entity Framework 6 EDMX-based models (Database-First/Model-First) to EF Core Code-First. Use when upgrading projects containing .edmx files, .Context.tt templates, EntityClient connection strings, or ObjectContext references. Triggers for "migrate EDMX", "convert EDMX to code first", "EF6 to EF Core", "remove EDMX", "database first to code first", and "scaffold DbContext". Also relevant when encountering EntitySQL, EntityObject, or ObjectSet patterns during .NET modernization.
- ▌ Migrating Azure Storage · microsoftMigrates the deprecated WindowsAzure.Storage to the modern Azure SDK storage libraries (Azure.Storage.Blobs, Azure.Storage.Queues, Azure.Storage.Files.Shares, Azure.Data.Tables). Use ONLY when WindowsAzure.Storage has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where WindowsAzure.Storage is still supported.
- ▌ Powershell Mechanical Fixups · microsoftApply low-risk, deterministic PowerShell 5.1 → 7.x fixes across scripts: '-Encoding Byte' → '-AsByteStream', hardcoded 'powershell.exe' → 'pwsh', removing 'New-WebServiceProxy', bumping '#Requires -Version 5' / dropping '-PSEdition Desktop', pinning explicit '-Encoding' on file writes (the default changed to UTF-8 no-BOM in PS7), and rewriting fragile '$x -eq $null' to '$null -eq $x'. Use during the powershell-5.1-to-7-upgrade scenario's execution stage to clear the AutoFix-severity findings before tackling architectural blockers.
- ▌ Migrating Aspnet Identity · microsoftMigrates 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.
- ▌ Migrating Mvc Controllers · microsoftMigrates ASP.NET Framework controllers and action results to ASP.NET Core equivalents, covering both MVC (Controller) and WebAPI (ApiController) patterns. Use when upgrading controllers that return HttpResponseMessage, IHttpActionResult, use ApiController base class, use Request.CreateResponse(), ResponseTypeAttribute, ChildActionOnlyAttribute, or AsyncController. Also triggers for "convert WebAPI controller", "migrate action results", "replace HttpResponseMessage", "IActionResult migration", and controller return type rewrite.
- ▌ Migrating Mvc Httpcontext · microsoftMigrates ASP.NET Framework HttpContext, Request, and Response usage to ASP.NET Core equivalents. Use when projects reference HttpContext.Current, HttpRequest.InputStream, HttpResponse.Write, HttpServerUtility, Request.ServerVariables, Request.Files, Response.End, Response.AddHeader, or ClaimsPrincipal.Current. Also triggers for "replace HttpContext.Current", "inject IHttpContextAccessor", "async response writing", "request body reading", or when assessment signals include UsesHttpContextCurrent, UsesHttpContext, UsesResponseWrite, UsesRequestInputStream, UsesCustomHeaders.
- ▌ Migrating Mvc Razor Views · microsoftMigrates ASP.NET MVC Razor views to ASP.NET Core by converting HtmlHelpers to TagHelpers, child actions to ViewComponents, and updating layout infrastructure. Use when upgrading MVC apps that use Html.ActionLink, Html.BeginForm, Html.TextBoxFor, Html.DropDownListFor, Html.ValidationMessageFor, Html.ValidationSummary, Html.Action, Html.RenderAction, ChildActionOnly, @helper, HtmlString, or custom HtmlHelper extensions. Also triggers for TagHelper conversion, ViewComponent migration, _ViewImports setup, view discovery changes, ViewBag/ViewData/TempData migration, display templates, and editor templates in MVC-to-Core upgrades.
- ▌ Managing Package References · microsoftManages .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 package", "update dependency", "remove NuGet reference", "PackageVersion", and "FrameworkReference" tasks.
- ▌ Migrating Aspnet Signalr · microsoftMigrates 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.
- ▌ Migrating Azure Keyvault · microsoftMigrates from the deprecated Microsoft.Azure.KeyVault SDK to the modern Azure.Security.KeyVault client libraries (Secrets, Keys, Certificates). Use ONLY when Microsoft.Azure.KeyVault has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Azure.KeyVault is still supported.
- ▌ Migrating Powershell Sdk · microsoftMigrates the legacy System.Management.Automation (PowerShell SDK) references from obsolete .NET Framework (Windows PowerShell 5.1) to modern .NET (PowerShell 7+). Replaces Windows PowerShell Reference Assemblies or GAC references with the cross-platform System.Management.Automation NuGet package. Use ONLY when the legacy Windows PowerShell SDK has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where existing PowerShell packages are still supported. Scope is binary cmdlet projects: this skill retargets a compiled project and does NOT edit PowerShell script files. Loose .ps1/.psm1 scripts, and the 5.1-to-7 script breaks they contain, belong to the powershell-5.1-to-7-upgrade scenario instead. Triggers for "migrate PowerShell SDK", "upgrade cmdlet project", "PowerShellStandard.Library", project files (.csproj, .vbproj, .fsproj) with PowerShell references, and .psd1 module manifests that ship alongside such a project.
- ▌ Migrating System Spatial · microsoftMigrates the obsolete System.Spatial (OData v1–v3 spatial types) to Microsoft.Spatial for OData v4. Use ONLY when System.Spatial has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where System.Spatial is still supported.
- ▌ Migrating Mvc Static Files · microsoftMigrates ASP.NET MVC static file serving and virtual path providers to ASP.NET Core conventions. Moves Content/, Scripts/, and App_Data/ folders into wwwroot/, configures UseStaticFiles middleware, and replaces VirtualPathProvider with IFileProvider and EmbeddedFileProvider. Use when upgrading MVC apps that serve CSS from ~/Content/, JS from ~/Scripts/, use VirtualPathProvider, serve embedded resources, or store files in App_Data. Also triggers for "configure static files in Core", "wwwroot migration", "embedded resource serving", or "files outside wwwroot".
- ▌ Modifying Project Properties · microsoftModifies .NET project properties in PropertyGroup elements within .csproj, .vbproj, and Directory.Build.props files. Handles TargetFramework, LangVersion, Nullable, OutputType, TreatWarningsAsErrors, and other MSBuild configuration settings. Use when asked to "change TargetFramework", "update project settings", "enable nullable", "set LangVersion", or modify any build property. Also triggers for Directory.Build.props changes, conditional PropertyGroup handling, and centralized vs project-specific property decisions.
- ▌ Migrating Bond Interfaces · microsoftMigrates 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.
- ▌ Migrating Mvc Configuration · microsoftMigrates ASP.NET Framework Web.config configuration to ASP.NET Core appsettings.json and IConfiguration/IOptions patterns. Covers appSettings, connectionStrings, custom config sections, environment-specific transforms, and encrypted config. Use when upgrading projects that use ConfigurationManager.AppSettings, ConfigurationManager.ConnectionStrings, custom IConfigurationSectionHandler implementations, Web.Debug.config/Web.Release.config transforms, or encrypted config sections. Also triggers for "migrate Web.config", "convert appSettings to appsettings.json", "replace ConfigurationManager", "migrate connection strings", or "convert config transforms".
- ▌ Migrating Mvc HTTP Pipeline · microsoftMigrates ASP.NET Framework HttpModules, HttpHandlers, and Global.asax events to ASP.NET Core middleware and endpoints. Use when projects contain IHttpModule, IHttpHandler, IHttpAsyncHandler, .ashx generic handlers, Global.asax Application_Start/Application_Error/Application_BeginRequest, or web.config httpModules/httpHandlers sections. Also triggers for "convert HttpModule to middleware", "migrate Global.asax", "replace HttpHandler", "pipeline ordering", or when assessment signals include UsesHttpModules, UsesHttpHandlers, UsesGlobalAsax, UsesCustomHandlers, or UsesManagedModules.
- ▌ Migrating Mvc Model Binding · microsoftMigrates ASP.NET Framework model binding to ASP.NET Core, including binding source attributes, custom model binders, value providers, and over-posting protection. Use when upgrading MVC or Web API projects that use [FromUri], [FromBody], [ModelBinder], [Bind], TryUpdateModel, custom IModelBinder implementations, or ValueProviderFactories. Also triggers for binding source inference with [ApiController], IModelBinderProvider registration, and BindNever attribute migration.
- ▌ Migrating Mvc Session State · microsoftMigrates ASP.NET Framework session state, TempData, and application state to ASP.NET Core equivalents. Converts HttpSessionState to ISession with distributed cache backend, migrates TempData from session-based to cookie-based provider, and replaces HttpContext.Application and HttpRuntime.Cache with DI-based IMemoryCache or IDistributedCache. Use when upgrading MVC or WebAPI apps that use Session[], TempData[], HttpContext.Application[], HttpRuntime.Cache, or static state patterns. Also triggers for assessment signals UsesSession, UsesTempData, UsesApplicationState, UsesStaticState, and UsesInProcSession.
- ▌ Managing Shared Database Schema · microsoft bundleGoverns 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", "zero downtime schema change", or "add a column safely". Applies to EF6, EF Core, Dapper, ADO.NET, DACPAC/SqlPackage, DbUp and Flyway, and explains how EF6's __MigrationHistory and EF Core's __EFMigrationsHistory coexist without merging. Also use before deleting a Migrations folder, before enabling Database.Migrate() at startup, or when asked whether renaming or dropping a column is safe while the old app is live.
- ▌ Migrating Azure Servicebus · microsoftMigrates the deprecated WindowsAzure.ServiceBus to Azure.Messaging.ServiceBus for Azure Service Bus messaging. Use ONLY when WindowsAzure.ServiceBus has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where WindowsAzure.ServiceBus is still supported.
- ▌ Migrating Owin Cookie Auth · microsoftMigrates legacy OWIN cookie authentication (Microsoft.Owin.Security.Cookies) to ASP.NET Core cookie authentication (Microsoft.AspNetCore.Authentication.Cookies). Use ONLY when Microsoft.Owin.Security.Cookies has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where the OWIN package is still supported.
- ▌ Migrating Mvc Authentication · microsoftMigrates ASP.NET MVC and Web API authentication and authorization to ASP.NET Core, covering Forms Authentication, Membership providers, Windows Authentication, token-based auth, authorization rules, and anti-forgery tokens. Use when upgrading projects that use FormsAuthentication, SqlMembershipProvider, SimpleMembership, Windows auth, OWIN OAuth, custom IPrincipal, role providers, ClaimsPrincipal.Current, machineKey, or web.config authorization rules. Also triggers for auth migration, login migration, cookie ticket conversion, password rehash strategy, and Authorize attribute differences.
- ▌ Migrating Azure Functions To V2 · microsoftMigrates 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 HostBuilder patterns.
- ▌ Migrating Linq To SQL To Ef Core · microsoft bundleMigrates LINQ to SQL (System.Data.Linq) data access layer to Entity Framework Core during .NET Framework to modern .NET upgrades. Covers DataContext to DbContext conversion, DBML entity mapping to EF Core model configuration, stored procedure migration, query translation differences, and concurrency handling changes. Use when assessment detects LINQ to SQL usage or when upgrading projects referencing System.Data.Linq. Triggers for "LINQ to SQL", "System.Data.Linq", "DataContext migration", "DBML to EF Core", "linq2sql", "migrate LINQ to SQL".
- ▌ Migrating Data Edm To Odata · microsoftMigrates 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.
- ▌ Migrating Owin OAUTH To JWT · microsoftMigrates legacy OWIN OAuth bearer authentication (Microsoft.Owin.Security.OAuth) to ASP.NET Core JWT Bearer authentication (Microsoft.AspNetCore.Authentication.JwtBearer). Use ONLY when Microsoft.Owin.Security.OAuth has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where the OWIN package is still supported.
- ▌ Migrating To Msmq Messaging · microsoftMigrates .NET projects from System.Messaging to MSMQ.Messaging for .NET Core compatibility. Use when upgrading projects that reference System.Messaging, MessageQueue, XmlMessageFormatter, or when migrating MSMQ queue code from .NET Framework to .NET Core/.NET 5+. Also triggers for queue configuration migration from web.config/app.config to appsettings.json and replacing ConfigurationManager with dependency injection for queue settings.
- ▌ Replacing Eventlog With Winevent · microsoftReplace the removed *-EventLog cmdlets (Get-EventLog, Write-EventLog, New-EventLog, Clear-EventLog, Limit-EventLog, Show-EventLog, Remove-EventLog) with Get-WinEvent / New-WinEvent or System.Diagnostics.EventLog in PowerShell 7.x. Use during the powershell-5.1-to-7-upgrade scenario for the EventLog blocker bucket.
- ▌ Migrating Owin To Aspnet Core · microsoftMigrates OWIN/Katana middleware, authentication, pipeline components, and SignalR 2.x to native ASP.NET Core equivalents. Use when projects reference Microsoft.Owin, IAppBuilder, OwinMiddleware, Microsoft.Owin.Host.SystemWeb, OWIN-based OAuth/cookie/bearer authentication, OWIN startup classes, or SignalR 2.x hubs mapped via OWIN. Triggers for "migrate OWIN", "remove OWIN", "replace OWIN middleware", "convert OWIN pipeline", "migrate Katana", "convert OWIN auth", "upgrade SignalR", "replace OWIN startup", or when assessment signals include UsesOwin, UsesKatana, UsesOwinAuth, UsesOwinMiddleware, or UsesAppBuilder. Does not cover application-defined authentication handler subclasses built on the OWIN AuthenticationHandler and AuthenticationMiddleware base classes; those route to migrating-owin-authentication-handler-to-core.
- ▌ Dotnet Framework Version Upgrade · microsoft bundleUpgrade .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.
- ▌ Managing Legacy Dotnet Packages · microsoftManages 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.
- ▌ Scanning Powershell Compatibility · microsoft bundleDetect Windows PowerShell 5.1 → 7.x compatibility blockers across a tree of .ps1/.psm1/.psd1 files. Two parts: generate and validate a PSScriptAnalyzer compatibility profile for the target host (the primary detector, covering removed commands/parameters/types), then run a small parser-driven catalog as a sidecar for what PSScriptAnalyzer is structurally blind to — encoding and other behavioral changes, parameter values, type accelerators, module availability, COM, and deprecated-but-present cmdlets. Produces scan-findings.csv keyed by rule id, which seeds the assessment, the plan, and the execution re-scan gate. Use during the powershell-5.1-to-7-upgrade scenario, or any time you need a reproducible inventory of PowerShell compatibility blockers. DO NOT USE FOR: scanning C#/.NET code, PSScriptAnalyzer style rules, or verifying that a fix works (that is the validation ladder's job). INVOKES: scripts/New-PSSACompatibilityProfile.ps1, scripts/Get-PSCompatibilityScan.ps1.
- ▌ Scaffolding Yarp Proxy Project · microsoft bundleScaffolds a new ASP.NET Core project with YARP reverse proxy alongside an existing .NET Framework MVC or WebAPI project for incremental side-by-side migration. Use when a migration task requires creating a new Core project that proxies to the old Framework app, when the side-by-side migration approach is selected, or when scaffold/YARP/proxy setup is needed. Also handles authentication interop between the two apps (shared cookie or remote authentication) so users stay signed in across both. Also triggers for "create new Core project", "set up YARP proxy", "side-by-side project setup", "share login between old and new app", "user appears signed out after migration".
- ▌ Migrating Azure Functions Startup · microsoftMigrates 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 project files (.csproj, .vbproj, .fsproj) referencing Microsoft.NET.Sdk.Functions.
- ▌ Managing Winforms Mvvm · microsoft bundleImplements 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", "DataContext binding", "Command pattern WinForms", "ObservableObject", "RelayCommand", and "testable WinForms". Also use when fixing existing MVVM code or when guided by winforms-feature-adoption scenario. DO NOT USE FOR: automatic application during version upgrades (opt-in only).
- ▌ Migrating Owin Openid Connect · microsoftMigrates legacy OWIN OpenID Connect authentication (Microsoft.Owin.Security.OpenIdConnect) to ASP.NET Core OpenID Connect (Microsoft.AspNetCore.Authentication.OpenIdConnect). Use ONLY when Microsoft.Owin.Security.OpenIdConnect has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where Microsoft.Owin.Security.OpenIdConnect is still supported.
- ▌ Migrating Ef6 Code First To Ef Core · microsoft bundleMigrates Entity Framework 6 Code-First projects to EF Core. Use when upgrading projects that already use DbContext with Code-First models (no EDMX files) and need to move to EF Core. Triggers for "migrate EF6 to EF Core", "upgrade Entity Framework to EF Core", "convert EF6 Code-First to EF Core", "replace EntityFramework package with EF Core", or "modernize Entity Framework". Also relevant when encountering EF6-specific APIs like EntityTypeConfiguration, DbModelBuilder, Database.SetInitializer, or HasDatabaseGeneratedOption during .NET modernization.
- ▌ Migrating Autofac To Dotnet Di · microsoftRemoves 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, InstancePerLifetimeScope, and ContainerBuilder references in C# or VB.NET projects.
- ▌ Migrating Data Services Client · microsoftMigrates 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.
- ▌ Migrating Documentdb To Cosmos · microsoftMigrates from the deprecated Microsoft.Azure.DocumentDB SDK (V2) to the modern Microsoft.Azure.Cosmos SDK (V3) for Azure Cosmos DB. Use ONLY when Microsoft.Azure.DocumentDB has been flagged as deprecated or obsolete and must be replaced — not for version-bump scenarios where the V2 SDK is still supported.
- ▌ Migrating Exchange Management Shell · microsoftMigrate scripts that load the Exchange management snap-in (Microsoft.Exchange.Management.PowerShell.SnapIn / .E2010) off Windows PowerShell 5.1 to PowerShell 7.x, using implicit remoting (New-PSSession -ConfigurationName Microsoft.Exchange) for on-prem Exchange or the Exchange Online (EXO) REST-based module for Exchange Online. Use during the powershell-5.1-to-7-upgrade scenario for the Exchange snap-in bucket.
- ▌ Generating Upgrade Test Baseline · microsoftGenerates 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.
- ▌ Semantic Kernel To Agents Framework · microsoftMigrates .NET projects from Semantic Kernel to the Microsoft Agents Framework. Use when user wants to migrate Semantic Kernel agents, upgrade from SK to Agents Framework, or replace ChatCompletionAgent/OpenAIAssistantAgent with Agent Framework equivalents.
- ▌ Integrating Autofac With Dotnet · microsoftMigrates 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.
- ▌ Managing Dotnet Test Installation · microsoftInstalls 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.
- ▌ Migrating Mvc Content Negotiation · microsoftMigrates ASP.NET Web API content negotiation and formatters to ASP.NET Core equivalents. Converts MediaTypeFormatter subclasses to InputFormatter/OutputFormatter, replaces IContentNegotiator with OutputFormatterSelector, and updates formatter registration from HttpConfiguration.Formatters to MvcOptions. Use when upgrading Web API projects that define custom MediaTypeFormatter classes, configure content negotiation via IContentNegotiator, register XML or JSON formatters, use MediaTypeMapping, or need to migrate from Newtonsoft.Json to System.Text.Json. Also triggers for conneg migration, formatter pipeline changes, and 406 Not Acceptable behavior configuration.
- ▌ Migrating Mvc System Web Adapters · microsoftProvides System.Web Adapters overlay guidance for incremental ASP.NET Framework to ASP.NET Core migration. Installs Microsoft.AspNetCore.SystemWebAdapters compatibility shims so System.Web API patterns (HttpContext.Current, HttpModules, HttpHandlers, Session, ClaimsPrincipal.Current) continue working in ASP.NET Core during the migrate phase, then guides ordered decommission of each shim. Use when assessment signals include UsesSystemWeb, UsesHttpContextCurrent, UsesHttpModules, UsesHttpHandlers, UsesMvc, UsesWebApi, or UsesHttpSessionState and the System.Web Adapters option is confirmed. Also triggers for "system web adapters", "incremental migration shim", "side-by-side Framework and Core", or "adapter cleanup".
- ▌ Migrating To Microsoft Data Sqlclient · microsoftMigrates .NET projects from System.Data.SqlClient to Microsoft.Data.SqlClient, handling package references, namespace updates, connection string encryption changes, and behavioral differences. Use when upgrading SqlClient, replacing System.Data.SqlClient, migrating to Microsoft.Data.SqlClient, or modernizing SQL Server data access in C# or VB.NET projects (.csproj, .vbproj, .cs, .vb files).
- ▌ Migrating Cosmosdb Bulk Executor · microsoftMigrates 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.
- ▌ Triaging Powershell Analyzer Findings · microsoftDecide whether a PSScriptAnalyzer PSUseCompatibleCommands / PSUseCompatibleTypes finding is a real PowerShell 5.1 → 7.x break or one of four measured false-positive classes: a function defined elsewhere in the estate, an abbreviated parameter prefix such as '-fore', a symbol the compatibility profile dropped during generation, or a provider dynamic parameter such as 'Set-ItemProperty -Type'. Each class has a mechanical test that settles it. Use during the powershell-5.1-to-7-upgrade scenario's execution stage, before editing any file the analyzer flagged.
- ▌ Migrating Aspnet Framework To Core · microsoft bundleOrchestrates migration of ASP.NET Framework (System.Web) MVC and WebAPI projects to ASP.NET Core. Covers only old .NET Framework web projects — not applicable to ASP.NET Core or modern .NET web projects (those are already on the target stack). Defines the ordered phase sequence (project file, host, config, DI, controllers, middleware, auth, views, cleanup), satellite skill dispatch, and migration unit breakdown for both in-place and side-by-side modes. Use when executing a task that upgrades a project with System.Web dependencies, HttpModules, HttpHandlers, MVC controllers, WebAPI controllers, or Global.asax. Also triggers for "migrate ASP.NET to Core", "upgrade MVC project", "convert WebAPI to ASP.NET Core". Not applicable to class libraries unless they directly reference System.Web.
- ▌ Migrating Mvc Dependency Injection · microsoftMigrates dependency injection configuration from ASP.NET Framework MVC and WebAPI projects to ASP.NET Core built-in DI or modernized third-party container integration. Use when upgrading projects that use DependencyResolver.SetResolver, config.DependencyResolver, custom IControllerFactory, custom IHttpControllerActivator, ServiceLocator.Current, or third-party containers (Autofac, Unity, Ninject, Castle Windsor). Also triggers for "migrate dependency injection", "convert DI container", "replace DependencyResolver", PerRequest lifetime mapping, IControllerActivator migration, and property injection patterns.
- ▌ Migrating Csharp Nullable References · microsoft bundleEnable 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 nullable reference types". DO NOT USE FOR: projects already fully migrated with zero warnings (unless auditing suppressions), fixing a handful of nullable warnings in code that already has NRTs enabled, suppressing warnings without fixing them, C# 7.3 or earlier projects. INVOKES: Get-NullableReadiness.ps1 scanner script.
- ▌ Migrating Cryptography Namespaces · microsoftMigrates 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 namespaces in .cs files.
- ▌ Managing Winforms Rendering · microsoft bundleImplements 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", "override OnPaint", "Graphics object", "GDI+ rendering", "DrawString", "TextRenderer", "owner-drawn control", "double buffer", and "dispose Graphics resources".
- ▌ Migrating Data Odata To Odata Core · microsoftMigrates 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.
- ▌ Managing Winforms Async Apis · microsoftAdopts 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.InvokeAsync", "ShowDialogAsync", "TaskDialog async", "async UI update", "replace Control.Invoke", "WinForms async", "async event handler", and "thread-safe UI access".
- ▌ Migrating Razorengine To Razorlight · microsoftMigrates the deprecated RazorEngine to RazorLight for Razor template rendering outside of MVC. Use ONLY when RazorEngine has been flagged as deprecated or unmaintained and must be replaced — not for version-bump scenarios where RazorEngine is still supported.
- ▌ Migrating Semantic Kernel To Agents · microsoft bundleMigrates .NET projects from Microsoft Semantic Kernel Agents (Microsoft.SemanticKernel.Agents) to Microsoft Agent Framework (Microsoft.Agents.AI). Handles NuGet package updates, namespace changes, agent creation, tool registration, thread management, and invocation transformations. Use when migrating ChatCompletionAgent, OpenAIAssistantAgent, AzureAIAgent, OpenAIResponseAgent, or A2AAgent to Agent Framework. Triggers for "semantic kernel to agents", "migrate SK agents", "upgrade agents framework", "ChatCompletionAgent to ChatClientAgent", "Microsoft.SemanticKernel.Agents to Microsoft.Agents.AI".
- ▌ Migrating Spa Services To Spa Proxy · microsoftMigrates ASP.NET Core projects from the obsolete Microsoft.AspNetCore.SpaServices.Extensions to Microsoft.AspNetCore.SpaProxy for Angular and React SPAs. Use ONLY when Microsoft.AspNetCore.SpaServices.Extensions has been flagged as obsolete or deprecated and must be replaced — not for version-bump scenarios where SpaServices.Extensions is still supported.
- ▌ Building Winforms Applications · microsoft bundleStructures 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 for "WinForms project structure", "Form class organization", "Designer compatibility", "Application.Run", "Program.cs setup", and "WinForms best practices". Enhancement features (dark mode, async APIs, MVVM) are in separate skills for opt-in adoption only.
- ▌ Managing Winforms Data Binding · microsoft bundleImplements 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 ErrorProvider, or troubleshooting binding update issues and performance. Also triggers for "BindingSource", "DataBindings.Add", "INotifyPropertyChanged WinForms", "two-way binding", "ErrorProvider", "master-detail binding", "BindingNavigator", "DataSource binding", and "WinForms data binding".
- ▌ Managing Blazor Server Data Access · microsoft bundleManages 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 service injection migration. Covers Web.config to appsettings.json. Use when handling data access in Blazor Server, fixing session/DbContext/cart errors, resolving build errors for System.Data.Entity namespaces or EntityFramework package references, or troubleshooting data access failures in Blazor Server applications.
- ▌ Managing Winforms Designer Code · microsoft bundleGoverns 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 separation, or understanding what code belongs in InitializeComponent vs elsewhere. Also triggers for "InitializeComponent", ".Designer.cs file", "Designer cannot load", "components.Dispose", "IContainer field", "Designer compatibility", "Designer round-trip", and "Form Designer errors".
- ▌ Migrating Webforms To Blazor Server · microsoft bundleMigrates ASP.NET Web Forms applications to Blazor Server using Blazor patterns. Handles complete migration: Blazor project setup (side-by-side or in-place), Routes component configuration, App.razor InteractiveServer render modes, static asset migration (Content/Scripts/Images to wwwroot), markup conversion (.aspx/.ascx/.master to .razor), control translation (asp: prefix removal to native HTML/Blazor components), Web Forms expression block conversion to Razor syntax, lifecycle mapping (Page_Load to OnInitializedAsync), and Master pages to Layouts. Use when migrating Web Forms to Blazor Server, converting .aspx pages with CSS/JavaScript compatibility, or fixing build errors for System.Web.UI types (Page, Control), ViewState, Response.Redirect, Server.MapPath, asp: controls, or Web Forms namespaces.
- ▌ Creating Winforms Custom Controls · microsoftCreates 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 scrollable controls with AutoScrollMinSize, implementing dark mode theming, or building List/Grid/Tree-like controls. Also triggers for "custom UserControl", "derive from Control", "owner-drawn control", "Designer properties", "[Browsable] attribute", "custom WinForms control", "LayoutEngine", "AutoScroll control", and "themed control".
- ▌ Managing Winforms High Dpi Layout · microsoft bundleImplements 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. Also triggers for "TableLayoutPanel", "FlowLayoutPanel", "high DPI WinForms", "PerMonitorV2", "DPI aware layout", "responsive WinForms", "scale UI", "AutoScaleMode", and "DPI scaling".
- ▌ Migrating Newtonsoft To System Text JSON · microsoftMigrates .NET projects from Newtonsoft.Json to System.Text.Json, updating package references, code files, and handling API differences. Use when asked to "migrate Newtonsoft", "switch to System.Text.Json", "replace Newtonsoft.Json", or "upgrade JSON library". Triggers for .csproj/.vbproj files referencing Newtonsoft.Json and .cs/.vb files using Newtonsoft.Json namespaces. Also applies when modernizing .NET dependencies or removing third-party JSON libraries.
- ▌ Managing Blazor Server Authentication · microsoft bundleManages 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 Blazor auth UI (AuthorizeView, HTML form login, LoginName via @context.User.Identity?.Name). Also covers OWIN to ASP.NET Core middleware migration. Use when setting up authentication in Blazor Server, troubleshooting auth issues, encountering build errors for System.Web.Security types, or fixing runtime authentication failures in Blazor Server circuits.
- ▌ Sharing Authentication Cookies Katana Interop · microsoft bundleShares authentication cookies between Katana/OWIN applications on ASP.NET Framework and ASP.NET Core applications during side-by-side migrations. Use when both hosts must accept the same cookie, when AspNetTicketDataFormat, DataProtectorShim, or Microsoft.Owin.Security.Interop is needed, or when users must remain signed in while routes move behind YARP or System.Web Adapters.
- ▌ Migrating Owin Authentication Handler To Core · microsoft bundleMigrates a custom Katana/OWIN authentication handler to an ASP.NET Core authentication scheme. Use when an application defines its own scheme by deriving from the OWIN AuthenticationHandler base class in Microsoft.Owin.Security.Infrastructure — usually with its own AuthenticationMiddleware subclass and IAppBuilder extension, but however it is registered — and the equivalent ASP.NET Core handler must be registered with AddScheme. Covers AuthenticateCoreAsync, ApplyResponseChallengeAsync, ApplyResponseGrantAsync, InvokeAsync, custom AuthenticationType values, AuthenticationMode Active versus Passive, and per-scheme options binding. Triggers for "custom OWIN authentication handler", "custom authentication middleware", "custom authentication scheme", "port AuthenticateCoreAsync", or "AuthenticationMiddleware subclass". Not for stock OWIN cookie, OAuth bearer, or OpenID Connect middleware, which have their own migration paths.
- ▌ Building Accessible UI · microsoft bundleMUST BE USED for any UI work. Invoke this skill before generating, modifying, or reviewing any code that renders, styles, or wires up a user-facing interface — including markup, components, templates, styles, and the JavaScript/TypeScript that drives them. This skill encodes the accessibility (WCAG 2.2 AA) requirements every UI change must satisfy; skipping it produces inaccessible output. Applies across web, mobile, and desktop. If the task touches the UI layer in any way, use this skill first.
- ▌ Agentic Workflows · microsoftRoute gh-aw workflow create/debug/upgrade requests to the right prompts.
- ▌ Amplifier Digital Twin Universe · microsoftStand up isolated, realistic environments from a declarative profile so software can be tested as though actually deployed. Use when (1) "the tests pass on my machine" is not enough evidence and code must be exercised the way a real deployment would exercise it, (2) verifying a CLI or service installs and runs cleanly from scratch, (3) exercising code against mocked third-party services without changing its configuration, (4) driving the amplifier-digital-twin-universe smart tool from a library, a CLI, or an agent. Triggers on "digital twin", "DTU", "digital twin universe", "isolated environment", "incus container", "test as if deployed", "amplifier-digital-twin-universe".
- ▌ Applicationinsights Setup · microsoft bundleSets up, migrates, or enhances Azure Monitor Application Insights in .NET applications. Detects application type and existing instrumentation automatically. Use when adding Application Insights, Azure Monitor, observability, or telemetry to ASP.NET Core, Worker Service, ASP.NET Classic, or Console apps, upgrading from Application Insights 2.x to 3.x, migrating from TelemetryClient to OpenTelemetry, or adding Entity Framework, Redis, SQL, or OTLP telemetry to apps already using Application Insights.
- ▌ Aca Sandboxes · microsoft bundleUse when the user wants to create, manage, or operate Azure Container Apps sandboxes — hardware-isolated microVMs driven by the `aca` CLI. USE FOR: create sandbox group, create sandbox, aca doctor, aca auth login, install aca, exec in sandbox, sandbox shell, fs read/write, expose port, mount volume, snapshot/suspend/resume sandbox, commit to disk, egress rules, secrets, identity, list disk images, Python SDK install, Azure portal sandbox surface, compare to Dynamic Sessions or Container Apps, scenarios like coding agents, code interpreter, agent swarms, computer-use, web apps, MCP hosting. DO NOT USE FOR: regular Azure Container Apps (`Microsoft.App/containerApps`), AKS, or VM workloads.
- ▌ Microsoft Build · microsoftYour companion for Microsoft Build 2026. Helps you find sessions relevant to your project, discover what's new for your tech stack, scaffold projects from sessions, and plan your event schedule. Activate when users mention sessions, schedule, what's new, Build, Ignite, AI Tour, Microsoft event, conference, or reference a session code (BRK, DEM, LAB, KEY). Also supports Ignite 2025 and Build 2025 session catalogs. Uses the msevents CLI for fast local search and Learn MCP Server for docs.
- ▌ Caira · microsoftPrimary entrypoint for coding agents using CAIRA as reference material to design and build generative AI solutions with Azure AI Foundry, Azure OpenAI-compatible endpoints, agent frameworks, APIs, and frontends tailored to a user's scenario.
- ▌ Debug Live · microsoft bundleGuides root-cause investigations with debugging capabilities by setting breakpoints, starting a debug session, stepping through execution, inspecting variables, and tracing symptoms back to their origin. Prefer it for runtime bugs, failing tests, exceptions, crashes, hangs, wrong/null values, and unexpected output when live inspection is practical. Use this skill instead of modifying source code with temporary logs, print statements, or console output.
- ▌ Entra Poc Advisor · microsoft bundleGuides Microsoft Entra administrators through proof-of-concept deployments of Entra Suite products including Private Access, Internet Access, Global Secure Access, ID Protection, ID Governance, Verified ID, and External Identities. Use when user mentions "Entra POC", "Global Secure Access setup", "private access proof of concept", "Entra Suite trial", "GSA configuration", "zero trust network access POC", "secure web gateway POC", "identity governance POC", "external identities POC", "B2B collaboration setup", "CIAM proof of concept", "guest user onboarding", "customer identity POC", or asks to plan, configure, validate, or document an Entra deployment. Orchestrates Microsoft MCP Server for Enterprise to read tenant configuration and generates documentation, PowerShell scripts, and gap analysis reports. Do NOT use for general Microsoft 365 administration, Exchange, SharePoint, or Teams configuration unrelated to Entra Suite security features.
- ▌ Copilot Studio Workflow · microsoft bundleDevelopment workflow for building, syncing, packaging, and shipping Copilot Studio agents. Use this skill when working with Copilot Studio YAML files (agent.mcs.yml, topics, actions, variables), when pulling or pushing agent changes, when packaging solutions for distribution, or when troubleshooting common Copilot Studio platform issues. Triggers on: Copilot Studio, MCS, agent.mcs.yml, .mcs.yml files, pac CLI, Power Platform solution, pull from cloud, push to cloud, publish agent, solution packaging, heartbeat flow, Power Automate flows.