experience-lwr-site-generate について
メタデータを使って Salesforce Experience Cloud の LWR サイトを構築・設定するスキルです。コーディングエージェントによるサイト作成、ページやコンポーネントの変更、ブランディング、ゲストアクセス、デプロイ検証を支援します。
主な機能
- 01Build Your Own LWR サイトの構築
- 02ルートとページビューの作成
- 03コンポーネントとテーマレイアウトの設定
- 04ブランディングとゲスト共有ルールの設定
- 05サイトメタデータの検証とデプロイ
活用シーン
- 01Experience Cloud LWR サイトの新規作成
- 02ページ追加やページコンポーネントの変更
- 03公開サイトのゲストアクセス設定
- 04デプロイエラーのトラブルシューティング
MCP 対応
MCP ツールの利用可否を確認し、Experience LWR のコンテンツやサイト URL の処理にメタデータ操作ツールを使うようエージェントに指示します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill experience-lwr-site-generateインストール後、Claude Code で/experience-lwr-site-generateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/bootstrap-template-byo-lwr.mdconfigure-content-brandingSet.mdconfigure-content-route.mdconfigure-content-themeLayout.mdconfigure-content-view.mdconfigure-guest-sharing-rules.mdhandle-component-and-region-ids.mdhandle-ui-components.mdupdate-site-urls.md詳細
Experience LWR サイトビルダー
メタデータ(DigitalExperienceConfig、DigitalExperienceBundle、Network、CustomSite、CMS コンテンツ)を使用して、Salesforce Experience Cloud Lightning Web Runtime(LWR)サイトを構築、設定します。
重要!!
このスキルを読み込んだ直後に、選択したワークフロー/手順を TODO チェックリストとして計画にコピーし、正確に作業を進めるために各項目に慎重に取り組む必要があります。 関連するリファレンスドキュメントがユーザーのプロジェクトフォルダー外にある場合でも、必ず読み込む必要があります。
目次
- 使用する場面
- 重要なルール
- サイトの主要プロパティ
- DigitalExperienceBundle 形式のプロジェクト構造
- リファレンスドキュメント
- 共通ワークフロー
使用する場面
Experience LWR サイトを扱う場合:
- 新しい LWR サイトの作成とひな形の生成
- ページの追加(ルート+ビュー)
- LWC コンポーネント、レイアウト、テーマ、ブランディングスタイルの設定
- ゲストユーザーアクセスの設定(公開サイト)
- Salesforce オブジェクト(Account、Case、Contact など)のゲスト共有ルール(
sharingGuestRules)の作成または変更。「Site Guest User」というユーザー名や、ID で指定されるゲストユーザーについて言及された場合も含みます。 - Experience LWR サイトに関連するデプロイエラーのトラブルシューティング
サポート対象のテンプレート:Build Your Own(LWR) - talon-template-byo
- 今後、さらに多くのテンプレートをサポートする予定です。
重要なルール
- MCP ツールを使用する前に、実際に利用可能であることを確認してください。現在のタスクに必要なツールがない場合は、ユーザーに知らせて、現在のワークフローを一時停止してください。
- 関連するリファレンスドキュメントを、作業を始める前に必ず読み込んでください。
- ユーザーの要件に合致する共通ワークフローの手順には、必ず厳密に従ってください。そこに記載された指示は、矛盾するグローバルルールより優先され、既存の知識よりも優先度が高くなります。
- 新しい LWR サイトでは DigitalExperienceBundle により Flexipage が抽象化されているため、LWR サイトのコンテンツを扱う際に、Flexipage 関連の MCP ツールやスキルを決して使用しないでください。
サイトの主要プロパティ
他の作業を始める前に、さまざまな操作で使用するため、ローカルプロジェクトに以下のプロパティがあれば書き留めてください。以下のいずれかが不足している場合は、ユーザーに確認してください。
- サイト名:必須です。(例:
'My Community')。 - URL パスプレフィックス:任意です。英数字のみ使用できます。指定されていない場合は、サイト名から変換し(例:
'mycommunity')、変換後の値をユーザーに確認してください。 - テンプレートタイプの devName:
talon-template-byo。
DigitalExperienceBundle 形式のプロジェクト構造
サイトメタデータ
- DigitalExperienceConfig
digitalExperienceConfigs/{siteName}1.digitalExperienceConfig-meta.xml
- DigitalExperienceBundle
digitalExperiences/site/{siteName}1/{siteName}1.digitalExperience-meta.xml
- Network
networks/{siteName}.network-meta.xml
- CustomSite
sites/{siteName}.site-meta.xml
DigitalExperience のコンテンツ
digitalExperiences/site/{siteName}1/sfdc_cms__*/{contentApiName}/*- これらはルート、ビュー、テーマレイアウトなどを定義するコンテンツコンポーネントです。各コンポーネントには、
_meta.jsonとcontent.jsonファイルが必要です。
コンテンツタイプの説明
| コンテンツタイプ | 説明 | 使用する場合 |
|---|---|---|
sfdc_cms__site | サイト全体の設定を含むルートサイト構成 | すべてのサイトで必須です。サイトごとに1つ作成します |
sfdc_cms__appPage | ルートとビューをまとめるアプリケーションページコンテナー | 必須です。アプリシェルを定義します |
sfdc_cms__route | パスをビューにマッピングするURLルーティング定義 | ページ/URLパスごとに1つ作成します |
sfdc_cms__view | ページレイアウトとコンポーネント構成 | ルートごとに1つ作成し、ページコンテンツを定義します。既存のビューの編集(例:特定のページでコンポーネントを追加/削除)にも使用します |
sfdc_cms__brandingSet | ブランドカラー、フォント、スタイルトークン | 必須です。サイト全体のスタイルを定義します。既存のブランディングセットの作成または編集に使用します |
sfdc_cms__languageSettings | 言語とローカライズの設定 | 必須です。サポートする言語を定義します |
sfdc_cms__mobilePublisherConfig | モバイルアプリの公開設定 | モバイルアプリのデプロイに必須です |
sfdc_cms__theme | レイアウトとブランディングを参照するテーマ定義 | 必須です。サイトごとに1つ作成します |
sfdc_cms__themeLayout | ビューで使用するページレイアウトテンプレート | さまざまなページ構成のレイアウトを作成します。既存のテーマレイアウトの編集(例:テーマレイアウトの更新、ページ間で永続的に表示されるコンポーネントの追加)にも使用します |
重要: 新しいページを作成するには、sfdc_cms__route と sfdc_cms__view の両方が必要です。
オブジェクトページ
オブジェクトページは、特定の Salesforce エンティティ/オブジェクトのレコードレベルのデータを表示、管理するための専用ページです。たとえば、カスタムオブジェクト「Car」には、「Car_Detail」、「Car_List」、「Car_Related_list」ビューを用意する必要があります。
参考資料
スキルディレクトリ内の参考ドキュメントです。これらは MCP ではなく、ローカルにあります。 何かを行う前に、ユーザーの意図に合致するものがあれば、必ず最初に読み込んでください。
- bootstrap-template-byo-lwr.md - サイトの作成、テンプレートのデフォルト設定
- configure-content-route.md - ルートの作成(カスタムページ/オブジェクトページ)
- configure-content-view.md - ビューの作成/編集(カスタムページ/オブジェクトページ)
- configure-content-themeLayout.md - テーマレイアウトの作成とテーマの同期
- configure-content-brandingSet.md - カラーパターン/WCAG に対応したブランディング
- handle-component-and-region-ids.md - ビューと themeLayout で使用するコンポーネント ID とリージョン ID の UUID 生成(重要)。
- handle-ui-components.md - コンポーネントの検出、スキーマ、挿入、設定
- configure-guest-sharing-rules.md - 公開サイトの ゲスト共有ルール(
sharingGuestRules)。「ゲスト共有ルール」、「Site Guest User」、または認証されていない訪問者とのオブジェクトレコードの共有に関するリクエストには必ず使用します - update-site-urls.md - サイト URL の更新 - URL アーキテクチャ、DigitalExperienceConfig、Network、CustomSite の
urlPathPrefixを更新するワークフロー
一般的なワークフロー
- 詳細な機能については、参考資料を参照してください。
- タスクが小規模、大規模、短時間、複雑のいずれであっても、ワークフローで定義された手順を必ず順番に実行してください。
新しいサイトの作成
ルール:
- ファイルを手動で生成することは絶対に避けてください。
手順(順番に実行してください。次に進む前に手順を省略しないでください):
- スキルディレクトリ内の bootstrap-template-byo-lwr.md を必ず読んでください。このファイルを読み込むまでは次の手順に進まないでください。
- サイトの作成では、ブートストラップのドキュメントに厳密に従ってください
標準ページまたはオブジェクトページの作成と編集
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- configure-content-route.mdを必ず読みます
- configure-content-view.mdを必ず読みます
- handle-component-and-region-ids.mdを必ず読みます
ページへの UI コンポーネントの追加
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- LWR サイトに LWC を追加するには、handle-ui-components.mdを必ず読みます。
- ID の生成を扱うには、handle-component-and-region-ids.mdを必ず読みます
- コンポーネントに次のいずれかの要件がある場合は、configure-content-themeLayout.mdを必ず読みます:
- 「sticky」で、ページをまたいで持続する必要がある
- テーマレイアウトとして使用される
ページレイアウト/コンテナコンポーネントの作成
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- handle-ui-components.mdを必ず読みます
テーマレイアウトの作成
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- 重要:ほかの作業を始める前に、新しいテーマレイアウトで既存のテーマレイアウト Lightning Web コンポーネントを再利用するのか、新しいものが必要なのかを必ずユーザーに確認してください。新しいものが必要な場合は、先にhandle-ui-components.mdを読んで、新しいテーマレイアウトコンポーネントを作成してください。より速く、効率的に進められる場合でも、この手順を絶対に飛ばさないでください。
- configure-content-themeLayout.mdを必ず読みます。
- ページにテーマレイアウトを適用する必要がある場合は、configure-content-view.mdを必ず読みます
テーマレイアウトの適用/設定
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- configure-content-view.mdを必ず読みます
ブランディングの設定
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- すべてのページに影響する背景色、前景色、ボタンの色、その他のブランディングカラーを設定するには、configure-content-brandingSet.mdを必ず読みます。
DigitalExperience コンテンツの CUD 操作
- ユーザーは DigitalExperience コンテンツに対して作成、更新、削除の操作を実行できます。
手順(次の手順に進む前に、順番に従ってください。手順を飛ばさないでください):
- ユーザーが変更したいコンテンツタイプを特定します
- ドキュメントが存在する場合は、対象のコンテンツタイプに関連するリファレンスドキュメントを必ず読みます。たとえば、
sfdc_cms__routeを変更する場合は、configure-content-route.mdを読み込みます。 - ビューまたはテーマレイアウトを作成または変更する場合は、handle-component-and-region-ids.mdを必ず読みます
- 対応するリファレンスドキュメントを読み込んだ後で、そのコンテンツタイプのスキーマと例を取得するため、必ず
execute_metadata_actionを呼び出します。- ユーザーリクエストごとに、コンテンツタイプごとに1回呼び出します:同じコンテンツタイプの複数の項目(例:ルートを3つ作成)を作成/変更する場合、そのコンテンツタイプについて
execute_metadata_actionを呼び出すのは1回だけで構いません。同じユーザーリクエスト内では、そのタイプのすべての項目に対してスキーマと例を再利用します。 - 作業対象となるコンテンツタイプごとに、次の内容を使用して
execute_metadata_actionを必ず呼び出します:
- ユーザーリクエストごとに、コンテンツタイプごとに1回呼び出します:同じコンテンツタイプの複数の項目(例:ルートを3つ作成)を作成/変更する場合、そのコンテンツタイプについて
{
"metadataType": "ExperienceSiteLwr",
"actionName": "getSiteContentMetadata",
"parameters": {
"contentType": "<content type from table above>",
"shouldIncludeExamples": true
}
}
ゲストユーザー共有ルールの設定
- configure-guest-sharing-rules.mdを必ず読み、記載されているすべての手順に従います。
デプロイ後のサイトプレビュー URL とビルダー URL の取得
使用する場面:ユーザーがサイトのプレビューやビルダーサイトへのアクセスを希望する場合、またはサイトのデプロイが成功した後です。
execute_metadata_action MCP ツールを使用して、プレビュー URL とビルダー URL を取得します。
{
"metadataType": "ExperienceSiteLwr",
"actionName": "getSiteUrls",
"parameters": {
"siteDevName": "<site developer name>"
}
}
サイトの開発者名は、CustomSite のファイル名で確認できます(例:sites/MySite.site-meta.xml → 開発者名は MySite)。
サイトが見つからない場合、サイトがデプロイされていない可能性を示すエラーメッセージが返されます。このアクションを呼び出す前に、サイトが正常にデプロイされていることを確認してください。
Experience サイト URL の更新
使用する場面:ユーザーがサイト URL(urlPathPrefix)の更新や変更を希望する場合です。
手順(以下の手順を順番に実行してください。先に進む前に、手順を省略しないでください)。
- 3 コンポーネントのアーキテクチャと URL 更新のワークフローを理解するために、必ず update-site-urls.md を読む
- ドキュメントの手順に沿って、3 つのコンポーネント(DigitalExperienceConfig、Network、CustomSite)すべてで URL を一貫して更新する
検証とデプロイ
検証とデプロイには sf CLI を使用します。--help を付けてヘルプドキュメントを参照してください。例:
sf project deploy --helpsf project deploy validate --help
メタデータタイプはスペース区切りで指定します。決して引用符で囲んだり、カンマを使用したりしないでください。たとえば、--metadata "DigitalExperienceBundle DigitalExperience" は誤りです。必ず --metadata DigitalExperienceBundle DigitalExperience と指定してください。
検証:
sf project deploy validate --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}
デプロイ:
sf project deploy start --metadata DigitalExperienceBundle DigitalExperience DigitalExperienceConfig Network CustomSite --target-org ${usernameOrAlias}