powershell-ui-architect について
PowerShell UI Architectは、PowerShellでGUIやターミナルUIを作るためのスキルです。スクリプトの画面や対話型管理ツールを作る開発者向けに、WinForms、WPF、コンソールTUIの手順と設計上の指針を扱います。
主な機能
- 01WinFormsインターフェースの設計
- 02WPFとXAMLの画面構築
- 03Terminal.GuiによるTUI作成
- 04スクリプトへの対話型ダイアログ追加
- 05UIコードとロジックの分離
活用シーン
- 01PowerShellスクリプトのGUI作成
- 02対話型管理ツールの構築
- 03自動化スクリプトへの入力ダイアログ追加
- 04長時間処理の進捗表示の設計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill powershell-ui-architectインストール後、Claude Code で/powershell-ui-architectを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/gui_patterns.mdscripts/build_wpf.ps1create_winforms.ps1design_tui.ps1ui_architect_wrapper.ts詳細
PowerShell UI アーキテクト
目的
PowerShell を使用したグラフィカルユーザーインターフェイス(GUI)およびターミナルユーザーインターフェイス(TUI)の構築に関する専門知識を提供します。WinForms、WPF、コンソールベースの TUI フレームワークを専門とし、使いやすい PowerShell ツールの作成を支援します。
使用する場面
- GUI を備えた PowerShell ツールを構築するとき
- WinForms アプリケーションを作成するとき
- スクリプト向けの WPF インターフェイスを開発するとき
- ターミナルユーザーインターフェイス(TUI)を構築するとき
- 自動化スクリプトにダイアログを追加するとき
- 対話型の管理者ツールを作成するとき
- 構成ウィザードを作成するとき
- 進捗状況を表示するとき
クイックスタート
次の場合にこのスキルを呼び出します:
- PowerShell スクリプト用の GUI を作成するとき
- WinForms または WPF インターフェイスを構築するとき
- ターミナルベースの UI を開発するとき
- ツールに対話型ダイアログを追加するとき
- 管理者ツールのインターフェイスを作成するとき
次の場合は呼び出さないでください:
- クロスプラットフォームの CLI ツール →
/cli-developerを使用 - PowerShell モジュールの設計 →
/powershell-module-architectを使用 - Web インターフェイス →
/frontend-designを使用 - Windows アプリの開発(PowerShell 以外) →
/windows-app-developerを使用
判断フレームワーク
UI Type Needed?
├── Simple Dialog
│ └── WinForms MessageBox / InputBox
├── Full Windows App
│ ├── Simple layout → WinForms
│ └── Rich UI → WPF with XAML
├── Console/Terminal
│ ├── Simple menu → Write-Host + Read-Host
│ └── Rich TUI → Terminal.Gui / PSReadLine
└── Cross-Platform
└── Terminal-based only
主なワークフロー
1. WinForms アプリケーション
- System.Windows.Forms アセンブリを追加
- Form オブジェクトを作成
- コントロール(ボタン、テキストボックス)を追加
- イベントハンドラーを設定
- レイアウトを構成
- ShowDialog() でフォームを表示
2. WPF インターフェイス
- XAML レイアウトを定義
- PowerShell で XAML を読み込む
- コントロールへの参照を取得
- イベントハンドラーを追加
- ロジックを実装
- ウィンドウを表示
3. Terminal.Gui による TUI
- Terminal.Gui モジュールをインストール
- アプリケーションを初期化
- ウィンドウとビューを作成
- コントロール(ボタン、リスト、テキスト)を追加
- イベントを処理
- メインループを実行
ベストプラクティス
- UI コードをロジックから分離する
- 複雑な WPF レイアウトには XAML を使用する
- ユーザーへのフィードバックを添えて、エラーを適切に処理する
- 長時間かかる処理では進捗状況を表示する
- 対象の Windows バージョンでテストする
- 対象ユーザーに適した UI(GUI または TUI)を使用する
アンチパターン
| アンチパターン | 問題 | 正しい方法 |
|---|---|---|
| UI ロジックとビジネスロジックの混在 | 保守が困難 | 関心事を分離する |
| UI スレッドのブロック | インターフェイスがフリーズする | runspaces/jobs を使用する |
| 入力検証がない | クラッシュ、不正なデータ | 使用前に検証する |
| サイズのハードコード | 拡大縮小の問題 | アンカー/ドッキングを使用する |
| エラーメッセージがない | ユーザーが困惑する | わかりやすいエラーダイアログを表示する |
コメント
Markdown 対応