Agent skill · product strategy · github

salesforce-component-standards

Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages. Covers SLDS 2 compliance, accessibility (WCAG 2.1 AA), data access pattern selection, component communication rules, XSS prevention, CSRF enforcement, FLS/CRUD in AuraEnabled methods, view state management, and Jest test requirements. Use this skill when building or reviewing any Salesforce UI component to enforce platform-specific security and quality standards.

Why this skill is useful

Provides specific Salesforce Lightning component quality standards and security practices that the AI wouldn't reliably generate on its own.

What it needs

About 6k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.

What this skill does

Salesforce Component Quality Standards Apply these checks to every LWC, Aura component, and Visualforce page you write or review. Section 1 — LWC Quality Standards 1.1 Data Access Pattern Selection Choose the right data access pattern before writing JavaScript controller code: Use case Pattern Why --- --- --- Read a single record reactively (follows navigation) @wire(getRecord, { recordId, fields }) Lightning Data Service — cached, reactive Standard CRUD form for a single object <lightning-record-form> or <lightning-record-edit-form> Built-in FLS, CRUD, and accessibility Complex server query or filtered list @wire(apexMethodName, { param }) on a cacheable=true method Allows caching; wire re-fires on param change User-triggered action, DML, or non-cacheable server call Imperative apexMethodName(params).then(...).catch(...) Required for DML — wired methods cannot be @AuraEnabled without cacheable=true Cross-component communication (no shared parent) Lightning Message Service (LMS) Decoupled, works across DOM boundaries Multi-object graph relationships GraphQL @wire(gql, { query, variables }) Single round-trip for complex related data 1.2 Security Rules Rule Enforcement --- --- No raw user data in innerHTML Use {expression} binding in the template — the framework auto-escapes. Never use this.template.querySelector('.el').innerHTML = userValue Apex @AuraEnabled methods enforce CRUD/FLS Use WITH USERMODE in SOQL or explicit Schema.sObjectType checks No hardcoded org-specific IDs in component JavaScript Query or pass as a prop — never embed record IDs in source @api properties from parent: validate before use A parent can pass anything — validate type and range before using as a query parameter 1.3 SLDS 2 and Styling Standards Never hardcode colours: color: #FF3366 → use color: var(--slds-c-button-brand-color-background) or a semantic SLDS token. Never override SLDS classes with !important — compose with custom CSS properties. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills github/salesforce-component-standards

View the source on GitHub

Browse the @skills marketplace