Give the plugin a try and let us know what you think!
Amazon's head of devices and services, Panos Panay, says that the company is "not necessarily" planning to release a smartphone, but has stopped short of denying it outright. It was previously reported that Amazon is developing an Alexa-enabled AI phone codenamed "Transformer," more than 10 years after it scrapped its ill-fated Fire Phone.
Speaking to the Financial Times, Panay was asked directly if the company was planning another smartphone. "It's just not the goal," he replied. "I know there's a lot of rumors out there."
"I think your black and white question is, are you going after a phone? A lot of people want me to say no, but a lot …
I spend a lot of time hopping around folders in Explorer, especially when I’m bouncing between demos, samples, blog code, and whatever random side quest has captured my attention that day. And since I’ve also been using Copilot CLI as my primary interface to Copilot, I had one of those wonderfully lazy thoughts: why am I manually opening Windows Terminal and navigating to the folder when right-click menus exist?
So naturally, instead of saving time immediately, I spent time automating the thing that would save me time later. As is tradition.
What I wanted was pretty simple:
Copilot submenuThe commands wired up to the context menu are:
|
|
That -d argument is the important bit, because it tells Windows Terminal which folder to start in. So instead of opening a terminal somewhere generic and then /cd-ing around like it’s 2009, it just lands exactly where I clicked.
The nice thing about classic Explorer context menu customisation is that it’s mostly just registry keys. You can create a menu for when a folder is selected, and another for when you right-click the background inside a folder.
That means I could create a Copilot submenu with two children:
GitHub Copilot (yolo) (which runs copilot --allow-all in the terminal)GitHub CopilotThe commands behind those entries are just wt.exe invocations with the selected path passed in.
For a selected folder, Explorer passes %1. For the background of an open folder, it passes %V. That’s the little detail that makes the same idea work in both places.
The context menu itself doesn’t launch copilot directly. It launches named Windows Terminal profiles, which is honestly the better setup because it means I can keep all the styling and command configuration in one place.
Here are the two profiles from my Windows Terminal settings.json:
|
|
|
|
So the difference between the two is exactly what you’d expect:
copilotcopilot --allow-allEverything else is just terminal cosmetics (hey, I like my custom background and icon!).
The registry file creates a Copilot submenu in two places:
HKEY_CLASSES_ROOT\Directory\shell\CopilotHKEY_CLASSES_ROOT\Directory\Background\shell\CopilotFrom there, each submenu item points to one of the Windows Terminal profiles:
|
|
There’s a matching set of keys under Directory\\Background\\shell\\Copilot that use %V instead of %1, but otherwise it’s the same idea.
One slightly annoying detail: Explorer context menu icons really want an .ico file, not a .png. Windows Terminal is perfectly happy to use the PNG for the profile icon inside Terminal, but the registry-backed Explorer menu behaves much more reliably with an ICO.
So yes, I now have both:
copilot-icon.png for Windows Terminalcopilot-icon.ico for ExplorerPerfectly normal behaviour. No notes.

Now I can right-click basically anywhere in Explorer, choose Copilot, pick the flavour of chaos I want, and drop straight into a terminal already pointed at the current folder. This is hidden behind the “Show more options” menu in Windows 11 because otherwise I have to futz with COM or something, and while I wanted this, I didn’t want it that badly.
You can adapt this to have more Terminal profiles if you like, setting up Copilot CLI in different ways, or even just flatten it to a root level without a submenu if you only have one profile. You could even have it launch some other profile that isn’t Copilot-related, but where’s the fun in that?
It’s a tiny bit of automation, but it’s exactly the kind I like: shaving off just enough friction that I stop noticing the setup step and get straight to the work. Or, more realistically, straight to asking Copilot to do the work while I pretend this was all about efficiency and not because I enjoy over-optimising my development environment.
Honestly, the only surprising part is that I didn’t do this sooner.

