About windows-interop-modernize
This skill is a reference for interoperability and modernization across Win32, COM, WinRT, WPF/WinForms, and UWP. It is for developers maintaining Windows applications or planning migrations, and organizes guidance by task to locate relevant APIs and procedures.
Key features
- 01Cover Win32, COM, and WinRT interop
- 02Guide XAML hosting in WPF/WinForms
- 03Provide UWP to Windows App SDK migration guidance
- 04Map tasks to categorized reference documents
- 05Cover migration decisions and terminology
Use cases
- 01Assess modernization or migration paths for existing apps
- 02Call WinRT APIs from desktop applications
- 03Host WinUI 3 content in WPF or WinForms
- 04Plan a UWP app migration to Windows App SDK
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ fandhe-ai/ agent-reference-skills --skill windows-interop-modernizeAfter installing, type/windows-interop-modernizein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/cppwinrt/advanced-concurrency.mdagile-objects.mdasync-coroutines.mdauthor-apis.mdauthor-coclasses.mdbase-type.mdbinding-collection.mdboxing.mdcollections.mdcom-ptr-iinspectable.mdcompletion-source.mdconsume-apis.mdconsume-com.mddiag-direct-alloc.mderror-handling.mdevents-delegates.mdextension-points.mdget-started.mdinit-apartment.mdinterop-abi.mdinterop-winrt-cx-async.mdinterop-winrt-cx.mdmacros.mdmove-to-winrt-from-csharp.mdmove-to-winrt-from-cx.mdmove-to-winrt-from-wrl.mdnaming.mdnative-interop.mdnatvis.mdoverview.mdDetails
From the project READMEWindows Interop / Modernize リファレンス
Win32・COM・C++/WinRT・C#/WinRT・XAML Islands・WPF/WinForms・UWP を横断する相互運用と近代化のリファレンス。 既存の Win32/WPF/WinForms/UWP 資産に WinRT API や WinUI 3 コンテンツを組み込む、または UWP から Windows App SDK へ移行する際の API・手順を蒸留する。 ユーザーのタスクに応じて適切な README.md を読み、そこから個別ファイルへ辿ること。
ディレクトリ構成
skills/windows-interop-modernize/
SKILL.md
references/
migration-planning/
README.md
migration-decision-guide.md
migration-terminology.md
modernize-overview.md
win32-com/
README.md
com-create-instance.md
com-initialization.md
com-smart-pointers.md
create-window.md
cswin32.md
dialog-box.md
dpi-awareness.md
extended-window-styles.md
hresult-error-handling.md
iunknown.md
message-box.md
message-loop.md
pinvoke-csharp.md
register-window-class.md
win32-data-types.md
window-lifecycle.md
window-messages.md
window-procedure.md
window-styles.md
windows-rs.md
cppwinrt/
README.md
advanced-concurrency.md
agile-objects.md
async-coroutines.md
author-apis.md
author-coclasses.md
base-type.md
binding-collection.md
boxing.md
collections.md
com-ptr-iinspectable.md
completion-source.md
consume-apis.md
consume-com.md
diag-direct-alloc.md
error-handling.md
events-delegates.md
extension-points.md
get-started.md
init-apartment.md
interop-abi.md
interop-winrt-cx-async.md
interop-winrt-cx.md
macros.md
move-to-winrt-from-csharp.md
move-to-winrt-from-cx.md
move-to-winrt-from-wrl.md
naming.md
native-interop.md
natvis.md
overview.md
pass-parms-to-abi.md
projection-headers.md
std-cpp-data-types.md
strings.md
troubleshooting.md
use-csharp-component-from-cpp-winrt.md
weak-references.md
xaml-binding.md
xaml-cust-ctrl.md
csharp-winrt/
README.md
agile-objects.md
aot-trimming.md
api-availability-checks.md
async-operations.md
authoring-winrt-components.md
com-interop.md
dotnet-winrt-removal.md
net-mappings-of-winrt-types.md
net-projection-from-cppwinrt-component.md
overview.md
sdk-net-ref-targetframework.md
window-handle-interop.md
winrt-api-desktop-support.md
xaml-islands/
README.md
desktop-child-site-bridge.md
desktop-window-xaml-source.md
dpi-and-sizing.md
hosting-wpf-winforms-win32.md
input-focus-navigation.md
limitations.md
overview.md
uwp-vs-winui3-migration.md
windows-xaml-manager.md
wpf-winforms-interop/
README.md
ai-assisted-wpf-migration.md
copilot-modernization-guide.md
dotnet-upgrade-assistant.md
hwndhost-hwndsource.md
windows-app-sdk-existing-project.md
winforms-application-run.md
winforms-designer.md
winforms-form-control.md
winforms-patterns-winui3.md
winrt-apis-in-wpf-winforms.md
wpf-application.md
wpf-basic-controls.md
wpf-commanding.md
wpf-data-binding.md
wpf-dependency-property.md
wpf-routed-events.md
wpf-styles-templates.md
wpf-vs-winui3.md
wpf-window.md
wpf-winforms-hosting.md
wpf-xaml-overview.md
uwp-migration/
README.md
ai-assisted-migration.md
applifecycle-migration.md
background-task-migration.md
case-study-1-photolab.md
case-study-2-photo-editor.md
dwritecore-migration.md
feature-mapping.md
keyboard-events-migration.md
migration-overview.md
misc-migration-guidance.md
mrtcore-migration.md
namespace-mapping.md
overall-migration-strategy.md
push-notifications-migration.md
threading-migration.md
toast-notifications-migration.md
upgrade-assistant.md
what-is-supported.md
windowing-migration.md
winui3-ui-migration.md
探索手順
タスクからカテゴリを引き、カテゴリの README.md で目的のページを特定する:
- 下記マッピング表でタスクに対応するカテゴリを探す
- そのカテゴリの
references/{category}/README.mdを参照して目的のページを特定する - 該当ページの
.mdを Read して詳細を確認する
タスク → カテゴリ マッピング
| タスク | カテゴリ | 参照 README |
|---|---|---|
| 既存アプリを upgrade / modernize in place / WinUI 3 移行のどれで進めるか判断したい、用語 (upgrade / migrate / port / modernize) を確認したい | migration-planning | references/migration-planning/README.md |
| 既存 WPF / WinForms / Win32 アプリに追加できる Windows 機能と、Windows App SDK・package identity の要否を知りたい | migration-planning | references/migration-planning/README.md |
| CreateWindowExW / WNDPROC / メッセージループで生の Win32 ウィンドウを作成したい | win32-com | references/win32-com/README.md |
| COM オブジェクトの初期化・生成・参照カウント管理 (CoInitializeEx, CoCreateInstance, IUnknown, ComPtr) を行いたい | win32-com | references/win32-com/README.md |
| C# から CsWin32 / P/Invoke で Win32 API を呼びたい、Rust から windows-rs を使いたい | win32-com | references/win32-com/README.md |
| C++ で WinRT ランタイムクラスを消費・作成し、非同期処理やイベントを扱いたい | cppwinrt | references/cppwinrt/README.md |
| C++/WinRT の高度な非同期 (resume_after / resume_on_signal / completion_source)、C++/CX 非同期相互運用、基底型 override、natvis・直接アロケーション診断・トラブルシューティングを知りたい | cppwinrt | references/cppwinrt/README.md |
| IDL で API を作成し ABI・ネイティブ相互運用やエラーハンドリングを実装したい | cppwinrt | references/cppwinrt/README.md |
| C# から WinRT API を呼び出す、TFM 設定・非同期・型マッピングを把握したい | csharp-winrt | references/csharp-winrt/README.md |
| ComWrappers / AOT・trimming 対応や WinRT コンポーネントの作成を行いたい | csharp-winrt | references/csharp-winrt/README.md |
| WPF/WinForms/Win32 アプリに WinUI 3 の XAML コンテンツをホストしたい | xaml-islands | references/xaml-islands/README.md |
| DesktopWindowXamlSource / DesktopChildSiteBridge でフォーカス・DPI・サイズ同期を扱いたい | xaml-islands | references/xaml-islands/README.md |
| WPF / WinForms 既存アプリの基本 API (Window, Application, DependencyProperty, データバインディング) を確認したい | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| HwndHost/HwndSource や WindowsFormsHost/ElementHost で WPF と WinForms・Win32 を相互ホストしたい | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| WPF/WinForms に Windows App SDK を追加し WinRT API を呼びたい | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| WinForms のコントロール・レイアウト・バインディング・起動処理を WinUI 3 に対応付けたい、WPF 移行を AI エージェントで進めたい | wpf-winforms-interop | references/wpf-winforms-interop/README.md |
| (どの移行パスか未定の場合は migration-planning から) UWP アプリを Windows App SDK / WinUI 3 へ移行する全体戦略・名前空間対応を知りたい | uwp-migration | references/uwp-migration/README.md |
| ウィンドウ管理・スレッディング・通知・バックグラウンドタスクの UWP 固有 API を移行したい | uwp-migration | references/uwp-migration/README.md |
| .NET Upgrade Assistant で機械的な移行を進めたい | uwp-migration | references/uwp-migration/README.md |
| PhotoLab (C#) / Photo Editor (C++/WinRT) の移行事例を参考にしたい、AI コーディングエージェントで移行を自動化したい | uwp-migration | references/uwp-migration/README.md |
このスキルは Win32・COM・C++/WinRT・C#/WinRT・XAML Islands・WPF/WinForms・UWP 間の相互運用と移行手順のみを扱う。WinUI 3 のコントロール API 自体は windows-winui-controls、レイアウト・スタイル・XAML 記法は windows-winui-ui、Windows App SDK のランタイム機能は windows-app-sdk が担当する。MSIX packaging / package identity の詳細は windows-packaging-publish、Windows AI Foundry は windows-ai が担当する。