Agent skill

Platform Flexipage Generate

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages).

Apache-2.0Auto-check: notesSales & Support

Install Platform Flexipage Generate

skills CLI
$ npx skills add forcedotcom/sf-skills --skill platform-flexipage-generate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills platform-flexipage-generate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/platform-flexipage-generate .claude/skills/platform-flexipage-generate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
platform-flexipage-generate
GitHub stars
1.1k
Token cost
~5.1k tokens
SKILL.md length
2,197 words
Files
10 (incl. scripts, references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages).

  • Works in 11 steps: Bootstrap with CLI → Deploy Base Page → Add Components Dynamically (if requested) → …
  • Validate Salesforce Lightning pages (FlexiPages)
  • SKILL.md covers When to Use This Skill, Specification, Overview and Quick Start Workflow, plus 8 more sections
  • Runs Shell scripts from its folder; calls sf; reaches soap.sforce.com

What it does

Platform Flexipage Generate is an agent skill from forcedotcom/sf-skills. Use when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages). Trigger on RecordPage, AppPage, HomePage, Lightning pages, adding components to a page, page customization (e.g. 'customize the record page'), or .flexipage-meta.xml files (regions, components, deployment errors). DO NOT TRIGGER for Visualforce pages, page layout assignments in the UI, UI Bundle/Experience Cloud site pages, or Aura/Lightning Web Component development without FlexiPage context.

