ui-mockup について
オーディオプラグイン向けWebView UIの設計と実装の土台を作るスキルです。ブラウザーで試せるモックアップを反復作成し、デザイン承認後にHTMLとC++の実装ファイルを生成します。
主な機能
- 01美的テンプレートの確認と適用
- 02段階的なUI要件の収集
- 03YAML仕様とHTMLモックアップの生成
- 04承認後のHTML・C++ファイル生成
- 05設計イテレーションのバージョン管理
活用シーン
- 01オーディオプラグインのUIレイアウト検討
- 02ブラウザーでのインタラクティブなモックアップ確認
- 03承認後のプラグインUI実装の土台作成
- 04保存した複数バージョンの比較や復元
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ glittercowboy/ plugin-freedom-system --skill ui-mockupインストール後、Claude Code で/ui-mockupを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/integration-checklist-template.mdparameter-binding-example.jsparameter-spec-template.mdui-yaml-template.yamlassets/webview-templates/CMakeLists-webview-snippet.cmakeindex-template.htmlPluginEditor-webview.cppPluginEditor-webview.hreferences/aesthetic-integration.mdbrowser-testing.mdcmake-configuration.mdcmake-generation.mdcommon-pitfalls.mdcontext-extraction.mdcpp-boilerplate-generation.mddecision-menus.mddelegation-protocols.mddesign-questions.mdhtml-generation.mdlayout-validation.mdphase-b-enforcement.mdstate-tracking.mdui-design-rules.mdversioning.md詳細
<quick_start>
- 美的デザインのライブラリを確認します(フェーズ 0)
- 段階的な質問を通じて要件を収集します(フェーズ 1~3)
- モックアップ生成のために ui-design-agent を呼び出します
- ユーザーが承認するまで反復します
- 実装ファイルを生成します </quick_start>
<context_detection> <standalone_mode>
.continue-here.mdファイルが存在しません- 独立してモックアップを生成します
- 状態の更新をスキップします </standalone_mode>
<workflow_mode>
current_stageフィールドを含むplugins/[PluginName]/.continue-here.mdファイルが存在します- 各フェーズの後にワークフローの状態を更新します </workflow_mode>
.continue-here.md の有無を確認してモードを判定します。ファイルが存在する場合は状態ファイルを更新します。存在しない場合は状態の更新をスキップします。
</context_detection>
UI デザインをどのように始めますか?
- 美的デザインのテンプレートから始める - 保存済みのビジュアルシステムを適用する
- 最初から始める - カスタムデザインを作成する
- 美的デザインをすべて一覧表示する - 決定する前にライブラリを確認する
選択してください(1~3): _
- オプション 1:メタデータ(名前、雰囲気、色、ソース)とともに、manifest の美的デザインを表示します。「apply」操作で ui-template-library スキルを呼び出します。生成したモックアップでフェーズ 4 に進みます。 - オプション 2:フェーズ 1(コンテキストの読み込み)に進みます。 - オプション 3:「list」操作で ui-template-library スキルを呼び出し、プレビューを表示してメニューに戻ります。 - 美的デザインがない場合:フェーズ 1 に直接進みます。完全な統合方法については、references/aesthetic-integration.md を参照してください。
呼び出しプロンプトに以下を含めます:
- 収集したすべての要件(レイアウト、コントロール、色など)
- 品質への期待:「商用の50~200ドルのオーディオプラグインのようなデザインにすること。意図的に設計し、デフォルトのままにしないこと」
呼び出しの概要については references/phase-details.md を参照してください。
プロトコルの全文については references/delegation-protocols.md を参照してください。
生成されたファイル:
- v[N]-ui.yaml(デザイン仕様)
- v[N]-ui-test.html(ブラウザーでテスト可能なモックアップ)
次に何をしますか?
- 反復する - デザインを調整し、レイアウトを変更する
- 確定する - 配置を検証し、モックアップを完成させる
- テンプレートとして保存する - 再利用できるよう、デザインライブラリに追加する
- その他
選択してください(1~4):_
- オプション1(反復する):調整内容を収集し、新しいバージョン(v2、v3 など)でフェーズ2に戻り、新しい ui-design-agent インスタンス(新しいコンテキスト)を呼び出します。 - オプション2(確定する):フェーズ5.6(ブリーフの自動更新)に進みます。UI セクションの正本となるのはモックアップです。ユーザーの操作は不要です。ブリーフの同期後、フェーズ6~10に進みます。 - オプション3(テンプレートとして保存する):ui-template-library スキルを「save」操作で呼び出し、保存後にフェーズ5.5のメニューに戻ります。 - オプション4(その他):カスタムリクエストに対応します(ブラウザーでのテスト、制約の検証など)。<iteration_guidance> オプション1(反復する)のフィードバックを収集する場合:
ユーザーが具体的な変更を提示した場合(「縦型にして」「メーターを追加して」「色を青に変更して」など):
- これらを明示的な要件として新しい ui-design-agent インスタンスに渡します
ユーザーが曖昧な改善リクエストを提示した場合(「もっと良くして」「改善して」「洗練させて」など):
- 詳細を尋ねます:「どの点を重点的に改善しますか?(レイアウト、色、間隔、コントロール)」
- ユーザーが「すべて」または「全体的な品質」と答えた場合、新しい要素を追加するのではなく、既存の要素(間隔、色の調和、コントロールのスタイル)を調整するよう指示を渡します </iteration_guidance>
詳細なルーティングについては references/decision-menus.md#phase-5-5-design-decision-menu を参照してください。
ガードの実装については references/phase-b-enforcement.md を参照してください。
<orchestration_protocol> <delegation_rules> このスキルがモックアップファイルを直接生成することはありません。すべてのファイル生成はサブエージェントに委任されます。
1. オーケストレーター:要件を収集します(フェーズ0~3.5) 2. オーケストレーター:Task ツール経由で ui-design-agent を呼び出します 3. ui-design-agent:YAML とテスト用 HTML を生成し、コミットして JSON を返します 4. オーケストレーター:JSON を解析し、フェーズ5.5のメニューを表示します 5. 反復する場合:オーケストレーターが新しい ui-design-agent を呼び出します 6. 確定する場合:オーケストレーターがブリーフを更新します(フェーズ5.6) 7. オーケストレーター:Task ツール経由で ui-finalization-agent を呼び出します 8. ui-finalization-agent:ファイルを5つ生成し、コミットして JSON を返します 9. オーケストレーター:JSON を解析し、完了メニューを表示します適用の詳細については references/delegation-protocols.md を参照してください。
</delegation_rules>
</orchestration_protocol>
<state_management>
サブエージェントは、各フェーズの結果で .continue-here.md を更新します。オーケストレーターは、JSON レポート内の stateUpdated フラグを確認します。
サブエージェントから stateUpdated: true が返されたら、実際の状態の内容が期待値と一致することを確認してください(ブール値のフラグを確認するだけでは不十分です)。
.continue-here.md を読み込み、YAML を解析して、特定のフィールドが JSON レポートの値と一致するか確認します。一致しない場合は、状態復旧メニューを表示します。
完全な状態スキーマと検証プロトコルについては、references/state-tracking.md を参照してください。
</state_management>
<iteration_protocol>
各イテレーションは、新しいエージェントコンテキストで実行されます。ユーザーが「Iterate」を選択すると、オーケストレーターはフィードバックを収集し、バージョンをインクリメントして新しい ui-design-agent を呼び出します。コンテキストを新しくすることで、反復的なデザイン中にコンテキストウィンドウが肥大化するのを防ぎます。
</iteration_protocol>
<error_handling>
- エージェントの失敗:エラーメニューを表示します(再試行/手動修正/デバッグ/キャンセル)。
- 検証の失敗:エージェントから
validationPassed: falseが返された場合、エラーメニューを表示します。 - 状態更新の失敗:エージェントから
stateUpdated: falseが返された場合、状態復旧メニューを表示します(検証/手動更新/そのまま続行)。 </error_handling> </orchestration_protocol>
<versioning_strategy> パターン:v1、v2、v3... 各バージョンは個別に保存します。
目的:作業内容を失わずにレイアウトを試し、デザインの A/B テストを行い、ロールバック用の履歴を保持します。
ファイル名:7 個すべてのファイルにバージョンを接頭辞として付けます(例:v2-ui.html、v2-PluginEditor.h)。
実装:ユーザーが別のバージョンを指定しない限り、Stage 3(GUI)では最新バージョンを使用します。
ファイル管理の詳細については、references/versioning.md を参照してください。
</versioning_strategy>
<success_criteria> <design_phase>
- ユーザーの要件に沿った YAML 仕様が生成されている
- ブラウザテスト用 HTML が動作する(インタラクティブなコントロール、パラメーターのメッセージ)
- ビジュアル品質が商用水準を満たしている(意図的にデザインされており、デフォルトのままではない)
- デザインファイルが git にコミットされている
.continue-here.mdがバージョンで更新されている(ワークフローモードの場合)- Phase 5.5 の選択メニューがユーザーに表示されている
- デザインが承認されている、またはユーザーが改善点を加えて反復している </design_phase>
<implementation_phase>
- 7 個すべてのファイルが生成され、
.ideas/mockups/に保存されている - 製品版 HTML が完成している(プレースホルダーなし)
- C++ のボイラープレートが YAML の構造と一致している(パラメーターのバインディングが正しい)
- parameter-spec.md が生成され、ロックされている(v1 のみ)
- 実装ファイルが git にコミットされている
.continue-here.mdが最終確定のステータスで更新されている(ワークフローモードの場合) </implementation_phase> </success_criteria>
<integration_points> <invoked_by>
/dreamコマンド - クリエイティブブリーフの後、実装の前plugin-workflowスキル - Stage 0(UI デザインフェーズ)中plugin-improveスキル - 既存のプラグイン UI を再デザインする場合- 自然言語:「[PluginName] の UI をデザイン」「コンプレッサーのモックアップを作成」 </invoked_by>
<always_invokes>
ui-design-agentサブエージェント(Phase 4-5.45)- デザインの反復に必須ui-finalization-agentサブエージェント(Phase 6-10.5)- 実装ファイルの作成に必須 </always_invokes>
<also_invokes>
ui-template-libraryスキル(ユーザーが美的スタイルを保存する場合) </also_invokes>
<reference_documentation> 段階的開示 - 該当するフェーズに到達したら、参照資料を読み込みます。
- フェーズ 0:
references/aesthetic-integration.md- 美的ライブラリの統合 - フェーズ 1:
references/context-extraction.md- クリエイティブブリーフの抽出 - フェーズ 2-3:
references/design-questions.md- 質問テンプレートと段階分け - フェーズ 2.5:
references/layout-validation.md- 寸法計算式 - フェーズ 4-5.45:
references/delegation-protocols.md- サブエージェントの呼び出し - フェーズ 5.5:
references/decision-menus.md- メニュー形式とルーティング - フェーズ 5.6:
references/state-tracking.md- ブリーフ同期プロトコル - フェーズ 6-10:
references/phase-b-enforcement.md- フェーズ B のガード - アンチパターン:
references/common-pitfalls.md- 避けるべきこと
技術的な詳細:
references/html-generation.md- 本番用 HTML のルールreferences/browser-testing.md- ブラウザーテストのワークフローreferences/cmake-configuration.md- WebView のビルド設定references/cpp-boilerplate-generation.md- C++ テンプレートの生成references/ui-design-rules.md- デザイン上の制約とパターンreferences/versioning.md- ファイル管理 </reference_documentation>
<template_assets>
assets/ui-yaml-template.yaml- YAML 構造assets/webview-boilerplate.md- C++ 統合テンプレートassets/integration-checklist-template.md- 統合ガイドassets/parameter-spec-template.md- パラメーター仕様の形式 </template_assets>