Loading...
Loading...
Build complete Salesforce Lightning Experience applications from natural language descriptions. Use this skill when a user requests a "complete app", "Lightning app", "business solution", "management system", or describes a scenario requiring multiple interconnected Salesforce components (objects, fields, pages, tabs, security). Orchestrates all required metadata types in proper dependency order to produce a deployable application.
npx skill4agent add forcedotcom/afv-library generating-lightning-appgenerating-custom-application| Metadata Type | Skill Name | API Context | Usage Rule |
|---|---|---|---|
| Custom Object | | | MUST load skill AND call API context |
| Custom Field | | | MUST load skill AND call API context |
| Custom Tab | | | MUST load skill AND call API context |
| FlexiPage | | | MUST load skill AND call API context |
| Custom Application | | | MUST load skill AND call API context |
| List View | | | MUST load skill AND call API context (if requested) |
| Validation Rule | | | MUST load skill AND call API context (if requested) |
| Flow | | | MUST load skill AND run pipeline. Exempt from |
| Permission Set | | | MUST load skill AND call API context |
salesforce-api-contextCustom Objects (no dependencies)
↓
Custom Fields (depends on: Objects exist)
↓
Relationships (depends on: Both parent and child objects + fields exist)generating-custom-objectgenerating-custom-fieldValidation Rules (depends on: Fields exist)
↓
Flows (depends on: Objects, Fields exist)generating-validation-rulegenerating-flowList Views (depends on: Objects, Fields exist)
↓
Custom Tabs (depends on: Objects exist)
↓
FlexiPages (depends on: Objects, Tabs exist)generating-list-viewgenerating-custom-tabgenerating-flexipageCustom Application (depends on: Tabs exist)generating-custom-applicationPermission Sets (depends on: Objects, Fields, Tabs, App exist)generating-permission-setLightning App Build Plan: [App Name]
DATA MODEL:
- Custom Objects: [list with object names]
- Custom Fields: [list grouped by object]
- Relationships: [list M-D and Lookup relationships]
BUSINESS LOGIC (if applicable):
- Validation Rules: [list with object and rule name]
- Flows: [list with flow name and type]
USER INTERFACE:
- List Views (if requested): [list with object and view name]
- Custom Tabs: [list with object]
- FlexiPages: [list with page name and type]
- Custom Application: [app name]
SECURITY:
- Permission Sets: [list with purpose]
PER-TYPE EXECUTION (skill + API context for each):
- CustomObject: load generating-custom-object + call salesforce-api-context
- CustomField: load generating-custom-field + call salesforce-api-context
- ValidationRule: load generating-validation-rule + call salesforce-api-context (if requested)
- Flow: load generating-flow + run metadata-experts pipeline (if requested)
- ListView: load generating-list-view + call salesforce-api-context (if requested)
- CustomTab: load generating-custom-tab + call salesforce-api-context
- FlexiPage: load generating-flexipage + call salesforce-api-context
- CustomApplication: load generating-custom-application + call salesforce-api-context
- PermissionSet: load generating-permission-set + call salesforce-api-context
STATUS LINES TO EMIT BEFORE FILE WRITES:
- `type=<Type> skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>`
- Flow exception: `type=Flow skill=complete pipeline=complete`
DEPENDENCY ORDER:
1. Phase 1: Data Model (Objects -> Fields)
2. Phase 2: Business Logic (Validation Rules -> Flows)
3. Phase 3: User Interface (List Views -> Tabs -> Pages)
4. Phase 4: App Assembly (Application)
5. Phase 5: Security (Permission Sets)| Step | What to do | Why |
|---|---|---|
| ① Load skill | Search for and read the per-type SKILL.md | Gives you the XML structure, required elements, naming rules, and validation constraints |
| ② Call API context | Call | Gives you the current valid values — allowed enum values, required vs. optional fields, child types for this API version. The skill provides structure; API context provides version-specific accuracy. |
| ③ Record status | Emit: | Confirms both steps were attempted before any files are written and records which API context tools were used |
| ④ Generate files | Generate all files for this type, then checkpoint | Only after ①②③ are done. Verify, then move to the next type. |
salesforce-api-contextmcp=unavailablegenerating-custom-objectsalesforce-api-contexttype=CustomObject skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-custom-fieldsalesforce-api-contexttype=CustomField skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-validation-rulesalesforce-api-contexttype=ValidationRule skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-flowmetadata-experts/execute_metadata_actionsalesforce-api-contexttype=Flow skill=complete pipeline=completegenerating-list-viewsalesforce-api-contexttype=ListView skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-custom-tabsalesforce-api-contexttype=CustomTab skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-flexipagesalesforce-api-contexttype=FlexiPage skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-custom-applicationsalesforce-api-contexttype=CustomApplication skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>generating-permission-setsalesforce-api-contexttype=PermissionSet skill=complete mcp=complete|unavailable mcp_tools=<tool-list|none>force-app/main/default/force-app/main/default/
├── objects/ # Custom Objects (.object-meta.xml)
├── fields/ # Custom Fields (.field-meta.xml)
├── tabs/ # Custom Tabs (.tab-meta.xml)
├── flexipages/ # Lightning Pages (.flexipage-meta.xml)
├── applications/ # Custom Applications (.app-meta.xml)
├── permissionsets/ # Permission Sets (.permissionset-meta.xml)
├── flows/ # Flows (.flow-meta.xml) - if applicable
└── objects/.../validationRules/ # Validation Rules (.validationRule-meta.xml) - if applicablepackage.xmlLightning App Build Complete: Project Management App
METADATA GENERATED:
1 Custom Objects
- Project__c -> force-app/main/default/objects/Project__c/Project__c.object-meta.xml
- Task__c -> force-app/main/default/objects/Task__c/Task__c.object-meta.xml
- Resource__c -> force-app/main/default/objects/Resource__c/Resource__c.object-meta.xml
2 Custom Fields
- Project__c.Name -> force-app/main/default/objects/Project__c/fields/Name.field-meta.xml
- Project__c.Status__c -> force-app/main/default/objects/Project__c/fields/Status__c.field-meta.xml
[... etc ...]
3 Custom Tabs
- Project__c -> force-app/main/default/tabs/Project__c.tab-meta.xml
[... etc ...]
4 Lightning Record Pages
- Project_Record_Page -> force-app/main/default/flexipages/Project_Record_Page.flexipage-meta.xml
[... etc ...]
5 Custom Application
- Project_Management -> force-app/main/default/applications/Project_Management.app-meta.xml
6 Permission Sets
- Project_Manager -> force-app/main/default/permissionsets/Project_Manager.permissionset-meta.xml
- Project_User -> force-app/main/default/permissionsets/Project_User.permissionset-meta.xml
WARNINGS: Nonepackage.xmlVALIDATION WARNINGSOrderGroupWarning: [Component Type] generation encountered issue
Component: [Name]
Issue: [Description]
Impact: [What won't work]
Recommendation: [How to fix manually]
Continuing with remaining components...