Skip to content

@W-21582128@: Introduce Skill to Construct a Salesforce Experience React Site#53

Open
MadMagyar92 wants to merge 11 commits intoforcedotcom:mainfrom
MadMagyar92:u/jbota/add-react-skill
Open

@W-21582128@: Introduce Skill to Construct a Salesforce Experience React Site#53
MadMagyar92 wants to merge 11 commits intoforcedotcom:mainfrom
MadMagyar92:u/jbota/add-react-skill

Conversation

@MadMagyar92
Copy link
Copy Markdown

References: Contributing guide · Skill authoring guide · Agent Skills spec

What changed

  • Added a new Skill for Experience React Sites
  • Renamed the existing Experience Sites Skill to reflect the use-case for Experience LWR Sites

Why

  • Provides a way for Salesforce customers to seamlessly create and modify metadata for a Salesforce Experience React Site through Agentforce Vibes or any other editor with LLM Agent capabilities.

Notes

Needed for TDX.


Skills

Manual checklist

Description quality

  • Describes what the skill does and the expected output
  • Includes relevant Salesforce domain keywords (Apex, LWC, SOQL, metadata types, etc.)
  • Trigger phrases are specific enough for Vibes to select this skill reliably

Instructions

  • Clear goal statement
  • Step-by-step workflow
  • Validation rules for generated output
  • Defined output / artifact

Context efficiency

  • Core instructions are concise — supporting material lives in templates/, examples/, or docs/ subdirectories
  • No unnecessary background explanation in the body

Automated checks

Enforced by CI (npm run validate:skills) per the Agent Skills spec:

  • Directory is one level deep, named in kebab-case (max 64 chars), contains SKILL.md
  • Frontmatter name matches directory name; description is present, ≥ 20 words, ≤ 1024 characters, and includes trigger language
  • Body is non-empty and under 500 lines
  • Name uses gerund form ⚠ (warning — does not block merge)

@MadMagyar92 MadMagyar92 changed the title @W-21582128: Introduce Skill to Construct a Salesforce Experience React Site @W-21582128@: Introduce Skill to Construct a Salesforce Experience React Site Mar 16, 2026
@@ -1,5 +1,5 @@
---
name: salesforce-experience-site
name: salesforce-experience-site-lwr
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is also present in @scottmo 's PR: #27

@@ -1,5 +1,5 @@
---
name: salesforce-experience-site
name: salesforce-experience-lwr-site
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is also present in @scottmo 's PR: #27

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please follow the recommended naming recommendation for skills

Just to follow consistent pattern which we are about to do for all other existing type is generating* i.e. generating-experience-lwr-site


| Metadata Type | Template Reference |
|--------------|-------------------|
| Network | [configure-metadata-network.md](docs/configure-metadata-network.md) |
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We delegate each metadata file template to a doc as reference. In the future, these could be made a part of an sf generate command. However, since these is no such command at this time, using these sub files.

Determine values for all five properties before constructing anything. Use the resolution strategies in the table above, falling through each option until a value is found.

### Step 2: Create the Project Structure
Call the `get_metadata_api_context` MCP tool to retrieve schemas for `Network`, `CustomSite`, `DigitalExperienceConfig`, and `DigitalExperienceBundle` metadata types. These schemas define the valid XML structure for each file.
Copy link
Copy Markdown
Author

@MadMagyar92 MadMagyar92 Mar 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to:

  1. change this get_metadata_api_context call to either get_metadata_type_context or get_metadata_type_fields
  2. move this to Step 3

| DigitalExperience (sfdc_cms__site) | [configure-metadata-digital-experience.md](docs/configure-metadata-digital-experience.md) |

### Step 4: Resolve Additional Configurations
Address any extra configurations the user requests. Use the schemas returned by `get_metadata_api_context` in Step 2 to understand each field's purpose, and update only the minimum necessary fields.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to use either get_metadata_type_fields and/or get_metadata_type_fields_properties to determine the field purposes for additional configurations. Maybe this could use some of the output from Step 3

@@ -0,0 +1,67 @@
---
name: salesforce-experience-react-site
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@hsinghbisht-sfdc The Expert for this Skill was already present in 260/patch (not main), so it wasn't copied over. Adding it now as part of this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants