stitch-loop
StitchをつかってWebサイトを反復的に構築するための、自律的なバトンパス型ループパターンをエージェントに習得させるスキルです。
description の原文を見る
Teaches agents to iteratively build websites using Stitch with an autonomous baton-passing loop pattern
SKILL.md 本文
Stitch Build Loop
あなたは自律的なフロントエンドビルダーであり、反復的なサイト構築ループに参加しています。目標は Stitch を使用してページを生成し、サイトに統合し、次の反復のための指示を準備することです。
概要
Build Loop パターンにより、「バトン」システムを通じて継続的で自律的なウェブサイト開発が可能になります。各反復では以下の処理を行います:
- バトンファイル (
.stitch/next-prompt.md) から現在のタスクを読む - Stitch MCP ツールを使用してページを生成する
- ページをサイト構造に統合する
- 次の反復のためのバトンファイルに次のタスクを書き込む
前提条件
必須:
- Stitch MCP Server へのアクセス
- Stitch プロジェクト(既存または新規作成予定)
.stitch/DESIGN.mdファイル(必要に応じてdesign-mdスキルを使用して生成)- サイトのビジョンとロードマップを記載した
.stitch/SITE.mdファイル
オプション:
- Chrome DevTools MCP Server — 生成されたページの視覚的な検証を有効化
バトンシステム
.stitch/next-prompt.md ファイルは反復間のリレーバトンとして機能します:
---
page: about
---
jules.top トラッキングの仕組みを説明するページです。
**DESIGN SYSTEM (REQUIRED):**
[.stitch/DESIGN.md のセクション 6 からコピー]
**ページ構造:**
1. ナビゲーション付きヘッダー
2. トラッキング方法論の説明
3. リンク付きフッター
重要なルール:
- YAML フロントマターの
pageフィールドが出力ファイル名を決定します - プロンプト内容は
.stitch/DESIGN.mdのデザインシステムブロックを含む必要があります - ループを続行するには、作業完了前にこのファイルを更新する必要があります
実行プロトコル
ステップ 1: バトンを読む
.stitch/next-prompt.md から以下を抽出します:
pageフロントマターフィールドからページ名- マークダウン本文からプロンプト内容
ステップ 2: コンテキストファイルを参照
生成前に以下のファイルを読み込みます:
| ファイル | 目的 |
|---|---|
.stitch/SITE.md | サイトビジョン、Stitch プロジェクト ID、既存ページ(サイトマップ)、ロードマップ |
.stitch/DESIGN.md | Stitch プロンプト用の必須ビジュアルスタイル |
重要な確認項目:
- セクション 4(サイトマップ) — 既に存在するページは再作成しないでください
- セクション 5(ロードマップ) — バックログが存在する場合はここからタスクを選択します
- セクション 6(クリエイティブな自由) — ロードマップが空の場合は新しいページのアイデア
ステップ 3: Stitch で生成
Stitch MCP ツールを使用してページを生成します:
- 名前空間を発見:
list_toolsを実行して Stitch MCP プレフィックスを見つけます - プロジェクトを取得または作成:
.stitch/metadata.jsonが存在する場合、そのprojectIdを使用します- それ以外の場合、
[prefix]:create_projectを呼び出し、その後[prefix]:get_projectを呼び出してプロジェクト詳細を取得し、.stitch/metadata.jsonに保存します(スキーマは以下を参照) - 各画面を生成した後、
[prefix]:get_projectを再度呼び出し、.stitch/metadata.jsonのscreensマップを各画面の完全なメタデータ(id、sourceScreen、dimensions、canvas position)で更新します
- スクリーンを生成:
[prefix]:generate_screen_from_textを呼び出し、以下を指定します:projectId: プロジェクト IDprompt: バトンからの完全なプロンプト(デザインシステムブロック含む)deviceType:DESKTOP(または指定通り)
- アセットを取得: ダウンロード前に、
.stitch/designs/{page}.htmlと.stitch/designs/{page}.pngが既に存在するかチェックします:- ファイルが存在する場合: Stitch プロジェクトからデザインをリフレッシュするか、既存のローカルファイルを再利用するかをユーザーに確認します。ユーザーが確認した場合のみ再ダウンロードします。
- ファイルが存在しない場合: ダウンロードを進行します:
htmlCode.downloadUrl— ダウンロードして.stitch/designs/{page}.htmlとして保存screenshot.downloadUrl— ダウンロード前に URL に=w{width}を追加します。ここで{width}は画面メタデータのwidth値です(Google CDN はデフォルトで低解像度サムネイルを提供)。.stitch/designs/{page}.pngとして保存
ステップ 4: サイトに統合
- 生成された HTML を
.stitch/designs/{page}.htmlからsite/public/{page}.htmlに移動します - アセットパスを public フォルダに対する相対パスに修正します
- ナビゲーションを更新します:
- 既存のプレースホルダーリンク(例:
href="#")を見つけて新しいページにワイヤーします - 必要に応じて新しいページをグローバルナビゲーションに追加します
- 既存のプレースホルダーリンク(例:
- すべてのページで一貫したヘッダー/フッターを確保します
ステップ 4.5: 視覚的検証(オプション)
Chrome DevTools MCP Server が利用可能な場合、生成されたページを検証します:
- 可用性を確認:
list_toolsを実行してchrome*ツールが存在するかチェックします - 開発サーバーを起動: Bash を使用してローカルサーバーを起動します(例:
npx serve site/public) - ページに移動:
[chrome_prefix]:navigateを呼び出してhttp://localhost:3000/{page}.htmlを開きます - スクリーンショットをキャプチャ:
[chrome_prefix]:screenshotを呼び出してレンダリングされたページをキャプチャします - 視覚的比較: Stitch スクリーンショット(
.stitch/designs/{page}.png)と比較して忠実性を確認します - サーバーを停止: 開発サーバープロセスを終了します
注: このステップはオプションです。Chrome DevTools MCP がインストールされていない場合、ステップ 5 に進みます。
ステップ 5: サイトドキュメントを更新
.stitch/SITE.md を修正します:
- セクション 4(サイトマップ)に新しいページを
[x]と共に追加します - セクション 6(クリエイティブな自由)から消費したアイデアを削除します
- バックログアイテムを完了した場合はセクション 5(ロードマップ)を更新します
ステップ 6: 次のバトンを準備(重要)
完了する前に .stitch/next-prompt.md を更新する必要があります。 これがループを継続させます。
- 次のページを決定:
.stitch/SITE.mdセクション 5(ロードマップ)で保留中のアイテムをチェック- 空の場合、セクション 6(クリエイティブな自由)から選択
- またはサイトビジョンに適合する新しいものを発明
- 適切な YAML フロントマターでバトンを書き込みます:
---
page: achievements
---
開発者バッジとマイルストーンを表示する競争的な実績ページです。
**DESIGN SYSTEM (REQUIRED):**
[.stitch/DESIGN.md のデザインシステムブロック全体をコピー]
**ページ構造:**
1. タイトルとナビゲーション付きヘッダー
2. ロック/アンロック状態を表示するバッジグリッド
3. マイルストーン追跡用プログレスバー
ファイル構造リファレンス
project/
├── .stitch/
│ ├── metadata.json # Stitch プロジェクト & スクリーン ID(これを保持してください!)
│ ├── DESIGN.md # ビジュアルデザインシステム(design-md スキルから)
│ ├── SITE.md # サイトビジョン、サイトマップ、ロードマップ
│ ├── next-prompt.md # バトン — 現在のタスク
│ └── designs/ # Stitch 出力用ステージングエリア
│ ├── {page}.html
│ └── {page}.png
└── site/public/ # 本番ページ
├── index.html
└── {page}.html
.stitch/metadata.json スキーマ
このファイルはすべての Stitch 識別子を保持し、将来の反復で編集またはバリアント用に参照できるようにします。プロジェクトを作成した後、または画面を生成した後に [prefix]:get_project を呼び出して設定します。
{
"name": "projects/6139132077804554844",
"projectId": "6139132077804554844",
"title": "My App",
"visibility": "PRIVATE",
"createTime": "2026-03-04T23:11:25.514932Z",
"updateTime": "2026-03-04T23:34:40.400007Z",
"projectType": "PROJECT_DESIGN",
"origin": "STITCH",
"deviceType": "MOBILE",
"designTheme": {
"colorMode": "DARK",
"font": "INTER",
"roundness": "ROUND_EIGHT",
"customColor": "#40baf7",
"saturation": 3
},
"screens": {
"index": {
"id": "d7237c7d78f44befa4f60afb17c818c1",
"sourceScreen": "projects/6139132077804554844/screens/d7237c7d78f44befa4f60afb17c818c1",
"x": 0,
"y": 0,
"width": 390,
"height": 1249
},
"about": {
"id": "bf6a3fe5c75348e58cf21fc7a9ddeafb",
"sourceScreen": "projects/6139132077804554844/screens/bf6a3fe5c75348e58cf21fc7a9ddeafb",
"x": 549,
"y": 0,
"width": 390,
"height": 1159
}
},
"metadata": {
"userRole": "OWNER"
}
}
| フィールド | 説明 |
|---|---|
name | 完全なリソース名(projects/{id}) |
projectId | Stitch プロジェクト ID(create_project または get_project から) |
title | 人間が読める形式のプロジェクトタイトル |
designTheme | デザインシステムトークン:カラーモード、フォント、丸みの強さ、カスタムカラー、彩度 |
deviceType | ターゲットデバイス:MOBILE、DESKTOP、TABLET |
screens | ページ名 → スクリーンオブジェクトのマップ。各スクリーンには id、sourceScreen(MCP 呼び出し用のリソースパス)、canvas 位置(x、y)、寸法(width、height)が含まれます |
metadata.userRole | プロジェクト上のユーザーの役割(OWNER、EDITOR、VIEWER) |
オーケストレーション オプション
ループはさまざまなオーケストレーションレイヤーで駆動できます:
| 方法 | 仕組み |
|---|---|
| CI/CD | GitHub Actions が .stitch/next-prompt.md の変更をトリガー |
| 人間参加型 | 開発者が各反復を確認してから続行 |
| エージェントチェーン | 1 つのエージェントが別のエージェント(例:Jules API)にディスパッチ |
| 手動 | 開発者が同じリポジトリでエージェントを繰り返し実行 |
このスキルはオーケストレーション非依存です — パターンに焦点を当て、トリガーメカニズムではありません。
デザインシステム統合
このスキルは design-md スキルと最もよく機能します:
- 初期セットアップ: 既存の Stitch スクリーンから
design-mdスキルを使用して.stitch/DESIGN.mdを生成 - 毎回の反復: セクション 6(「Stitch 生成用デザインシステムノート」)をバトンプロンプトにコピー
- 一貫性: すべての生成されたページが同じビジュアル言語を共有
よくある落とし穴
- ❌
.stitch/next-prompt.mdの更新を忘れる(ループが壊れる) - ❌ サイトマップに既に存在するページを再作成する
- ❌ プロンプトに
.stitch/DESIGN.mdからのデザインシステムブロックを含めない - ❌ プレースホルダーリンク(
href="#")のままにして、実際のナビゲーションをワイヤーしない - ❌ 新しいプロジェクト作成後に
.stitch/metadata.jsonを保持し忘れる
トラブルシューティング
| 問題 | ソリューション |
|---|---|
| Stitch 生成が失敗する | プロンプトにデザインシステムブロックが含まれていることを確認 |
| スタイルが不一致 | .stitch/DESIGN.md が最新で、正しくコピーされていることを確認 |
| ループが止まる | .stitch/next-prompt.md が有効なフロントマターで更新されたことを確認 |
| ナビゲーションが壊れた | すべての内部リンクが正しい相対パスを使用していることを確認 |
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- google-labs-code
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/google-labs-code/stitch-skills / ライセンス: Apache-2.0
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。