Its SKILL.md is about 5.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/cli_commands.md`, `references/flexipage_fieldSection.md` and `references/flexipage_richText.md`).

It sits in Sales & Support, covering CRM management and Deployment. It works with Salesforce. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • Validate Salesforce Lightning pages (FlexiPages)
  • Lightning pages
  • Adding components to a page
  • Page customization (e.g

Example prompts

  • “customize the record page”
  • “/platform-flexipage-generate”

Requirements

  • A Bash shell
  • Pre-approved tools (allowed-tools): Bash, Read, Write

Workflow steps

11 steps, taken from the step headings in SKILL.md.

  1. Bootstrap with CLI
  2. Deploy Base Page
  3. Add Components Dynamically (if requested)
  4. Parse User Intent
  5. 3-Tier Component Discovery
  6. Property Inference (per component)
  7. Generate XML
  8. Validate
  9. Fetch Latest Schema (conditional)
  10. Apply Component Instructions (if present)
  11. Resolve Remaining Properties

What it can do on your machine

Read from SKILL.md and the folder at commit e5164d9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • sf

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • soap.sforce.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Platform Flexipage Generate loads about 5.1k tokens when it runs, and up to ~15k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 2,197 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~5.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~15k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 2,197 words, ~5,052 tokens.

Download SKILL.mdSave it as .claude/skills/platform-flexipage-generate/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
platform-flexipage-generate
description
Use when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages). Trigger on RecordPage, AppPage, HomePage, Lightning pages, adding components to a page, page customization (e.g. 'customize the record page'), or .flexipage-meta.xml files (regions, components, deployment errors). DO NOT TRIGGER for Visualforce pages, page layout assignments in the UI, UI Bundle/Experience Cloud site pages, or Aura/Lightning Web Component development without FlexiPage context.
allowed-tools
Bash, Read, Write
metadata.version
1.1
metadata.domains
Platform
metadata.minApiVersion
60.0

When to Use This Skill

Use this skill when you need to:

  • Create Lightning pages (RecordPage, AppPage, HomePage)
  • Generate FlexiPage metadata XML
  • Add components to existing FlexiPages
  • Troubleshoot FlexiPage deployment errors
  • Understand FlexiPage structure and component configuration
  • Work with page layouts or Lightning page customization
  • Edit or update ANY *.flexipage-meta.xml file

Specification

Overview

CRITICAL: When creating NEW FlexiPages, you MUST ALWAYS start with the CLI template command. Never create FlexiPage XML from scratch - the CLI provides valid structure, proper regions, and correct component configuration that prevents deployment errors.

Generate Lightning pages (RecordPage, AppPage, HomePage) using CLI bootstrapping for component discovery and configuration.


Quick Start Workflow

Step 1: Bootstrap with CLI

MANDATORY FOR NEW PAGES: This step is NOT optional. Always use the CLI template command when creating a new FlexiPage. The CLI generates valid XML structure, proper regions, and correct metadata that prevents common deployment errors. Only skip this step if you're editing an existing FlexiPage file.

<packageDirectory> = the path value from sfdx-project.json → packageDirectories[0] (e.g., force-app). Read it from the project file before running commands.

bash
sf template generate flexipage \
  --name <PageName> \
  --template <RecordPage|AppPage|HomePage> \
  --sobject <SObject> \
  --primary-field <Field1> \
  --secondary-fields <Field2,Field3> \
  --detail-fields <Field4,Field5,Field6,Field7> \
  --output-dir <packageDirectory>/main/default/flexipages

CRITICAL: If the sf template generate flexipage command fails, STOP.

  1. Install the templates plugin:
    bash
    sf plugins install templates
  2. Retry the sf template generate flexipage command
  3. Verify the FlexiPage XML file was created

Do NOT continue to Step 2 until the template command succeeds. The generated XML is required for the entire workflow.

Template-specific requirements

RecordPage:

  • Requires --sobject (e.g., Account, Custom_Object__c)
  • Requires field parameters:
    • --primary-field: Most important identifying field (e.g., Name)
    • --secondary-fields: Record summary (recommended 4-6, max 12)
    • --detail-fields: Full record details, including required fields (e.g., Name)

AppPage:

  • No additional requirements

HomePage:

  • No additional requirements
Field Selection Rules
  • Validate fields exist: Use MCP tools or describe commands to discover available fields for the object before specifying them in the command
  • Prefer compound fields: Use Name (not FirstName/LastName), BillingAddress (not BillingStreet/BillingCity/BillingState), MailingAddress, etc. when available
  • Include required fields in detail-fields: Always include object required fields (like Name) in the --detail-fields parameter, even if they're also used in --primary-field or --secondary-fields
What you get
  • Valid FlexiPage XML with correct structure
  • Pre-configured regions and basic components
  • Proper field references and facet structure
  • Ready to deploy as-is or enhance further
Step 2: Deploy Base Page

Run a dry-run deployment to validate the page and dependencies (use the default package directory from sfdx-project.json):

bash
sf project deploy start --dry-run -d "<packageDirectory>/main/default" --test-level NoTestRun --wait 10 --json

Critical: Fix any deployment errors before proceeding. The page must validate successfully.

Step 3: Add Components Dynamically (if requested)

After the base page deploys successfully, if the user wants additional components, follow the Adding Components Dynamically workflow below. All component additions MUST go through the discovery and inference pipeline — never write component XML from memory alone.


Critical XML Rules

Read references/xml_rules.md for all XML encoding rules, field reference format, region/facet types, fieldInstance structure, unique identifier requirements, and common deployment error resolutions.

Key rules (quick reminder):

  • Encode HTML in <value> tags: & first, then <, >, ", '
  • Field references: Record.{FieldApiName} (never Object.Field)
  • Every <identifier> and region <name> must be unique across the file
  • Multiple components in same facet → combine in ONE region with multiple <itemInstances>

Identifiers, Regions, and Containers

Read references/identifiers_and_regions.md for the identifier generation algorithm, facet naming patterns (named vs UUID), region selection rules, and container component facet structure.


Component-Specific Tips

dynamicHighlights (RecordPage Header)

Location: header region only. See references/record_flexipage_dynamicHighlights.md for full structure. CLI generates Facets automatically from --primary-field and --secondary-fields.

fieldSection

Use for: Displaying fields in columns. Three-level nesting: Region → Column Facets → Field Facets. See references/flexipage_fieldSection.md for full structure and XML example. Critical: The columns property value is a Facet name, not a number.

richText

See references/flexipage_richText.md for encoding rules and XML structure. Identifier: flexipage_richText or flexipage_richText_{N}


Required Metadata Structure

xml
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
   <flexiPageRegions>
      <!-- Regions and components here -->
   </flexiPageRegions>
   <masterLabel>Page Label</masterLabel>
   <template>
      <name>flexipage:recordHomeTemplateDesktop</name>
   </template>
   <type>RecordPage</type>
   <sobjectType>Object__c</sobjectType> <!-- RecordPage only -->
</FlexiPage>

Page Types:

  • RecordPage - requires <sobjectType>
  • AppPage - no sobjectType
  • HomePage - no sobjectType

Validation Checklist

Structure (new pages)
  • Used CLI to bootstrap — never create FlexiPage XML from scratch
Identifiers & Regions
  • All <identifier> values unique across entire file
  • All region/facet <name> values unique across entire file
  • Multiple components in same facet combined in ONE region with multiple <itemInstances>
Field Instances
  • All field references use Record.{Field} format
  • Each fieldInstance has fieldInstanceProperties with uiBehavior
  • Each fieldInstance in its own <itemInstances> wrapper
Types & Encoding
  • Template regions use <type>Region</type>; component facets use <type>Facet</type>
  • Property values with HTML/XML are entity-encoded
  • No unnecessary <mode> tags (only where component patterns require them)
  • No __c suffix in page names
  • Each Facet referenced by exactly one component property

Quick Reference: CLI Command

Read references/cli_commands.md for full CLI examples (RecordPage, AppPage, HomePage) and available options.


Adding Components Dynamically

MANDATORY WORKFLOW: ALL component additions to a FlexiPage MUST follow this workflow. Do not write component XML from memory or skip discovery. This applies to standard OOTB components, custom LWC components, and any other component type.

Overview

When the user requests components (e.g., "add a related list of contacts and a report"), follow this pipeline:

text
1. Parse Intent → identify ALL requested components
2. Discover ALL → batch components through 3-tier discovery
3. Infer Properties → run 3-step inference for EACH discovered component
4. Generate XML → produce valid XML for all components together
5. Validate → check identifiers, regions, property completeness

Key rule: Discover ALL components as a batch first (one scan, one MCP call), THEN infer properties for each. Do not invoke discovery steps per-component or interleave discovery and inference.

Step 1: Parse User Intent

Extract every component request from the user's utterance. Examples:

  • "Create Account page with a report and related contacts" → 2 components: report, related list
  • "Add activities, chatter, and a DRL of Cases" → 3 components: activities, chatter, dynamic related list
Step 2: 3-Tier Component Discovery

Complete each tier for ALL components before moving to the next tier — do NOT run Tier 1→2→3 per component:

TierSourceWhenCalls
1Local workspace scanAlways first — run for ALL components0 (local only)
2discoverUiComponents MCP actionSingle call for all components unresolved after Tier 11
3Generate new LWC bundleOnly for components still unresolved after Tier 2 + user confirms0

After Tier 1 completes for all components, collect only the unresolved ones and pass them to Tier 2 in a single MCP call. Only components still unresolved after Tier 2 proceed to Tier 3.

See Local Workspace Scanner and MCP Action Integration sections below for details.

Step 3: Property Inference (per component)

For EACH discovered component, infer properties using the 3-step strategy:

  1. Fetch schema or read source — For Tier 2 (org) components, call getUiComponentSchemas; for Tier 1 (local), extract @api props from source
  2. Apply component instructions — If references/<name>.md exists, read and follow its inference rules
  3. Resolve remaining — Smart defaults → LLM inference → user prompts (last resort)

See Hybrid Property Inference Strategy below for full details.

Step 4: Generate XML

What you CANNOT do:

  • Modify top level structure in the XML file
  • Add any components from memory which is not resolved from 3-Tier Component Discovery
  • Make any enhancements

Read references/xml_rules.md before writing any XML. Follow all element naming and structure rules defined there.

Produce <itemInstances> XML for all resolved components:

  • Use <componentInstanceProperties> for every property (NOT <properties>)
  • Assign unique identifiers across the full set (see references/identifiers_and_regions.md)
  • Insert into appropriate regions (header, main, sidebar, or facets)
  • Follow each component's XML structure from its instructions file or schema
Step 5: Validate

Check the complete FlexiPage for:

  • Identifier uniqueness (no duplicates across entire file)
  • Region validity (components in correct regions)
  • Property completeness (all required properties populated)
  • XML encoding (HTML values entity-encoded)
  • Element name correctness (see references/xml_rules.md §6)

Deploy with dry-run (use default package directory from sfdx-project.json):

bash
sf project deploy start --dry-run -d "<packageDirectory>/main/default" --test-level NoTestRun --wait 10 --json

MCP Action Integration

Read references/mcp_action_examples.md for full input/output examples and parameter tables.

Two MCP actions via execute_metadata_action:

ActionPurposeWhen
DISCOVER_UI_COMPONENTSFind components for a page typeTier 2 discovery — single call for all unresolved components
GET_UI_COMPONENT_SCHEMASGet property schemasProperty inference Step 1 (Tier 2 org components only)

Key conventions:

  • Component definition format: namespace/blockName (forward-slash) in MCP calls, namespace:blockName (colon) in XML
  • pageContext with entityName is required for RECORD_PAGE
  • getUiComponentSchemas supports partial failures — check each component's success boolean

Local Workspace Scanner

Scans the local SFDX project for custom LWC components before making any MCP calls (Tier 1 discovery).

Show full SKILL.md (912 more words)Show less
Algorithm

Run the scanner for each component query (local scan — no network calls):

bash
scripts/scan-lwc-components.sh "<query>" [packageDirectory]

The script scans <packageDirectory>/**/lwc/*/, tokenizes camelCase component names, scores them against user intent keywords, and returns a JSON array of matches with confidence tiers:

  • High confidence (≥70%): auto-select, confirm with user
  • Medium confidence (40-69%): present ranked list for user selection
  • Low confidence (<40%): skip, proceed to Tier 2

Run Tier 1 for ALL components before moving any to Tier 2. Collect all unresolved components from Tier 1, then pass them to Tier 2 in a single MCP call.

Disambiguation

For medium-confidence matches (40-69%) or multiple high-confidence matches:

  1. Read each candidate's .js-meta.xml for <description> and <targetConfigs>
  2. Present ranked list to user with component name + description
  3. User selects or says "none of these" (→ proceed to Tier 2)
When to Skip

Skip local scan when:

  • User explicitly mentions an org-level component ("use the standard report component")
  • User intent clearly maps to a known standard component (DRL, richText, etc.)
  • No <packageDirectory> directory exists in the workspace

Hybrid Property Inference Strategy

For EACH discovered component, populate its properties using this 3-step strategy in order:

Step 1: Fetch Latest Schema (conditional)

Call getUiComponentSchemas only when the component does not exist on the local machine (i.e., Tier 2 org-discovered components). For local components (Tier 1), extract @api properties directly from the source code instead.

When to call:

  • Tier 2 (org discovery): Always — the schema is the only source of property info
  • Tier 1 (local): Skip — read @api properties from the component's .js source file
  • Tier 3 (generated): Skip — you just created the source, so properties are already known
Step 2: Apply Component Instructions (if present)

Run scripts/resolve-component-instructions.sh <namespace:component> — it returns the instructions file path if it exists, or empty string.

Examples:

  • record_flexipage:dynamicHighlights → references/record_flexipage_dynamicHighlights.md
  • flexipage:fieldSection → references/flexipage_fieldSection.md
  • c:expenseTracker → (empty — no file)

If a file is returned: read and follow its inference rules, XML patterns, and defaults. If empty: skip directly to Step 3.

Instructions files augment the schema — they provide how to derive values from user intent. Any properties in the schema not covered by the instructions file are resolved in Step 3.

Step 3: Resolve Remaining Properties

For any properties not yet resolved, apply in this priority order:

3a. Smart Default Heuristics:

Property PatternDefault Value
recordId{!recordId}
objectApiName / sObjectNamePage's <sobjectType> value
show* / visible* / display*true
hide* / hidden* / disabled*false
Boolean without prefixfalse
Schema specifies "default"Use schema default

3b. LLM Inference: Use the component schema + user intent + page context to infer reasonable values. Example: user says "report showing top opportunities" → infer reportName should reference an opportunities report.

3c. User Prompts (last resort): Only prompt the user for critical required properties that cannot be inferred. If user says "skip", omit the component entirely.

Tier-Specific Behavior
TierExtra StepSchema CallInstructions
Tier 1 (local)Extract @api props from sourceNo (use source)If exists
Tier 2 (org)—YesIf exists
Tier 3 (generated)Extract @api from just-generated sourceNo (just created)No

New LWC Generation (Tier 3)

When no component is found locally (Tier 1) or in the org (Tier 2), offer to generate a new LWC.

Trigger Conditions
  • Tier 1 and Tier 2 both miss or user rejected all candidates
  • User has not explicitly said "skip" or "don't create"
Confirmation

Always confirm before creating. Explain: component name. If user declines: skip, continue with other components.

Post-Generation

After creating the LWC bundle:

  1. Treat as a Tier 1 local component immediately
  2. Extract @api properties from the generated source
  3. Apply smart defaults for recordId and objectApiName
  4. Generate FlexiPage XML with c:{componentName} as the componentName
Naming Convention
  • Derive from user intent: "customer health score" → customerHealthScore
  • camelCase, no hyphens, no underscores in the JS class name
  • Folder name matches class name (lowercase first letter): customerHealthScore/

Reference File Index

FileWhen to read
references/xml_rules.mdBefore writing or editing any FlexiPage XML — encoding, field refs, identifiers, deployment errors
references/identifiers_and_regions.mdWhen adding components — identifier algorithm, facet naming, region selection, container pattern
references/cli_commands.mdWhen bootstrapping new pages — full CLI examples for RecordPage, AppPage, HomePage
references/mcp_action_examples.mdWhen calling MCP actions — full input/output JSON for discoverUiComponents and getUiComponentSchemas
references/flexipage_fieldSection.mdWhen adding a Field Section with columns
references/record_flexipage_dynamicHighlights.mdWhen adding a Dynamic Highlights panel
references/flexipage_richText.mdWhen adding a Rich Text component
scripts/scan-lwc-components.shTier 1 local workspace scan — tokenizes and scores LWC component names against user query
scripts/resolve-component-instructions.shProperty inference Step 2 — resolves component definition to instructions file path

To add a new component pattern: Create references/<namespace>_<componentName>.md following the structure in existing files. The skill automatically checks for the file during Step 2 of property inference.


Validation Rules for Dynamic Components

After generating XML for dynamically added components, verify ALL of the following before deployment:

Identifier Uniqueness
  • Extract ALL <identifier> values from the entire FlexiPage file
  • Confirm zero duplicates
  • If conflict: auto-increment suffix (_2, _3, etc.)
Region Validity
  • Components placed in correct regions for their type:
    • record_flexipage:dynamicHighlights → header only
    • flexipage:fieldSection → main or tab facets
    • flexipage:richText → any region
Property Completeness
  • All properties marked required in schema have values
  • All values match expected types (String, Boolean, valueList, Integer)
  • No raw HTML in <value> tags (must be entity-encoded)
Structural Integrity
  • Every Facet referenced by a component property exists as a <flexiPageRegions> block
  • No orphan Facets (every Facet is referenced by exactly one component)
  • Multiple components in same region use ONE <flexiPageRegions> block with multiple <itemInstances>
Cross-Component Consistency
  • For multi-component additions: identifiers are unique across ALL new components
  • Facet UUIDs don't collide between components
  • Components that require singleton placement (dynamicHighlights, recordDetailPanelMobile) are not duplicated

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references) in skills/platform-flexipage-generate of forcedotcom/sf-skills.

  • SKILL.md
  • references/cli_commands.md
  • references/flexipage_fieldSection.md
  • references/flexipage_richText.md
  • references/identifiers_and_regions.md
  • references/mcp_action_examples.md
  • references/record_flexipage_dynamicHighlights.md
  • references/xml_rules.md
  • scripts/resolve-component-instructions.sh
  • scripts/scan-lwc-components.sh

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Platform Flexipage Generate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Platform Flexipage Generate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Platform Flexipage Generate this skillforcedotcom/sf-skills1.1k—~5.1kAutomated safety check: NotesApache-2.0
Salesforce Deploy Integrationjeremylongshore/tons-of-skills-marketplace2.8k—~1.1kAutomated safety check: PassMIT
Salesforce Prod Checklistjeremylongshore/tons-of-skills-marketplace2.8k—~1.1kAutomated safety check: PassMIT
Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib154—~4.3kAutomated safety check: PassMIT
Sf DatacloudJaganpro/sf-skills424—~2.7kAutomated safety check: PassMIT
Soql Lib Selectorbeyond-the-cloud-dev/soql-lib154—~2kAutomated safety check: PassMIT

Similar skills

  • Salesforce Deploy Integration

    jeremylongshore/tons-of-skills-marketplace

    Deploy a Salesforce-connected application through immutable artifacts, environment binding, canary traffic, reconciliation, and rollback.

    2.8k GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed
  • Salesforce Prod Checklist

    jeremylongshore/tons-of-skills-marketplace

    Gate a Salesforce integration or metadata change for production with contract, security, capacity, validation, canary, reconciliation, and rollback evidence.

    2.8k GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed
  • Soql Lib Query Builder

    beyond-the-cloud-dev/soql-lib

    Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).

    154 GitHub stars~4.3k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed
  • Sf Datacloud

    Jaganpro/sf-skills

    Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.

    424 GitHub stars~2.7k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • Soql Lib Selector

    beyond-the-cloud-dev/soql-lib

    Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.

    154 GitHub stars~2k tokensUpdated 5 days ago
    Sales & SupportAuto-check passed
  • Dev Setup

    Portwood-Global-Solutions/Portwood

    Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.

    125 GitHub stars~1.1k tokensUpdated today
    Sales & SupportAuto-check passed

More from forcedotcom/sf-skills

All 251 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated yesterday
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated yesterday
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated yesterday
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Platform Flexipage Generate

What does Platform Flexipage Generate do?

A skill your agent uses when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages). Platform Flexipage Generate is an agent skill from forcedotcom/sf-skills. Use when users create, generate, modify, or validate Salesforce Lightning pages (FlexiPages).

When should I use Platform Flexipage Generate?

Platform Flexipage Generate fits situations like: validate Salesforce Lightning pages (FlexiPages); lightning pages; adding components to a page; page customization (e.g.

How do I install Platform Flexipage Generate in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill platform-flexipage-generate -a claude-code`. Or copy the skill folder (skills/platform-flexipage-generate in forcedotcom/sf-skills) into .claude/skills/platform-flexipage-generate in your project. Claude Code loads it when a task matches its description.

