experience lwc generate

Skill

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.

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

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:

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:

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:
text
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

  • references/component-patterns.md [blocked] — component architecture patterns and bundle design
  • references/slds-design-guide.md [blocked] — SLDS 2 styling, dark mode, CSS hooks
  • references/lwc-best-practices.md [blocked] — high-signal rules and anti-patterns
  • references/scoring-and-testing.md [blocked] — 165-point scoring rubric across 8 categories
  • references/jest-testing.md [blocked] — Jest unit test patterns and async rendering helpers
  • references/slds-blueprints.json [blocked] — machine-readable SLDS component blueprints
  • references/cli-commands.md [blocked] — SF CLI commands for LWC development

Accessibility / performance / state

  • references/accessibility-guide.md [blocked] — WCAG, ARIA, keyboard navigation patterns
  • references/performance-guide.md [blocked] — lazy loading, debouncing, rerender safety
  • references/state-management.md [blocked] — reactive state patterns and LMS
  • references/template-anti-patterns.md [blocked] — common HTML template mistakes to avoid

Integration / advanced features

  • references/lms-guide.md [blocked] — Lightning Message Service patterns
  • references/flow-integration-guide.md [blocked] — Flow screen component design
  • references/advanced-features.md [blocked] — Spring '26 features: TypeScript, lwc:on, GraphQL mutations
  • references/async-notification-patterns.md [blocked] — toast, notifications, async flows
  • references/triangle-pattern.md [blocked] — parent-child-sibling communication triangle

Asset templates

  • assets/basic-component/basicComponent.js [blocked] — wire service, error/loading states, event dispatching
  • assets/datatable-component/datatableComponent.js [blocked] — datatable with inline editing
  • assets/flow-screen-component/flowScreenComponent.js [blocked] — Flow screen with input/output properties
  • assets/form-component/formComponent.js [blocked] — form validation and DML patterns
  • assets/graphql-component/graphqlComponent.js [blocked] — GraphQL wire adapter with cursor-based pagination
  • assets/jest-test/componentName.test.js.example [blocked] — Jest test template (copy and rename, remove .example suffix)
  • assets/message-channel/lmsPublisher.js [blocked] — LMS publisher pattern
  • assets/message-channel/lmsSubscriber.js [blocked] — LMS subscriber pattern
  • assets/modal-component/modalComponent.js [blocked] — modal with focus trap and ESC handling
  • assets/record-picker/recordPicker.js [blocked] — record picker with search
  • assets/state-store/store.js [blocked] — reactive state store for cross-component state
  • assets/typescript-component/typescriptComponent.ts [blocked] — TypeScript-enabled component (Spring '26)
  • assets/workspace-api/workspaceComponent.js [blocked] — workspace API for tab and focus management
  • assets/apex-controller/LwcController.cls [blocked] — Apex controller with @AuraEnabled(cacheable=true) patterns

Scripts

  • scripts/local-dev-preview.sh [blocked] — local dev server commands for component, app, and site preview

Score Guide

ScoreMeaning
150+production-ready LWC bundle
125–149strong component with minor polish left
100–124functional but review recommended
< 100needs significant improvement
experience-lwc-generate — Kortix Marketplace | Kortix