PluginBench
Skill
Review
Audit score 70

experience-lwc-generate

forcedotcom/sf-skills

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

What is experience-lwc-generate?

This skill handles Lightning Web Component creation, wire service patterns, SLDS 2 styling, accessibility, and Jest testing. Use it when building or editing LWC bundles, integrating data sources, or writing component tests—not for Apex controllers, Aura components, or Visualforce.

  • Scaffold and design LWC component bundles with proper file structure
  • Implement wire service, Apex, and GraphQL data access patterns
  • Apply SLDS 2 styling, dark mode, and accessibility standards (WCAG, ARIA)
  • Write Jest unit tests with async rendering helpers
  • Build Flow screen components, modals, datatables, and form patterns
  • Validate component quality against 165-point scoring rubric across 8 categories

How to install experience-lwc-generate

npx skills add https://github.com/forcedotcom/sf-skills --skill experience-lwc-generate
Prerequisites
  • Node.js >=18.0.0
  • npm >=9.0.0
  • npx >=9.0.0
  • Python3 >=3.9.0
  • Salesforce CLI (sf) >=2.0.0
  • Active Salesforce org connection for local dev preview
Claude Code
Cursor
Windsurf
Cline

How to use experience-lwc-generate

  1. 1.Gather component requirements: purpose, data source (LDS/Apex/GraphQL), target surface (App Builder/Flow/Experience Cloud)
  2. 2.Choose data access pattern from the reference table (wire, Apex cacheable, GraphQL, LMS)
  3. 3.Use asset templates (basic-component, datatable, flow-screen) as starting points if applicable
  4. 4.Implement component logic following PICKLES methodology: prototype, integrate, compose, define interaction, use platform libraries, optimize, enforce security
  5. 5.Apply SLDS 2 styling and accessibility standards using provided design guide and CSS hooks
  6. 6.Write Jest tests using async rendering helpers from jest-testing reference
  7. 7.Validate against 165-point scoring rubric for quality gates
  8. 8.Hand off Apex backend work to platform-apex-generate and deployment to platform-metadata-deploy

Use cases

Good for
  • Create a record detail component using LDS wire service with error and loading states
  • Build a Flow screen component with input/output properties for declarative flows
  • Implement a datatable with inline editing and Apex callout integration
  • Write Jest tests for component lifecycle, event handling, and async data loading
  • Refactor a component for SLDS 2 compliance and dark mode support
Who it's for
  • Salesforce developers building Lightning Web Components
  • Frontend engineers integrating Apex or GraphQL backends
  • QA engineers writing Jest unit tests for LWC
  • Architects designing component patterns and data access strategies

experience-lwc-generate FAQ

When should I use this skill vs. platform-apex-generate?

Use experience-lwc-generate for component UI, templates, styling, and Jest tests. Use platform-apex-generate for Apex controllers, services, and business logic that backs the component.

What data access pattern should I choose?

Use LDS/@wire for single-record read-only UI; Apex @AuraEnabled(cacheable=true) for complex queries; GraphQL for related graph data; LMS for cross-component communication; imperative calls for explicit actions and DML.

How do I preview components locally without deploying?

Run commands in scripts/local-dev-preview.sh to start a local dev server with hot reload. Changes to .js, .html, and .css files auto-reload instantly. Requires an active org connection.

What accessibility standards must I follow?

Follow WCAG 2.1 AA, use semantic HTML, implement ARIA labels, ensure keyboard navigation, test with screen readers, and avoid hardcoded colors—use SLDS 2 styling hooks instead.

How is component quality scored?

Components are evaluated on a 165-point rubric across 8 categories: architecture, data patterns, accessibility, styling/dark mode, performance, testing, security, and event contracts.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: experience-lwc-generate description: "Lightning Web Components with PICKLES methodology and 165-point scoring. Use this skill when the user creates or edits LWC components, builds wire service patterns, or writes Jest tests for LWC. TRIGGER when: user creates/edits LWC components, touches lwc/**/*.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use platform-apex-generate), Aura components, or Visualforce." metadata: version: "1.1" domains: ["Experience"] minApiVersion: "66.0" relatedSkills: - "agentforce-generate" - "automation-flow-generate" - "integration-connectivity-generate" - "platform-apex-generate" - "platform-apex-test-run" - "platform-metadata-deploy" cliTools: - tool: ["node"] semver: ">=18.0.0" - tool: ["npm"] semver: ">=9.0.0" - tool: ["npx"] semver: ">=9.0.0" - tool: ["python3"] semver: ">=3.9.0" - tool: ["sf"] semver: ">=2.0.0"