How do I install Platform Flexipage Generate in Codex?

Run `npx skills add forcedotcom/sf-skills --skill platform-flexipage-generate -a codex`. Or copy the skill folder (skills/platform-flexipage-generate in forcedotcom/sf-skills) into .agents/skills/platform-flexipage-generate in your project. Codex loads it when a task matches its description.

Can I use Platform Flexipage Generate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill platform-flexipage-generate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/platform-flexipage-generate, .gemini/skills/platform-flexipage-generate, .github/skills/platform-flexipage-generate and .opencode/skills/platform-flexipage-generate in your project.

What does Platform Flexipage Generate need to run?

Going by SKILL.md and its folder, Platform Flexipage Generate needs a shell for the scripts in its folder and the command-line tools its instructions call (sf). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write.

Does Platform Flexipage Generate access the network?

SKILL.md names 1 domain. In commands or code: soap.sforce.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Platform Flexipage Generate safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Platform Flexipage Generate use?

Platform Flexipage Generate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Platform Flexipage Generate use?

About 5.1k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.7k tokens, read only when the agent opens those files.

What are the alternatives to Platform Flexipage Generate?

Skills that share tags, products or a category with Platform Flexipage Generate: Salesforce Deploy Integration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Salesforce Prod Checklist (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars) and Sf Datacloud (Jaganpro/sf-skills, 424 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Platform Flexipage Generate?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.