レストランデモオーケストレーター は何をしますか?
リードの取り込みからローカル検証済みプライベートデモまで、再開可能なワークオーダー1件を実行します。このスキルとメインエージェントを制御プレーンとして扱い、3つの境界付けられたワーカーエージェントと4つの専門家スキルを実行プレーンとして使用します。
ステージモデル、アーティファクトの種類、または遷移ルールを変更する前に、references/orchestration-contract.md を読んでください。
ワークオーダーの開始または再開
- プロジェクトのコンテキストを読み、ブラウジングの前にローカルリードデータを検査します。
scripts/workflow.py initでワークオーダーを初期化します。利用可能な場合は、シート行、Place ID、Maps URL、ローカルリードスナップショットをシードします。scripts/workflow.py resumeを実行し、アクティブまたは依存関係が準備できた各ステージ、そのワーカーレーン、割り当てられたスキル、期待されるアーティファクト、ステージ固有のプロンプトを取得します。- メインエージェントで、取り込み、リサーチ、デザインロック、画像スロットを完了してから、ファンアウト(並列展開)します。
- サブエージェントが利用可能な場合、デザインワーカー1人、フードワーカー1人、外観ワーカー1人を起動します。依存関係が準備できた3つのレーンを同時に開始します。各ワーカーは実際のアーティファクトを記録し、割り当てられたステージのみを
passed、blocked、またはオプショナルブランチの場合のみskipped(理由付き)とマークします。 - すべてのワーカーを結合します。メインエージェントはコントラクト検証を実行し、出力を統合し、競合を解決し、最終QAを実行し、プライベートデモを記録します。
- 遷移後は
scripts/workflow.py validateを実行します。パレット、フード、または外観マニフェストが合格した後は--run-contractsを使用します。 private_demoが合格するか、証拠が真のブロッカーを作成するまで繰り返します。サブエージェントが利用できない場合は、同じレーンを逐次実行し、ステージノートにフォールバックを記録します。
ユーザーに各スキルを個別に呼び出すように依頼しないでください。ユーザーがデモのビルド、実行、続行、または再開を指示した場合は、同じタスク内でブロックされていないすべてのステージを継続します。専門家スキルを切り替える際には、簡潔な進捗更新を提供します。
専門家の境界を維持する
オーケストレーター内で専門家の作業を再現するのではなく、割り当てられたスキルを使用します。
research,design_lock,image_slots,site_design,implementation,qa:$restaurant-demo-builderbrand_palette:$restaurant-brand-palettefood_images:$restaurant-food-image-studioexterior_image:$restaurant-exterior-image-studiointakeとprivate_demo: このスキル
専門家ステージをディスパッチする前に、メインエージェントはそのスキルを完全に読まなければなりません。各ワーカーも割り当てられたスキルを読み、その証拠と検証ゲートに従わなければなりません。ステージは、必要なアーティファクトが存在する場合にのみ合格できます。ワークフローによって記録された専門家マニフェストのステータスは、専門家バリデーターを決して上書きしません。
並列エージェント契約
これらの分離されたレーンで最大3つのワーカーエージェントを使用します。
design:brand_paletteを実行し、コントラクトで定義された画像プレースホルダーを使用してレスポンシブなsite_designシェルを作成します。パレット/ロック/ハンドオフファイルとサイトシェルを書き込みます。ワーカーの画像出力を統合したり、最終QAを実行したりしません。food:food_imagesを実行します。フード画像スタジオのワークオーダーとマニフェストのみを書き込みます。サイトシェルや最終デモを編集しません。exterior:exterior_imageを実行します。外観画像スタジオのワークオーダーとマニフェストのみを書き込みます。サイトシェルや最終デモを編集しません。
メインエージェントは、取り込み、リサーチ、全レーンで共有されるロック、最終 implementation、QA、リポジトリ操作、公開決定、およびユーザーハンドオフを所有します。メインエージェントのみが、選択したワーカーアセットを最終デモにコピーし、コピー/レイアウト/アセットの競合を調整し、デモの準備完了を宣言できます。
ワーカーは、workflow.py set-stage を通じて自身のワークフローステージを更新できます。状態ツールは同時書き込みをシリアル化します。ワーカーは他のレーンのファイルやステータスを編集してはなりません。ワーカーの完了時には、メッセージだけを信頼するのではなく、実際のアーティファクトを検査し、バリデーターを実行します。
ステージルール
次の順序に従います。
intake
-> research
-> design_lock
-> image_slots
-> [design: brand_palette -> site_design]
[food: food_images] (並列)
[exterior: exterior_image]
-> implementation (メインエージェントによる)
-> qa
-> private_demo
food_images と exterior_image は決定ブランチであり、黙って省略されるものではありません。資格のあるアセットが生成された場合は合格とします。ページがテキスト主体のままである場合や、外観が到着価値を追加しない場合は、証拠に基づく理由を添えてスキップします。brand_palette をスキップしないでください。レストランの証拠がブランド由来のパレットをサポートできない場合は、明示的にラベル付けされた Recipe フォールバックを使用します。
これらのステータスのみを使用します。依存関係のない最大3つのワーカーステージが同時に in_progress になる可能性がありますが、ワーカーレーンごとに1つのみです。メインエージェントステージはワーカーステージと重複しません。
pending: 未開始in_progress: アクティブに実行中。常に1度に1ステージのみ。passed: 依存関係、アーティファクト、および関連するバリデーターが合格blocked: 続行不可。具体的なブロッカーを記録します。skipped: オプショナルブランチが意図的に省略された。理由を記録します。
ワークフローを進めるために、不完全な作業を passed とマークしないでください。証拠や出力が変更された場合は、--reopen で終端ステージを再開します。
コマンド
<orchestrator-skill> を、このインストールされたスキルフォルダに置き換えます。レストランプロジェクトディレクトリからワークオーダーコマンドを実行します。
初期化:
python3 <orchestrator-skill>/scripts/workflow.py init \
--project-root . \
--restaurant "レストラン名" \
--slug restaurant-name \
--place-id "PLACE_ID" \
--maps-url "GOOGLE_MAPS_URL" \
--lead-json output/leads.json \
--source-sheet-id "SHEET_ID" \
--source-sheet-title "シートのタイトル" \
--source-tab Sheet1 \
--source-row 28 \
--sheet-checked-at 2026-07-13
検査と再開。resume はファンアウト後に複数のアクション可能なステージを返す場合があります。
python3 <orchestrator-skill>/scripts/workflow.py status \
--workflow orchestration/restaurant-name/workflow.json
python3 <orchestrator-skill>/scripts/workflow.py resume \
--workflow orchestration/restaurant-name/workflow.json
ステージを記録:
python3 <orchestrator-skill>/scripts/workflow.py set-stage \
--workflow orchestration/restaurant-name/workflow.json \
--stage research --status passed \
--artifact research_record=orchestration/restaurant-name/research/RESEARCH.md \
--artifact restaurant_profile=orchestration/restaurant-name/research/restaurant-profile.json
検証:
python3 <orchestrator-skill>/scripts/workflow.py validate \
--workflow orchestration/restaurant-name/workflow.json --run-contracts
ガードレール
- 新しいワークオーダーはデフォルトで
private-localのままにします。 - 自動デプロイ、アップロード、メール、Messenger、またはアウトリーチコマンドを追加しないでください。
- 検証済みの事実、スナップショットの事実、推論、創造的な決定、未解決の質問を明確に区別します。
- 現在の営業時間、メニュー、評価、レビュー数、Webサイトステータス、サービス、連絡先リンクをページで使用する前に再確認します。
- シークレット、サービスアカウントファイル、トークン、プライベート認証情報をワークオーダーに配置しないでください。
private_demoで停止します。公開とアウトリーチには、別途明示的なユーザー承認が必要です。
ハンドオフ
ワークオーダーのパス、現在のステージ、利用可能な場合はローカルデモのパスまたはURL、検証結果、ブロッカー、オーナー確認項目、および公開クリアランスのギャップを報告します。別途承認されない限り、公開やアウトリーチは行われていないことを明示的に述べます。