experience-lwc-generate: Lightning Web Components Development

Use this skill when the user needs Lightning Web Components: LWC bundles, wire patterns, Apex/GraphQL integration, SLDS 2 styling, accessibility, performance work, or Jest unit tests.

When This Skill Owns the Task

Use experience-lwc-generate when the work involves:

  • lwc/**/*.js, .html, .css, .js-meta.xml
  • component scaffolding and bundle design
  • wire service, Apex integration, GraphQL integration
  • SLDS 2, dark mode, and accessibility work
  • Jest unit tests for LWC

Delegate elsewhere when the user is:

  • writing Apex controllers or business logic first → platform-apex-generate
  • building Flow XML rather than an LWC screen component → automation-flow-generate
  • deploying metadata → platform-metadata-deploy

Required Context to Gather First

Ask for or infer:

  • component purpose and target surface
  • data source: LDS, Apex, GraphQL, LMS, or external system via Apex
  • whether the user needs tests
  • whether the component must run in Flow, App Builder, Experience Cloud, or dashboard contexts
  • accessibility and styling expectations

Recommended Workflow

1. Choose the right architecture

Use the PICKLES mindset:

  • prototype
  • integrate the right data source
  • compose component boundaries
  • define interaction model
  • use platform libraries
  • optimize execution
  • enforce security

2. Choose the right data access pattern

NeedDefault pattern
single-record UILDS / getRecord
simple CRUD formbase record form components
complex server queryApex @AuraEnabled(cacheable=true)
related graph dataGraphQL wire adapter
cross-DOM communicationLightning Message Service

3. Start from an asset when useful

Use provided assets for:

  • basic component bundles
  • datatables
  • modal patterns
  • Flow screen components
  • GraphQL components
  • LMS message channels
  • Jest tests
  • TypeScript-enabled components

4. Validate for frontend quality

Check:

  • accessibility
  • SLDS 2 / dark mode compliance
  • event contracts
  • performance / rerender safety
  • Jest coverage when required

5. Hand off supporting backend or deploy work

Use:

  • platform-apex-generate for controllers / services
  • platform-metadata-deploy for deployment
  • platform-apex-test-run only for Apex-side test loops, not Jest

High-Signal Rules

  • prefer platform base components over reinventing controls
  • use @wire for reactive read-only use cases; imperative calls for explicit actions and DML paths
  • do not introduce inaccessible custom UI
  • avoid hardcoded colors; use SLDS 2-compatible styling hooks / variables
  • avoid rerender loops in renderedCallback()
  • keep component communication patterns explicit and minimal

Output Format

When finishing, report in this order:

  1. Component(s) created or updated
  2. Data access pattern chosen
  3. Files changed
  4. Accessibility / styling / testing notes
  5. Next implementation or deploy step

Suggested shape:

LWC work: <summary>
Pattern: <wire / apex / graphql / lms / flow-screen>
Files: <paths>
Quality: <a11y, SLDS2, dark mode, Jest>
Next step: <deploy, add controller, or run tests>

Local Development Server

Preview LWC components locally with hot reload — no deployment needed. Run the commands in scripts/local-dev-preview.sh to start a local dev session for a component, app, or Experience Cloud site.

Local Dev commands install just-in-time on first run. They are long-running processes that open a browser with live preview. Changes to .js, .html, and .css files auto-reload instantly. Requires an active org connection for data and Apex callouts.


Cross-Skill Integration

NeedDelegate toReason
Apex controller or serviceplatform-apex-generatebackend logic
embed in Flow screensautomation-flow-generatedeclarative orchestration
deploy component bundleplatform-metadata-deployorg rollout
create supporting metadata (message channels, objects)platform-metadata-deploymetadata deployment

Reference File Index

Start here

Accessibility / performance / state

Integration / advanced features

Asset templates

Scripts


Score Guide

ScoreMeaning
150+production-ready LWC bundle
125–149strong component with minor polish left
100–124functional but review recommended
< 100needs significant improvement