Agent skill

Experience Lds Best Practices Apply

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable…

Apache-2.0Auto-check passedFrontend & Design

Install Experience Lds Best Practices Apply

skills CLI
$ npx skills add forcedotcom/sf-skills --skill experience-lds-best-practices-apply -a claude-code

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

GitHub CLI
$ gh skill install forcedotcom/sf-skills experience-lds-best-practices-apply --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/experience-lds-best-practices-apply .claude/skills/experience-lds-best-practices-apply && 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
experience-lds-best-practices-apply
GitHub stars
1.1k
Token cost
~3.4k tokens
SKILL.md length
1,171 words
Files
6 (incl. references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable…

  • Works in 10 steps: Hand-rolling forms instead of base… → Not importing references → Mixing Apex and LDS without… → …
  • Implementing Lightning Data Service best practices in an LWC (.js
  • SKILL.md covers When to Use, Prerequisites, Knowledge Bases and Core Principles, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Experience Lds Best Practices Apply is an agent skill from forcedotcom/sf-skills. Use when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable, @salesforce/schema imports, LDS record-form data patterns. TRIGGER on "apply LDS best practices to this LWC", "review this LWC for LDS best-practice issues", "review this component for Lightning Data Service issues", "UIAPI or Apex for this data?", "fix stale data after record save", "sync LDS cache", "use @salesforce/schema for field names"…

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/adapter-apis.md`, `references/lds-data-consistency.md` and `references/lds-expert.md`).

It sits in Frontend & Design, covering CRM management, Design systems and Design tokens. It works with Salesforce and GraphQL. 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

  • Implementing Lightning Data Service best practices in an LWC (.js
  • .js-meta.xml) — UIAPI vs Apex
  • RefreshApex / notifyRecordUpdateAvailable
  • @salesforce/schema imports

Example prompts

  • “apply LDS best practices to this LWC”
  • “review this LWC for LDS best-practice issues”
  • “review this component for Lightning Data Service issues”
  • “/experience-lds-best-practices-apply”

Workflow steps

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

  1. Hand-rolling forms instead of base components
  2. Not importing references
  3. Mixing Apex and LDS without synchronization
  4. Overusing Apex
  5. Inventory the data layer
  6. Run the four-section checklist
  7. Apply referential-integrity fixes
  8. Apply data-consistency fixes
  9. Replace Apex with UIAPI where applicable
  10. Verify

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 nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript, markdown and html).

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

  • Network

    No URLs in SKILL.md.

    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

Experience Lds Best Practices Apply loads about 3.4k tokens when it runs, and up to ~31k if it reads all its reference files. Until then it costs about 254 tokens; SKILL.md has 1,171 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 1,171 words, ~3,391 tokens.

Download SKILL.mdSave it as .claude/skills/experience-lds-best-practices-apply/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
experience-lds-best-practices-apply
description
Use when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable, @salesforce/schema imports, LDS record-form data patterns. TRIGGER on "apply LDS best practices to this LWC", "review this LWC for LDS best-practice issues", "review this component for Lightning Data Service issues", "UIAPI or Apex for this data?", "fix stale data after record save", "sync LDS cache", "use @salesforce/schema for field names", "choose between getRecord and Apex". DO NOT TRIGGER when building a new LWC (use experience-lwc-generate), applying SLDS design tokens (use design-systems-slds-apply), picking or wiring a `lightning-*` base component's props/events/slots generically (use experience-lwc-base-components-integrate — this skill covers only the LDS data-layer rationale, even when the fix involves a base record form), or for security / RTL / accessibility reviews (separate passes).
metadata.version
1.0
metadata.domains
Experience, Platform
metadata.relatedSkills
design-systems-slds-apply, experience-lwc-base-components-integrate, experience-lwc-generate
<!-- adk-managed-skill -->

Applying LDS Best Practices

Apply the Lightning Data Service guidelines to a Lightning Web Component. Three pillars: data consistency, referential integrity, and UIAPI vs Apex. Focused on the UI API path — GraphQL and upstream data-requirements analysis are handled out-of-band.

When to Use

  • Reviewing a component's data layer for LDS compliance (hand-rolled forms, stringly-typed field names, un-synchronized Apex + LDS, Apex overuse).
  • Implementing CRUD on standard or custom objects.
  • Deciding between getRecord, getRecords, createRecord, updateRecord, deleteRecord, base record form components, or Apex.
  • Fixing stale-data bugs after record mutation.
  • Adding schema imports (@salesforce/schema/...) to replace hard-coded field/object names.

Do NOT use this skill for:

  • GraphQL query/mutation generation — handled out-of-band today.
  • Upstream data-requirements discovery — handled out-of-band today.
  • SLDS class / design-token work (use design-systems-slds-apply).
  • Accessibility, security, or RTL review — those are separate passes run with their own tooling.

Prerequisites

  • Component path.
  • Understanding of the component's data operations (read / write / both) and whether Apex is already involved.
  • Access to the org's schema for @salesforce/schema imports (Setup → Object Manager → <Object> → Details → API Name; or, when GraphQL serves the read, an SDL pulled from the target org).

Knowledge Bases

Per-adapter API reference — references/adapter-apis.md holds Syntax / Parameters / Returns / Usage for every UI API adapter, grouped by family (uiRecordApis, uiListsApis, uiRelatedListApis, uiObjectInfoApis). Each adapter is a # `<name>` block; grep for the backticked name (e.g. # `getRecord`) to jump to its entry. Read this before wiring an adapter; do not paraphrase from memory.

Type catalog — references/wire-adapter-types.md holds every type the adapters return (Record, ObjectInfo, FieldValue, etc.), grouped by category and rendered with the same formatter the legacy MCP tool used. Grep for ## <TypeName> to jump to a specific entry.

Read the applicable reference before editing code.

Core Principles

  1. Prefer LDS/UIAPI for CRUD on standard and custom objects. Use Apex only when business logic or bulk operations exceed LDS capabilities.
  2. Always keep rendered data fresh with refreshApex(wiredResult) or notifyRecordUpdateAvailable([{ recordId }]) after any mutation.
  3. Import object and field references from @salesforce/schema — not string literals. This protects the component against metadata renames.
  4. Favor base record form components (lightning-record-form, lightning-record-edit-form, lightning-record-view-form) for single-record UIs. They ship with validation, SLDS styling, accessibility, and field-level security.

Review Checklist

Answer Yes / No to each. Any Yes triggers a refactor.

1. Hand-rolling forms instead of base components
  • Does the component implement a custom form for single-record CRUD where lightning-record-form, lightning-record-edit-form, or lightning-record-view-form would suffice?
  • Does validation logic duplicate what base record form components provide natively?
  • Are standard SLDS styles recreated manually instead of leveraging the styling baked into base components?
2. Not importing references
  • Are object or field API names referenced as hard-coded strings?
  • In templates, are field values accessed directly via expressions like record.data.fields.Name.value without schema imports?
  • Does the JS file lack any @salesforce/schema import even though it interacts with Salesforce fields?
3. Mixing Apex and LDS without synchronization
  • Does the component read via LDS and mutate the same record through Apex without a subsequent cache refresh?
  • Does it fetch through Apex yet rely on the LDS cache for display without synchronizing after updates?
  • Do multiple data sources touch the same object without an explicit refresh strategy?
4. Overusing Apex
  • Does the component call Apex solely to retrieve or update a single record that getRecord, updateRecord, or a base record form could handle?
  • Is Apex used to run a simple SOQL query whose fields are available through standard LDS wire adaptors?
  • Are custom Apex methods present for basic CRUD while no LDS/UIAPI calls appear in the code?

Workflow

Step 1 — Inventory the data layer

List every data operation in the component:

  • Wire adapters (@wire(getRecord, …), @wire(getRecords, …), @wire(someApexMethod, …)).
  • Imperative calls (updateRecord, createRecord, deleteRecord, Apex imperative).
  • Reads vs writes, target object(s), fields, and whether the refresh path after writes is wired.
Show full SKILL.md (559 more words)Show less
Step 2 — Run the four-section checklist

Walk sections §1–§4 in order. For each section, decide whether it applies to the component under review and record the result in the report. Use the shape below — every section must appear exactly once, either as an issue (violation) under ## LDS Best Practices, or as a compliant entry under ## Sections checked (no issue). Finish with a ## Summary line listing counts and a one-paragraph narrative.

Report shape:

markdown
## LDS Best Practices

- §<N> <section title> — <file>:<lines>
  Issue: <what is wrong, specifically citing the pattern in the code>
  Fix: <the corrective change, naming the exact import / API to use>
  Applied: <yes | no>

## Sections checked (no issue)

- §<N> <section title> — <file>:<lines>
  Status: Compliant (no action).
  Evidence: <what in the code makes this section compliant — cite lines, imports, and the base component or schema token being used>

## Summary

- <X> issue(s) found; <Y> fixed; <Z> deferred.
- <one-paragraph narrative of the review — what the component does, why the flagged issues matter, and why the compliant sections are compliant.>

Rules for producing this report:

  • Every one of §1–§4 must appear in exactly one of the two blocks. Do not omit a section because it is compliant; record it with evidence under ## Sections checked (no issue).
  • Under ## LDS Best Practices, only list actual violations. If there are no violations, write "No best-practice issues found." as the first line, then move every section to the compliant block.
  • Cite specific file paths and line ranges from the component under review — never generic references.
  • Do not invent additional sections beyond §1–§4; downstream a11y / RTL / security reviews run as separate workflows and have their own reports.
Step 3 — Apply referential-integrity fixes

For every hard-coded API name:

javascript
import ACCOUNT_OBJECT from '@salesforce/schema/Account';
import NAME_FIELD from '@salesforce/schema/Account.Name';
import INDUSTRY_FIELD from '@salesforce/schema/Account.Industry';

Use these constants everywhere the object or field is referenced — wire configs, @wire field arrays, getFieldValue(record, NAME_FIELD) calls, and base-component object-api-name / fields attributes.

Full rules: references/lds-referential-integrity.md.

Step 4 — Apply data-consistency fixes
  • After imperative LDS mutation (updateRecord, createRecord, deleteRecord), dispatch a refresh:
    javascript
    import { updateRecord, getRecord } from 'lightning/uiRecordApi';
    import { refreshApex } from '@salesforce/apex';
    
    async handleSave() {
        await updateRecord({ fields: { Id: this.recordId, Name: this.name } });
        await refreshApex(this.wiredRecord);
    }
  • After Apex mutation of a record the cache holds, prefer:
    javascript
    import { notifyRecordUpdateAvailable } from 'lightning/uiRecordApi';
    await notifyRecordUpdateAvailable([{ recordId: this.recordId }]);
  • Keep a reference to wire results (this.wiredRecord = result; return result.data;) so refreshApex can target them.
  • Base form components refresh themselves; no manual refresh needed.

Full rules: references/lds-data-consistency.md.

Step 5 — Replace Apex with UIAPI where applicable
  • Single-record read → getRecord (with fields + schema imports).
  • Single-record update → updateRecord or lightning-record-edit-form.
  • Single-record create → createRecord or lightning-record-form with mode="edit".
  • Related-record read → getRelatedListRecords.
  • Picklist values → getPicklistValues.
  • Object metadata → getObjectInfo / getObjectInfos.

When in doubt about adapter shape, grep references/adapter-apis.md for the backticked adapter name (e.g. # `getRecord`) — it has the authoritative parameters, returns, and usage. For @salesforce/schema/<Object>.<Field> paths, confirm the exact API name in Setup → Object Manager → <Object> → Details → API Name. For unfamiliar return types, grep references/wire-adapter-types.md for the type name.

Step 6 — Verify
  • No hardcoded API names remain in the component files.
  • Every write path has a matching refresh path (or uses a base form component).
  • No duplicate reads of the same record via both Apex and UIAPI.
  • Existing Jest tests pass; add coverage for the refresh flow (refreshApex called exactly once per mutation).

Cross-References

  • Related skills:
    • experience-lwc-generate — when the review surfaces the need to regenerate rather than patch the component.
    • design-systems-slds-apply — for SLDS class / design-token cleanup surfaced by the LDS review.
  • Adjacent (out-of-band today):
    • GraphQL query/mutation authoring, upstream data-requirements analysis, and the security / RTL / a11y review passes run as separate workflows with their own tooling.

Examples

Base-component first (preferred)

html
<template>
    <lightning-record-form
        record-id={recordId}
        object-api-name="Account"
        fields={fields}
        mode="edit"
        onsuccess={handleSuccess}>
    </lightning-record-form>
</template>
javascript
import { LightningElement, api } from 'lwc';
import NAME_FIELD from '@salesforce/schema/Account.Name';
import INDUSTRY_FIELD from '@salesforce/schema/Account.Industry';

export default class AccountEditor extends LightningElement {
    @api recordId;
    fields = [NAME_FIELD, INDUSTRY_FIELD];

    handleSuccess() {
        this.dispatchEvent(new CustomEvent('saved'));
    }
}

Imperative update with refresh

javascript
import { LightningElement, api, wire } from 'lwc';
import { getRecord, updateRecord } from 'lightning/uiRecordApi';
import { refreshApex } from '@salesforce/apex';
import ACCOUNT_NAME from '@salesforce/schema/Account.Name';

export default class RenameAccount extends LightningElement {
    @api recordId;
    wiredRecord;

    @wire(getRecord, { recordId: '$recordId', fields: [ACCOUNT_NAME] })
    wired(result) {
        this.wiredRecord = result;
    }

    async handleRename(event) {
        await updateRecord({ fields: { Id: this.recordId, Name: event.detail } });
        await refreshApex(this.wiredRecord);
    }
}

Verification

  • Grep for @salesforce/schema/ imports — they should cover every field/object the component references.
  • Grep for string literals that look like API names ('Account', 'Name') — none should appear in wire configs or field arrays.
  • Trace every mutation call to a refresh call (either refreshApex, notifyRecordUpdateAvailable, or a base form handling it internally).
  • Confirm Apex is only used where UIAPI can't satisfy the requirement (bulk, complex joins, custom logic).

© 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 5 other files (references) in skills/experience-lds-best-practices-apply of forcedotcom/sf-skills.

  • SKILL.md
  • references/adapter-apis.md
  • references/lds-data-consistency.md
  • references/lds-expert.md
  • references/lds-referential-integrity.md
  • references/wire-adapter-types.md

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Experience Lds Best Practices Apply 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.

Experience Lds Best Practices Apply compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Experience Lds Best Practices Apply this skillforcedotcom/sf-skills1.1k—~3.4kAutomated safety check: PassApache-2.0
Salesforce Component Standardsgithub/awesome-copilot40k1 repos~2.4kAutomated safety check: PassMIT
Extract DesignManavarya09/design-extract4.2k—~786Automated safety check: NotesMIT
Material Design 3 UI/UX Guideskydashnet/material-design-3-ui-skill135—~3kAutomated safety check: PassMIT
UI Component Spec Designerplugin87/ux-ui-agent-skills1.6k—~2.8kAutomated safety check: PassMIT
UI Design Systemtry-works/role-model118—~5kAutomated safety check: PassMIT

Similar skills

  • Salesforce Component Standards

    github/awesome-copilot

    Official

    Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages.

    40k GitHub starsUsed in 1 repo~2.4k tokens
    Frontend & DesignAuto-check passed
  • Extract Design

    Manavarya09/design-extract

    Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.

    4.2k GitHub stars~786 tokensUpdated yesterday
    Frontend & DesignAuto-check: notes
  • Material Design 3 UI/UX Guide

    skydashnet/material-design-3-ui-skill

    Guides designing, reviewing or implementing interfaces that follow Google's Material Design 3 system: semantic tokens, component states, adaptive layout and accessibility.

    135 GitHub stars~3k tokensUpdated 9 days ago
    Frontend & DesignAuto-check passed
  • UI Component Spec Designer

    plugin87/ux-ui-agent-skills

    Writes a complete UI component spec with anatomy, variants, sizes, eight interaction states, design-token mapping and accessibility notes before or alongside code.

    1.6k GitHub stars~2.8k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • UI Design System

    try-works/role-model

    React UI component systems with TailwindCSS + Radix + shadcn/ui.

    118 GitHub stars~5k tokensUpdated 2 days ago
    Frontend & DesignAuto-check passed
  • Replica Design

    Jakeschincariol/replica-skill

    Rebuilds an app's design system for a clone: colour roles, type scale, spacing, radius, shadows and every component with its states, as design tokens plus component specs, with original assets…

    1.2k GitHub stars~994 tokensUpdated 6 days ago
    Frontend & DesignAuto-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 2 days ago
    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 2 days ago
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

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

    1.1k GitHub stars~5.4k tokensUpdated 2 days ago
    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 2 days ago
    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 2 days ago
    Auto-check passed

Questions about Experience Lds Best Practices Apply

What does Experience Lds Best Practices Apply do?

A skill your agent uses when reviewing or implementing Lightning Data Service best practices in an LWC (.js, .html, .js-meta.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable…. Experience Lds Best Practices Apply is an agent skill from forcedotcom/sf-skills.xml) — UIAPI vs Apex, refreshApex / notifyRecordUpdateAvailable, @salesforce/schema imports, LDS record-form data patterns.

When should I use Experience Lds Best Practices Apply?

Experience Lds Best Practices Apply fits situations like: implementing Lightning Data Service best practices in an LWC (.js; .js-meta.xml) — UIAPI vs Apex; refreshApex / notifyRecordUpdateAvailable; @salesforce/schema imports.

How do I install Experience Lds Best Practices Apply in Claude Code?

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

How do I install Experience Lds Best Practices Apply in Codex?

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

Can I use Experience Lds Best Practices Apply 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 experience-lds-best-practices-apply -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/experience-lds-best-practices-apply, .gemini/skills/experience-lds-best-practices-apply, .github/skills/experience-lds-best-practices-apply and .opencode/skills/experience-lds-best-practices-apply in your project.

What does Experience Lds Best Practices Apply need to run?

SKILL.md names no scripts, command-line tools or credentials: Experience Lds Best Practices Apply is instructions for the agent only.

Does Experience Lds Best Practices Apply access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Experience Lds Best Practices Apply safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Experience Lds Best Practices Apply use?

Experience Lds Best Practices Apply 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 Experience Lds Best Practices Apply use?

About 3.4k tokens (SKILL.md is roughly 14k 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 28k tokens, read only when the agent opens those files.

What are the alternatives to Experience Lds Best Practices Apply?

Skills that share tags, products or a category with Experience Lds Best Practices Apply: Salesforce Component Standards (github/awesome-copilot, 40k stars), Extract Design (Manavarya09/design-extract, 4.2k stars), Material Design 3 UI/UX Guide (skydashnet/material-design-3-ui-skill, 135 stars) and UI Component Spec Designer (plugin87/ux-ui-agent-skills, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Experience Lds Best Practices Apply?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,065 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.