Specification
Skill ID
jaganpro/sf-skills/sf-lwc
Publisher
jaganpro
Repository
sf-skills
Installs
0
Files
59
License
MIT
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

jaganpro/sf-skills/sf-lwcInstalls these files
  • CREDITS.md
  • README.md
  • SKILL.md
  • assets/apex-controller/LwcController.cls
  • assets/basic-component/basicComponent.css
  • assets/basic-component/basicComponent.html
  • assets/basic-component/basicComponent.js
  • assets/basic-component/basicComponent.js-meta.xml
  • assets/datatable-component/datatableComponent.html
  • assets/datatable-component/datatableComponent.js
  • assets/flow-screen-component/flowScreenComponent.css
  • assets/flow-screen-component/flowScreenComponent.html
  • assets/flow-screen-component/flowScreenComponent.js
  • assets/flow-screen-component/flowScreenComponent.js-meta.xml
  • assets/form-component/formComponent.html
  • assets/form-component/formComponent.js
  • assets/graphql-component/graphqlComponent.html
  • assets/graphql-component/graphqlComponent.js
  • assets/jest-test/componentName.test.js.example
  • assets/message-channel/RecordSelected.messageChannel-meta.xml
  • assets/message-channel/lmsPublisher.js
  • assets/message-channel/lmsSubscriber.js
  • assets/modal-component/modalComponent.html
  • assets/modal-component/modalComponent.js
  • assets/record-picker/recordPicker.html
  • assets/record-picker/recordPicker.js
  • assets/state-store/store.js
  • assets/typescript-component/typescriptComponent.css
  • assets/typescript-component/typescriptComponent.html
  • assets/typescript-component/typescriptComponent.js-meta.xml
  • assets/typescript-component/typescriptComponent.test.ts.example
  • assets/typescript-component/typescriptComponent.ts
  • assets/workspace-api/workspaceComponent.html
  • assets/workspace-api/workspaceComponent.js
  • hooks/scripts/lwc-lsp-validate.py
  • hooks/scripts/post-tool-validate.py
  • hooks/scripts/slds_data/deprecated_patterns.json
  • hooks/scripts/slds_data/styling_hooks.json
  • hooks/scripts/slds_data/valid_slds_classes.json
  • hooks/scripts/slds_linter_wrapper.py
  • hooks/scripts/slds_rules/__init__.py
  • hooks/scripts/template_validator.py
  • hooks/scripts/validate_slds.py
  • references/accessibility-guide.md
  • references/advanced-features.md
  • references/async-notification-patterns.md
  • references/cli-commands.md
  • references/component-patterns.md
  • references/flow-integration-guide.md
  • references/jest-testing.md
  • references/lms-guide.md
  • references/lwc-best-practices.md
  • references/performance-guide.md
  • references/scoring-and-testing.md
  • references/slds-blueprints.json
  • references/slds-design-guide.md
  • references/state-management.md
  • references/template-anti-patterns.md
  • references/triangle-pattern.md

What this skill tells the agent

sf-lwc: 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 sf-lwc 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 → sf-apex
  • building Flow XML rather than an LWC screen component → sf-flow
  • deploying metadata → sf-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:

  • sf-apex for controllers / services
  • sf-deploy for deployment
  • sf-testing 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:

# Preview LWC components in isolation
sf lightning dev component --target-org <alias>

# Preview a Lightning Experience app locally
sf lightning dev app --target-org <alias>

# Preview an Experience Cloud site locally
sf lightning dev site --target-org <alias>

In current SF CLI releases, these Local Dev commands are installed just-in-time the first time you run them. 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 servicesf-apexbackend logic
embed in Flow screenssf-flowdeclarative orchestration
deploy component bundlesf-deployorg rollout
create metadata like message channelssf-metadatasupporting metadata

Reference Map

Start here

  • references/component-patterns.md
  • references/slds-design-guide.md
  • references/lwc-best-practices.md
  • references/scoring-and-testing.md
  • references/jest-testing.md

Accessibility / performance / state

  • references/accessibility-guide.md
  • references/performance-guide.md
  • references/state-management.md
  • references/template-anti-patterns.md

Integration / advanced features

  • references/lms-guide.md
  • references/flow-integration-guide.md
  • references/advanced-features.md
  • references/async-notification-patterns.md
  • references/triangle-pattern.md
  • assets/

Score Guide

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

Use this skill in a project

Open any RiverX project, search the Skills panel for jaganpro/sf-skills/sf-lwc, and install it in one click.

Use this skill