react:components について
Stitch のデザインをモジュール化された型安全な React コンポーネントに変換するフロントエンド開発スキルです。画面データの取得、プロジェクトに合わせたスタイル適用、検証手順を案内します。
主な機能
- 01Stitch の画面デザインデータ取得
- 02デザイン素材のダウンロードと確認
- 03コンポーネント、ロジック、データの分離
- 04コンポーネントプロパティの型定義
- 05実装の検証とプレビュー
活用シーン
- 01Stitch の画面を React で実装
- 02再ダウンロードせずローカルのデザインを再利用
- 03UI ロジックとモックデータの整理
- 04公開前の生成コンポーネント確認
MCP 対応
Stitch MCP のツール名前空間を特定し、`get_screen` ツールでデザインデータを取得します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ google-labs-code/ stitch-skills --skill react:componentsインストール後、Claude Code で/react:componentsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
package-lock.jsonREADME.mdpackage.jsonexamples/gold-standard-card.tsxresources/architecture-checklist.mdstitch-api-reference.mdstyle-guide.jsoncomponent-template.tsxscripts/validate.jsfetch-stitch.sh詳細
Stitch から React コンポーネントへ
デザインを整理された React コードに変換することを専門とするフロントエンドエンジニアです。モジュール化された手法に従い、自動化ツールを使用してコードの品質を確保します。
取得とネットワーク
- 名前空間の検出:
list_toolsを実行し、Stitch MCP のプレフィックスを確認します。以降の呼び出しでは、このプレフィックス(例:stitch:)を使用します。 - メタデータの取得:
[prefix]:get_screenを呼び出して、デザインの JSON を取得します。 - 既存のデザインの確認:ダウンロードする前に、
.stitch/designs/{page}.htmlと.stitch/designs/{page}.pngがすでに存在するか確認します。- ファイルが存在する場合:MCP を使用して Stitch プロジェクトからデザインを更新するか、既存のローカルファイルを再利用するか、ユーザーに確認します。ユーザーが承認した場合にのみ、再ダウンロードします。
- ファイルが存在しない場合:ステップ 4 に進みます。
- 信頼性の高いダウンロード:内部の AI 取得ツールは、Google Cloud Storage のドメインで失敗することがあります。
- HTML:
bash scripts/fetch-stitch.sh "[htmlCode.downloadUrl]" ".stitch/designs/{page}.html" - スクリーンショット:まず、スクリーンショットの URL に
=w{width}を追加します。{width}は画面メタデータのwidth値です(Google CDN はデフォルトで低解像度のサムネイルを配信します)。次に、以下を実行します:bash scripts/fetch-stitch.sh "[screenshot.downloadUrl]=w{width}" ".stitch/designs/{page}.png" - このスクリプトは、必要なリダイレクトとセキュリティハンドシェイクを処理します。
- HTML:
- ビジュアル監査:ダウンロードしたスクリーンショット(
.stitch/designs/{page}.png)を確認し、デザインの意図とレイアウトの詳細を把握します。
アーキテクチャのルール
- モジュール化されたコンポーネント:デザインを独立したファイルに分割します。大きな単一ファイルの出力は避けてください。
- ロジックの分離:イベントハンドラーとビジネスロジックは、
src/hooks/のカスタムフックに移します。 - データの分離:すべての静的テキスト、画像 URL、リストを
src/data/mockData.tsに移します。 - 型安全性:各コンポーネントに、
[ComponentName]Propsという名前のReadonlyTypeScript インターフェースを含めます。 - プロジェクト固有の対応:対象プロジェクトの要件と制約に焦点を当てます。生成する React コンポーネントに Google のライセンスヘッダーを含めないでください。
- スタイルのマッピング:
- HTML の
<head>からtailwind.configを抽出します。 - これらの値を
resources/style-guide.jsonと同期します。 - 任意の 16 進数カラーコードではなく、テーマにマッピングされた Tailwind クラスを使用します。
- HTML の
実行手順
- 環境のセットアップ:
node_modulesがない場合は、検証ツールを使えるようにnpm installを実行します。 - データレイヤー:デザインの内容に基づいて
src/data/mockData.tsを作成します。 - コンポーネントの作成:
resources/component-template.tsxをベースとして使用します。作成するコンポーネントの実際の名前ですべてのStitchComponentを検索して置き換えます。 - アプリケーションへの組み込み:
App.tsxなどのプロジェクトのエントリーポイントを更新し、新しいコンポーネントをレンダリングします。 - 品質チェック:
- 各コンポーネントに対して
npm run validate <file_path>を実行します。 resources/architecture-checklist.mdに照らして最終出力を確認します。npm run devで開発サーバーを起動し、実際の表示を確認します。
- 各コンポーネントに対して
トラブルシューティング
- 取得エラー:シェルエラーを防ぐため、bash コマンド内で URL が引用符で囲まれていることを確認します。
- 検証エラー:AST レポートを確認し、不足しているインターフェースやハードコードされたスタイルを修正します。
コメント
Markdown 対応