Build a complete, deployable Salesforce React UI bundle application from a natural language description by orchestrating specialized UI bundle skills in correct dependency order. Each skill
MUST
be explicitly loaded before executing its phase.
When to Use This Skill
Use when:
User requests a "React app", "UI bundle", "web app", or "full-stack app" on Salesforce
User says "build an app", "create an application" and the context implies a non-LWC based frontend (e.g. React)
The work produces a complete UI bundle with scaffolding, features, data access, and UI -- not a single component in isolation
Examples that should trigger this skill:
"Build a React app for managing customer cases with Salesforce data"
"Create a UI bundle for an employee directory with search and navigation"
"I need a full-stack React app with authentication, data tables, and file uploads"
"Build a coffee shop ordering app on Salesforce"
Do NOT use when:
Creating a single page or component (use
building-ui-bundle-frontend
)
Only installing a feature (use
generating-ui-bundle-features
)
Only setting up data access (use
using-ui-bundle-salesforce-data
)
Only deploying an existing app (use
deploying-ui-bundle
)
Building a Lightning Experience app with custom objects and metadata (use
generating-lightning-app
)
Troubleshooting or debugging an existing UI bundle
Creates the UI bundle directory structure, meta XML, and optional routing/headers config. All subsequent phases require the scaffold to exist.
Phase 2: Features (Optional)
Search project code (src/) for existing implementations
v
Install dependencies (npm install)
v
Search, describe, and install features (auth, shadcn, search, navigation, GraphQL)
v
Resolve conflicts (two-pass: --on-conflict error, then --conflict-resolution)
v
Integrate example files into target files, then delete them
Installs pre-built, tested feature packages. Skip if the app requires no pre-built features. Always check for an existing feature before building from scratch. Features provide the foundation that UI components build on top of.
Phase 3: Data Access (Backend Wiring)
Acquire schema (npm run graphql:schema)
v
Look up entity schema (graphql-search.sh, max 2 runs)
v
Generate queries/mutations (use verified field names, @optional on all record fields)
v
Validate and test (npx eslint, ask user before testing mutations)
Sets up the data layer using
@salesforce/sdk-data
. GraphQL is preferred for record operations; REST for Connect, Apex, or UI API endpoints.
Phase 4: UI (Frontend)
Layout, navigation, header, and footer (appLayout.tsx)
v
Pages (routed views)
v
Components (widgets, forms, tables)
Builds the React UI. References the data layer from Phase 3 and the features from Phase 2. Must replace all boilerplate and placeholder content.
Phase 5: Integrations (Optional)
Agentforce chat widget (if requested)
File upload API (if requested)
These are independent and can be executed in parallel if both are needed.
Phase 6: Deployment
Org authentication
v
Pre-deploy UI bundle build (npm install + npm run build)
[x] Phase 7: Experience Site -- [site URL or "skipped"]
FILES GENERATED:
[list key files and their paths]
NEXT STEPS:
[any manual steps the user should take]
Validation
Before presenting the build as complete, verify:
Scaffold exists
UI bundle directory with valid meta XML and ui-bundle.json
Dependencies installed
:
node_modules/
exists and
package.json
has expected packages
Build passes
:
npm run build
produces
dist/
with no errors
Lint passes
:
npx eslint src/
reports 0 errors
No boilerplate
All placeholder text, default titles, and template content has been replaced
Navigation works
:
appLayout.tsx
has real nav items matching created pages
Data layer wired
Components use
@salesforce/sdk-data
(if data access phase was executed)
CSP registered
All external domains have CSP Trusted Site metadata (if applicable)
Error Handling
Category 1: Stop and Ask User
App purpose is too vague to determine pages or data needs
User wants features that conflict (e.g., "no authentication" + "show user-specific data")
Target org is unknown and deployment is requested
Category 2: Log Warning, Continue
A feature install has minor conflicts (resolve and continue)
Optional integration setup encounters non-blocking issues
Build has non-error warnings
Best Practices
1. Always Follow Phase Order
Never build UI before installing features. Never deploy before building. Dependencies are strict.
2. Replace All Boilerplate
Every generated app must feel purpose-built. Replace "React App" titles, "Vite + React" placeholders, and all default content with real app-specific text and branding.
3. Design with Intent
Follow the design thinking and frontend aesthetics guidance from
building-ui-bundle-frontend
. Every app should have a clear visual direction -- not generic defaults.