PluginBench
Skill
Pass
Audit score 90

deploying-ui-bundle

forcedotcom/sf-skills

Deploy UI bundle apps to Salesforce orgs with full metadata, permissions, and schema setup.

What is deploying-ui-bundle?

Automates the complete deployment sequence for Salesforce UI bundle projects, including org authentication, metadata deployment, permission assignment, data import, and GraphQL schema generation. Use this when deploying UI bundles to a Salesforce org or setting up post-deploy configuration.

  • Authenticate and verify org connection before deployment
  • Build UI bundles to produce dist/ directory
  • Deploy metadata using manifest or full project scope
  • Assign permission sets and configure profiles post-deploy
  • Import data from data-plan.json with user confirmation
  • Fetch GraphQL schema via introspection and run codegen

How to install deploying-ui-bundle

npx skills add https://github.com/forcedotcom/sf-skills --skill deploying-ui-bundle
Prerequisites
  • Salesforce CLI (sf) installed
  • sfdx-project.json or uiBundles/*/src/ directory in project
  • Authenticated Salesforce org connection
Claude Code
Cursor
Windsurf
Cline

How to use deploying-ui-bundle

  1. 1.Authenticate your Salesforce org if not already connected
  2. 2.Build the UI bundle (dist/ directory will be created)
  3. 3.Deploy metadata using manifest/package.xml or full project
  4. 4.Assign discovered permission sets to users or confirm with user
  5. 5.If data/data-plan.json exists, confirm and import data
  6. 6.Fetch GraphQL schema and run codegen from project root
  7. 7.Verify UI bundle build completed successfully

Use cases

Good for
  • Deploying a new UI bundle app to a development or production org
  • Setting up post-deploy permissions and access for custom objects
  • Importing test data after metadata deployment
  • Regenerating GraphQL schema after object or field changes
  • Automating the full deployment pipeline from build through schema generation
Who it's for
  • Salesforce developers deploying UI bundle applications
  • Teams managing multi-step org deployments
  • Developers working with GraphQL and custom metadata in Salesforce

deploying-ui-bundle FAQ

What happens if I skip permission set assignment?

Permission sets must be assigned before schema fetch—without them, the GraphQL introspection may not return fields the user lacks FLS for. Always assign or ask the user.

When should I re-run schema fetch and codegen?

After every metadata deployment that changes objects, fields, or permissions. The schema reflects the current org state and must be regenerated for accurate types.

Does this skill handle data import automatically?

No. Data import only runs if data/data-plan.json exists, and the skill will ask for user confirmation before importing or deleting data.

What if manifest/package.xml doesn't exist?

The skill deploys all metadata from the project. If you want selective deployment, create a manifest/package.xml file first.

Can I use this for non-UI bundle Salesforce projects?

This skill is optimized for UI bundle deployments. It activates when uiBundles/*/src/ or *.uibundle-meta.xml files are detected.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: deploying-ui-bundle description: "MUST activate when the project contains a uiBundles/*/src/ directory or sfdx-project.json and the task involves deploying, pushing to an org, or post-deploy setup. Use this skill when deploying a UI bundle app to a Salesforce org. Covers the full deployment sequence: org authentication, pre-deploy build, metadata deployment, permission set assignment, data import, GraphQL schema fetch, and codegen. Activate when files like *.uibundle-meta.xml or sfdx-project.json exist and the user mentions deploying, pushing, org setup, or post-deploy tasks." metadata: version: "1.0"

Deploying a UI Bundle

The order of operations is critical when deploying to a Salesforce org. This sequence reflects the canonical flow.

Step 1: Org Authentication

Check if the org is connected. If not, authenticate. All subsequent steps require an authenticated org.

Step 2: Pre-deploy UI Bundle Build

Install dependencies and build the UI bundle to produce dist/. Required before deploying UI bundle entities.

Run when: deploying UI bundles and dist/ is missing or source has changed.

Step 3: Deploy Metadata

Check for a manifest (manifest/package.xml or package.xml) first. If present, deploy using the manifest. If not, deploy all metadata from the project.

Deploys objects, layouts, permission sets, Apex classes, UI bundles, and all other metadata. Must complete before schema fetch — the schema reflects org state.

Step 4: Post-deploy Configuration

Deploying does not mean assigning. After deployment:

  • Permission sets / groups — assign to users so they have access to custom objects and fields. Required for GraphQL introspection to return the correct schema.
  • Profiles — ensure users have the correct profile.
  • Other config — named credentials, connected apps, custom settings, flow activation.

Proactive behavior: after a successful deploy, discover permission sets in force-app/main/default/permissionsets/ and assign each one (or ask the user).

Step 5: Data Import (optional)

Only if data/data-plan.json exists. Delete runs in reverse plan order (children before parents). Import uses Anonymous Apex with duplicate rule save enabled.

Always ask the user before importing or cleaning data.

Step 6: GraphQL Schema and Codegen

  1. Set default org
  2. Fetch schema (GraphQL introspection) — writes schema.graphql at project root
  3. Generate types (codegen reads schema locally)

Run when: schema missing, or metadata/permissions changed since last fetch.

Step 7: Final UI Bundle Build

Build the UI bundle if not already done in Step 2.

Summary: Interaction Order

  1. Check/authenticate org
  2. Build UI bundle (if deploying UI bundles)
  3. Deploy metadata
  4. Assign permissions and configure
  5. Import data (if data plan exists, with user confirmation)
  6. Fetch GraphQL schema and run codegen
  7. Build UI bundle (if needed)

Critical Rules

  • Deploy metadata before fetching schema — custom objects/fields appear only after deployment
  • Assign permissions before schema fetch — the user may lack FLS for custom fields
  • Re-run schema fetch and codegen after every metadata deployment that changes objects, fields, or permissions
  • Never skip permission set assignment or data import silently — either run them or ask the user

Post-deploy Checklist

After every successful metadata deploy:

  1. Discover and assign permission sets (or ask the user)
  2. If data/data-plan.json exists, ask the user about data import
  3. Re-run schema fetch and codegen from the UI bundle directory