We’re excited to share agent skills designed to efficiently build native Windows apps with WinUI and the Windows App SDK with agents such as GitHub Copilot and Claude Code.
These skills enable your agent to take your ideas to a native Windows app in minutes! They are built around the end-to-end loop: scaffold, build, run, test, iterate. They’ve been optimized to know how to drive each stage, recognize common failures that get normal agents stuck in loops, and steer towards successful patterns, while also minimizing the number of tokens used by your agent. We hope to continually improve this experience and outcomes as we gather more feedback and examples from our developer community!
# Add the WinUI plugin to GitHub Copilot CLI
/plugin install winui@awesome-copilot
# Run the winui-setup skill to install all prerequisites
/winui-setup
Then ask GitHub Copilot for the WinUI 3 app you’ve been meaning to build, and tell us how it goes.
Modern Windows app development covers a lot of ground – XAML and Fluent Design, MVVM, MSIX packaging, code signing, Store submission, accessibility, theming, UI automation. Each piece is well-documented on its own but stitching them together into a smooth inner loop takes practice. AI agents working from generic web context tend to mix WinUI with older stacks, miss the packaged-execution model, or stop short of running and verifying what they built.
dotnet new through a packaged app – and keep them cheap to run so developers aren’t paying for unnecessary context on every turn. The two goals push in opposite directions, so we paired the skills with purpose-built tools (covered below) that give the agent ground-truth answers on demand, instead of loading entire reference pages up front.Copilot CLI agents and skills let us put that knowledge right next to the developer. You ask copilot -p "create a WinUI 3 photo viewer with thumbnails and EXIF metadata", and the agent:
All the while it’s:
and when you think you have your ideal validated, the agent can polish your app at a higher level with:
…all without you needing to guide it or teach it how to do any of those steps. And because each skill only loads what it needs and leans on the tools below for the rest, the agent does all of this in more than 70% fewer tokens than when we started – on the same model.
The plugin ships one agent, eight skills, and several supporting tools. The agent is the entry point – it loads by default the skills for building, debugging, and design, and you can add additional skills in the prompt or individually use just the skills you need.
winui-devA focused agent for WinUI / Windows App SDK / XAML / C# work. Use it for new apps, adding features, converting from WPF/Electron/web, or fixing bugs. It’s the orchestrator that pulls in the winui-dev-workflow and winui-design skills by default and kicks of the agent to accomplish the task.
Each skill is a focused, self-contained playbook. The agent loads winui-design and winui-dev-workflow by default – those cover most “build me a WinUI 3 app” requests end-to-end. You opt into the others when you want them. Mention UI testing and the agent will load the winui-ui-testing skill to drive your app through real UI automation, find functional issues, and iterate on fixes; ask forwinui-packaging when you’re ready to ship; include winui-wpf-migration when you’re porting from WPF. Skills compose cleanly, so adding one doesn’t disrupt the others.
| Skill | What it does |
|---|---|
winui-dev-workflow |
Build and run workflow – project creation from templates, the BuildAndRun.ps1 helper, winapp run, error diagnosis, prerequisites. Use when building, running, or fixing build errors. |
winui-design |
UI design and XAML correctness – layout planning, control selection, Fluent Design, theming (Light/Dark/HighContrast), typography, spacing, brushes, accessibility, data-binding review. Use when designing new pages, converting from WPF/Electron/web, reviewing XAML, or fixing theme issues. |
winui-code-review |
Code-quality review before committing – MVVM compliance, x:Bind correctness, accessibility, theming, security, performance. Catches the issues the compiler and UI tests won’t. |
winui-ui-testing |
Automated UI testing – generates a batch test script, runs all tests in one pass, reads results. Covers element assertions, interactions, value checks (TextBox, ComboBox, ToggleSwitch), file pickers, flyouts, dialogs, persistence, and accessibility audits. |
winui-packaging |
MSIX packaging, code signing, and distribution – release builds, certificate generation (winapp cert generate), trust, signing (winapp sign), self-contained deployment, GitHub Actions CI/CD, and Microsoft Store submission. |
winui-wpf-migration |
WPF → WinUI 3 migration – namespace replacement, control mapping (DataGrid → ListView, WrapPanel → ItemsRepeater, TabControl → TabView), Dispatcher → DispatcherQueue, System.Drawing → BitmapImage, MVVM conversion to CommunityToolkit.Mvvm, and DynamicResource → ThemeResource. |
winui-session-report |
Diagnostic report on the current or a recent Copilot session. Use when asking for session feedback, debugging agent behavior, or reviewing what happened during a build session. |
winui-setup |
Setup your development environment – only call once if needed to ensure all the tools are installed and available. |
Skills are prompts plus playbooks. They get their actual leverage from a small set of tools – some included as part of each skill.
winget install Microsoft.WinAppCLI) – the command-line driver for installing, running, signing, packaging, and automating WinUI 3 / WinAppSDK apps. Without winapp, these skills wouldn’t be possible. Packaged WinUI apps can’t just be launched as a .exe – they need to be installed and started through the right activation pipeline. winapp run does exactly that, and crucially streams the app’s debug output back to the agent so it can see crashes and exceptions instead of staring at silence. winapp ui powers the entire winui-ui-testing skill: enumerating elements, asserting state, driving controls, capturing accessibility audits – all from the command line, all scriptable, all readable by an AI agent. winapp manifest and winapp pack are what makes the winui-packaging skill able to take a build all the way to a signed MSIX.winapp CLI is built in parallel with these skills, in lockstep. Every time a skill needed a new automation surface, a missing JSON output mode, or a tighter feedback loop, that requirement landed in winapp first. The two repos co-evolve, and we expect that to continue. Read the latest WinApp CLI blog post for more details on winapp run and winapp ui.dotnet new templates for WinUI 3 + Windows App SDK. The dev-workflow skill uses these as the canonical scaffold so every new project starts from the same supported baseline. Read the blog post introducing the new dotnet new templates for WinUI to learn more.These pre-build binaries ship with the plugin. Each one solves a problem that prevents the skills from being reliable. All three are early days – see the “What’s next” notes for where each is heading.
winui3-analyzer – a Roslyn analyzer for WinUI 3 pitfallsA netstandard2.0 Roslyn analyzer that catches common WinUI 3 / WinAppSDK issues at build time: UWP namespace leaks, Window.Current and CoreDispatcher usage, WebView2 without EnsureCoreWebView2Async, TabView items containing raw content, attached-property initializer bugs, removed ONNX GenAI APIs, the old field-backed [ObservableProperty] pattern, and more. Distributed today as a prebuilt DLL the winui-dev-workflow skill auto-injects into your dotnet build.
Error rules by default), and per-rule helpLinkUris. Whenever that lands on NuGet, the skill will switch to a <PackageReference> and the in-repo distribution path goes away. Feedback on rule severity, false positives, and which categories matter most will shape the catalog.
winui-search – a fast, offline catalog of WinUI Gallery + Community Toolkit samplesA native-AOT CLI that indexes WinUI Gallery and CommunityToolkit/Windows scenarios so the agent has grounded knowledge of which control to pick, and how to use it well. WinUI 3 ships with a lot of controls – and Community Toolkit adds many more on top. Knowing whether the right answer is NavigationView or TabView, ListView or ItemsRepeater, a stock Expander or a Toolkit SettingsExpander, isn’t something a generic LLM gets right reliably. winui-search puts the actual shipping samples behind a fast lookup so the agent can see real usage before writing a single line of XAML. When a skill is drafting a settings page, it can ask winui-search for “toggle switch with description text” and get back the actual XAML pattern from WinUI Gallery – including the expected resource keys, spacing, and ancillary controls. Need a NavigationView example with a custom title bar? An ItemsRepeater with virtualized cards? A Community Toolkit SettingsCard with an icon and a hyperlink? It’s one query away. Backs the design skill’s “show me a real-world example” capability and grounds the agent’s XAML in patterns that already shipped to real users.
winapp itself, or exposing the catalog over a small MCP server. We’re also working on expanding what’s searchable – multi-control composite patterns (a full settings page, not just a single ToggleSwitch), and going beyond UI into C# code patterns so agents can reliably search for snippets like “how do I implement a custom ICommand” or “Dispatcher-safe progress reporting from a background Task“. The right answer depends on where developers want to use it – your feedback will decide.
winmd-cli – offline WinRT + .NET API metadata lookupA native-AOT CLI that indexes .winmd and managed .dll metadata from NuGet, the Windows SDK, and WinAppSDK and provides fast, offline API lookup with the same XML doc text Visual Studio IntelliSense uses. The agent can use it to verify that an API actually exists and has the signature it thinks it does – before writing code that won’t compile.
winui-search – standalone CLI, integration into winapp, or MCP server. Likely shares whatever distribution decision we land on for winui-search.
BuildAndRun.ps1 – a temporary build wrapperThe winui-dev-workflow skill currently invokes a small PowerShell helper, BuildAndRun.ps1, instead of calling dotnet build directly. Why? There’s a known XAML compiler issue (issue, issue) where, under dotnet build, a malformed XAML file produces no useful diagnostic – the build just fails with no indication of what’s wrong in which .xaml. Agents that hit this get completely stuck: they can see the build failed, but they have no signal to act on, and they thrash through unrelated guesses.
The script’s actual workaround is small but specific: if MSBuild is available on the machine (i.e. Visual Studio with the right workload is installed), the script builds with MSBuild instead of dotnet build, because the XAML diagnostics flow correctly through MSBuild. If MSBuild isn’t there, it falls back to dotnet build and surfaces what it can. Either way, after a successful build it hands off to winapp run so the app launches the right way.
This is the part we want to over-communicate: everything you see today is a starting point.
BuildAndRun.ps1 helper will go away when the platform fix ships.winapp CLI is itself young and evolving in lockstep with these skills.If a skill produces something wrong, surprising, or just not as good as it should be, we want to know. The fastest way to influence the direction is to file an issue on the microsoft/win-dev-skills repo (the bug template asks you to attach a session report – generated for you by the winui-session-report skill).
Give the plugin a try and let us know what you think!
The post Introducing WinUI agent plugin for GitHub Copilot and Claude Code appeared first on #ifdef Windows.