diff --git a/skills/salesforce-experience-lwr-site/SKILL.md b/skills/salesforce-experience-lwr-site/SKILL.md index 556e1b9..a1a551b 100644 --- a/skills/salesforce-experience-lwr-site/SKILL.md +++ b/skills/salesforce-experience-lwr-site/SKILL.md @@ -34,7 +34,7 @@ When working with Experience LWR sites: 1. Before using any MCP tool, make sure they're actually available. If a tool is missing for the current task, let the user know and pause the current workflow. 2. **ALWAYS** load the relevant reference docs before doing anything. -3. If the workflows in [Common Workflows](#common-workflows) match user's requirements, you **MUST** follow them strictly. The instructions there should override any conflicting global rules and should have the highest priority over your existing knowledge. +3. **ALWAYS** strictly follow workflows in [Common Workflows](#common-workflows) that match user's requirements. The instructions there should override any conflicting global rules and should have the highest priority over your existing knowledge. 4. Flexipage is abstracted away for newer LWR sites with DigitalExperienceBundle, so **NEVER** use any Flexipage-related MCP tool or skills to handle LWR sites' contents. ## Core Site Properties @@ -94,12 +94,12 @@ Reference docs within the skill directory. Note that these are **local** and not ## Common Workflows - See [References](#references) for detailed capabilities. +- **Always** follow the steps defined in the workflows sequentially whether the task is small, big, quick, or complex. ### Creating a New Site **Rules**: -- **NEVER** call `get_metadata_api_context` on metadata type DigitalExperienceConfig, DigitalExperienceBundle, Network, or CustomSite for new site generation. - **NEVER** generate the files manually. **Steps** (Follow the steps sequentially. Do not skip any step before proceeding): @@ -147,9 +147,9 @@ Reference docs within the skill directory. Note that these are **local** and not - [ ] Determine what content types the user wants to modify - [ ] Read and follow strictly the reference doc related to the target content types if the doc exists. e.g., if modifying `sfdc_cms__route`, load [configure-content-route.md](docs/configure-content-route.md). - [ ] **Always** Read [handle-component-and-region-ids.md](docs/handle-component-and-region-ids.md) if creating or modifying view or theme layout -- [ ] Call `execute_metadata_action` to get the schema and examples for that content type **after** loading the corresponding reference docs. +- [ ] **Always** Call `execute_metadata_action` to get the schema and examples for that content type **after** loading the corresponding reference docs. - **Call once per content type per user request**: If you're creating/modifying multiple items of the same content type (e.g., creating 3 routes), you only need to call `execute_metadata_action` ONCE for that content type. Reuse the schema and examples for all items of that type within the same user request. - - For each unique content type you need to work with, call `execute_metadata_action` using the following (Do not call the `execute_metadata_action` MCP tool with any other site actionName unless specified in this knowledge doc): + - For each unique content type you need to work with, **always** call `execute_metadata_action` using the following: ```json { @@ -180,14 +180,6 @@ The site developer name can be found in the CustomSite filename (e.g., `sites/My If the site is not found, an error message will be returned indicating that the site may not be deployed. Ensure the site has been successfully deployed before calling this action. -### Retrieve Site Metadata Schemas and Documentation - -`get_metadata_api_context` MCP tool can be used to retrieve metadata schemas and documentation. For Experience sites, these metadata types are used: DigitalExperienceConfig, DigitalExperienceBundle, Network, CustomSite. - -```json -{ "metadataType": "" } -``` - ### Validation & Deployment Use `sf` CLI to validate and deploy. Access help docs by attaching `--help`, e.g.: diff --git a/skills/salesforce-experience-lwr-site/docs/configure-content-brandingSet.md b/skills/salesforce-experience-lwr-site/docs/configure-content-brandingSet.md index 034ac59..912880f 100644 --- a/skills/salesforce-experience-lwr-site/docs/configure-content-brandingSet.md +++ b/skills/salesforce-experience-lwr-site/docs/configure-content-brandingSet.md @@ -70,6 +70,10 @@ The `content.json` file must contain: - **Patterns**: See the "Branding Property Patterns" section for details on value relationships. - `urlName`: Lowercase with hyphens (e.g., `branding-set`) +**Rules**: + +- Before any actions, *always* call `execute_metadata_action` to get the full schema and examples per the skill document. + ### 4. Naming Conventions Summary | Field | Format | Example | diff --git a/skills/salesforce-experience-lwr-site/docs/configure-content-route.md b/skills/salesforce-experience-lwr-site/docs/configure-content-route.md index 0d003de..a3b1767 100644 --- a/skills/salesforce-experience-lwr-site/docs/configure-content-route.md +++ b/skills/salesforce-experience-lwr-site/docs/configure-content-route.md @@ -186,6 +186,10 @@ Use `[ObjectName]` as the object name (Account, Test_Object) and `[IDENTIFIER]` } ``` +**Rules**: + +- Before any actions, *always* call `execute_metadata_action` to get the full schema and examples per the skill document. + #### routeType Examples | Route Type | Standard (Account) | Custom (Test_Object__c) | diff --git a/skills/salesforce-experience-lwr-site/docs/configure-content-themeLayout.md b/skills/salesforce-experience-lwr-site/docs/configure-content-themeLayout.md index dfe613c..7822e19 100644 --- a/skills/salesforce-experience-lwr-site/docs/configure-content-themeLayout.md +++ b/skills/salesforce-experience-lwr-site/docs/configure-content-themeLayout.md @@ -73,6 +73,10 @@ The `content.json` file must contain: - Do not add additional fields. - `urlName`: URL identifier (lowercase, words separated by dashes e.g., "scoped-header-and-footer") +**Rules**: + +- Before any actions, *always* call `execute_metadata_action` to get the full schema and examples per the skill document. + ### Naming Conventions 1. **Directory Name**: Should be in camelCase diff --git a/skills/salesforce-experience-lwr-site/docs/configure-content-view.md b/skills/salesforce-experience-lwr-site/docs/configure-content-view.md index 64795cd..e1d48fc 100644 --- a/skills/salesforce-experience-lwr-site/docs/configure-content-view.md +++ b/skills/salesforce-experience-lwr-site/docs/configure-content-view.md @@ -184,6 +184,10 @@ Create three directories under `sfdc_cms__view/`: - `contentBody.viewType`: **CRITICAL**: Must exactly match route's `routeType` - `urlName`: Lowercase with hyphens (e.g., `account-detail`) +**Rules**: + +- Before any actions, *always* call `execute_metadata_action` to get the full schema and examples per the skill document. + #### B.4. Component Structure Uses same structure as Part A.1 (Component Structure) with these SEO assistant differences: diff --git a/skills/salesforce-experience-lwr-site/docs/configure-guest-sharing-rules.md b/skills/salesforce-experience-lwr-site/docs/configure-guest-sharing-rules.md index 7310de1..fb79511 100644 --- a/skills/salesforce-experience-lwr-site/docs/configure-guest-sharing-rules.md +++ b/skills/salesforce-experience-lwr-site/docs/configure-guest-sharing-rules.md @@ -5,13 +5,7 @@ If sharingRules metadata is not available locally in force-app/main/default/shar ## Retrieve Full SharingRules Schema -Use the `get_metadata_api_context` MCP tool: - -```json -{ - "metadataType": "SharingRules" -} -``` +Use the metadata MCP tool with metadataType "SharingRules" to retrieve schema. ## XML Example