stitch::upload-to-stitch について
MCPの出力制限で直接転送しにくいローカルファイルを、スクリプト経由でStitchプロジェクトにアップロードするスキルです。送信前にユーザーの承認が必要です。
主な機能
- 01画像、HTML、Markdownのアップロード
- 02ローカルファイルをHTTPで直接送信
- 03拡張子に基づくMIMEタイプ判定
- 04画面タイトルと生成元の指定
活用シーン
- 01ローカルのデザイン素材をStitchに追加
- 02抽出したウェブページのHTMLをアップロード
- 03大きなファイルのBase64出力制限を回避
MCP 対応
Stitch MCPの`list_projects`でプロジェクトを特定し、MCP設定からAPIキーを取得します。実際のファイル転送はスクリプトがHTTPで行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google-labs-code/ stitch-skills --skill stitch::upload-to-stitchインストール後、Claude Code で/stitch::upload-to-stitchを入力して読み込まれたか確認します。
同梱ファイルscripts/upload_to_stitch.py
詳細
Stitch へのアップロード
付属のアップロードスクリプトを使用して、ローカルのアセット(画像、モックアップ、HTML、Markdown ファイル)を Stitch プロジェクトにアップロードします。このスクリプトは、MCP ツールの Base64 出力トークン制限を回避します。
メモ
小さなファイルでも Base64 エンコードするとモデルの出力トークン制限(約 16K トークン)を超えるため、AI モデルは MCP ツール経由でファイルを直接アップロードできません。このスクリプトはファイルを読み込み、HTTP 経由で直接送信します。
手順
1. 対象プロジェクトを特定する
list_projects を使用して、正しい projectId を見つけます。
2. API キーを取得する
アクティブな MCP サーバー設定ファイルを見つけ、API キーを取得します。
- Antigravity:
.gemini/antigravity/mcp_config.jsonまたは.gemini/jetski/mcp_config.json - Gemini CLI:
~/.gemini/settings.jsonまたは~/.gemini/extensions/Stitch/gemini-extension.json - Claude Code:
~/.claude.json
以下を取得します。
- API キー:
X-Goog-Api-Keyヘッダーまたは認証引数から取得します - MCP URL(任意):
httpUrlまたはエンドポイント引数から取得します(デフォルトはhttps://stitch.googleapis.com)
重要
これらの場所で API キーが見つからない場合、またはこれらのファイルにアクセスできない場合は、Stitch API キーをユーザーに提示してもらう必要があります。有効な API キーがないまま作業を進めてはいけません。
3. アップロードスクリプトを実行する
警告
チェックポイント — ユーザーの確認が必要です。 アップロードスクリプトを実行する前に、アップロードするファイル(パス、サイズ、種類)をユーザーに提示し、明示的な承認を待つ必要があります。ユーザーの確認を得るまで、アップロードスクリプトを実行してはいけません。
run_command を使用して Python スクリプトを実行します。
python3 <SKILL_DIR>/scripts/upload_to_stitch.py \
--project-id <PROJECT_ID> \
--file-path <PATH_TO_FILE> \
--api-key <API_KEY> \
[--api-url <STITCH_API_URL>] \
[--title <SCREEN_TITLE>] \
[--generated-by <GENERATED_BY>]
ヒント
macOS/SSL 証明書のトラブルシューティング:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] unable to get local issuer certificateが発生してアップロードに失敗する場合、Python のインストール環境でルート証明機関が設定されていないことを意味します。スクリプトは、Python 環境に
certifiパッケージがインストールされていれば、自動的にこれを使用して CA バンドルを読み込もうとします。certifiがインストールされていない場合は、インストールする(pip install certifi)か、スクリプトの実行時にSSL_CERT_FILE環境変数を手動で指定できます。SSL_CERT_FILE=$(python3 -c "import certifi; print(certifi.where())") python3 <SKILL_DIR>/scripts/upload_to_stitch.py \ --project-id <PROJECT_ID> \ --file-path <PATH_TO_FILE> \ --api-key <API_KEY> \ [--api-url <STITCH_API_URL>] \ [--title <SCREEN_TITLE>] \ [--generated-by <GENERATED_BY>]
対応ファイル形式
| 拡張子 | MIME タイプ |
|---|---|
.png | image/png |
.jpg, .jpeg | image/jpeg |
.webp | image/webp |
.html, .htm | text/html |
.md | text/markdown |
スクリプトはファイル拡張子から MIME タイプを自動検出します。
スクリプトのオプション
--project-id:必須。Stitch のプロジェクト ID です。--file-path:必須。アップロードするローカルファイルのパスです。--api-key:必須。Stitch の認証に使用する API キーです。--api-url:任意。Stitch API のベース URL です。デフォルトはhttps://stitch.googleapis.comです。--title:任意。アップロードする画面のタイトルです。ウェブアプリから抽出した HTML をアップロードする場合は、Stitch の画面名/タイトルでルートが明確に分かるよう、ページのルートパス(例:'/dashboard'、'/settings/profile'、'/inbox')を指定します。--generated-by:任意。アップロードするファイルの生成方法を指定します(例:'stitch::extract-static-html' スキル、'Claude Code'、'Codex'、'Gemini' など)。