npx skills add ...
npx skills add forcedotcom/sf-skills --skill experience-lwc-design-generate
Use when you need to create a brand new Lightning Web Component from a Figma design, a Product Requirements Document, or another design artifact — orchestrating the five-phase workflow (gather requirements → generate code → optimize → lint/format/compile → test) and stitching together the specialized skills for SLDS, LDS, base components, optimization, and testing. Use this skill whenever the user mentions building a new LWC from Figma, building an LWC from a PRD, generating an LWC from a design or screenshot, or migrating an Aura component as a fresh LWC build. DO NOT TRIGGER when refactoring an existing LWC (use experience-lwc-generate), for Aura → LWC in-place migration (out of scope for this skill), for standalone SLDS token or styling work (use design-systems-slds-apply), or for standalone data-layer work (use experience-lds-best-practices-apply or experience-lds-data-requirements-generate).
npx skills add forcedotcom/sf-skills --skill experience-lwc-design-generate
Orchestrate the end-to-end creation of a new Lightning Web Component from a design input (Figma, PRD, Aura source, or user description). This is the top-level workflow skill — it sequences the specialized sibling skills that own each stage. Org-aware data (LDS schema introspection, design-frame inspection) is resolved by handing off to experience-lds-data-requirements-generate or via design-tool URLs the user provides.
Do NOT use this skill for:
experience-lwc-generate).experience-lds-data-requirements-generate and experience-lds-best-practices-apply can resolve the schema and adapter shapes.Goal: produce a consolidated PRD that every later phase consumes.
Obtain raw requirements — collect the PRD, design spec, Figma URL, Aura source, or user text.
Figma → PRD (if applicable): follow references/figma-to-prd-blueprint.md for the full Figma-frame analysis and PRD section guidelines. Inputs you need from the user: the Figma URL, a screenshot of the target frame, and (if Dev Mode is available) the metadata export for the node. Translate into the PRD skeleton from references/prd-analysis-template.md using the section-by-section guidance in the blueprint.
Aura → PRD (if migrating): enumerate the Aura component's functionality that must be preserved — markup, controller/helper actions, events, attributes, and wired data — and feed that inventory into the PRD as explicit requirements. (In-place Aura → LWC porting is out of scope; this step only captures behavior for a fresh build.)
Data requirements (if the component reads/writes data): hand off to experience-lds-data-requirements-generate. That skill produces a validated data specification (object/field API names, recommended LDS API, implementation approach). Paste its output verbatim into the PRD.
Adapter exploration: hand off to experience-lds-best-practices-apply for the adapter selection rules (UI API vs GraphQL vs Apex) and the recommended wiring for the chosen approach.
Naming: componentName must be camelCase (e.g., productCard) and tagName must be its kebab-case form (e.g., product-card). Validate both with the bundled script — do not eyeball the check:
The script exits nonzero (with an actionable stderr message) if either name is malformed or if the kebab form of componentName does not equal tagName.
Deliverable: a comprehensive PRD covering purpose, content, data, interactions, states, a11y, responsiveness, styling direction, localization, and security. Keep it checked into the workspace (e.g., packages/skills/<skill>-workspace/<iteration>/PRD.md).
Goal: initial .html, .js, .css, .js-meta.xml that strictly reflect the PRD.
experience-lwc-generate with the PRD content as the spec. That skill owns PRD → code translation (events, getters, @api, .js-meta.xml, AI metadata) and is the authoring source of truth.design-systems-slds-apply:
experience-lwc-base-components-integrate).design-systems-slds-apply).design-systems-slds-apply).experience-lwc-generate checklist before proceeding.// TODO: comments that quote the PRD language raising the ambiguity.Deliverable: a first-pass LWC bundle in the target path.
Goal: apply performance, maintainability, and best-practice fixes.
renderedCallback guards).experience-lwc-generate for the LWC best-practices review pass (anti-patterns, reactivity, composition).experience-accessibility-validate (a11y), experience-lwc-security-validate (LWS + Product Security), and experience-lwc-rtl-validate (RTL i18n). Run them together for the full quality pass.experience-lds-best-practices-apply for cache/consistency and referential-integrity checks.Condition: only run steps whose tooling is configured in the project.
Detect project tooling — invoke the bundled detection script from the project root and read its <tool>=yes|no lines. Do NOT eyeball package.json / dotfiles in prose:
Sample output:
Run the substeps below only for tools reported yes; skip the rest.
ESLint (if eslint=yes) — run and fix all violations.
Prettier (if prettier=yes) — run for consistent formatting.
Cursor rules (if cursor-rules=yes) — apply every rule the project ships.
LWC compiler (if lwc-compiler=yes) — run via local dev server or SFDX; resolve every syntax/template error before moving on.
Deliverable: clean, validated component code.
Hand off to experience-lwc-accessibility-jest-run for automated accessibility Jest coverage; add general-purpose Jest coverage in the same pass following the experience-lwc-generate test guidance, plus UTAM page object generation if the team requires it.
Deliverable: the LWC bundle with a passing test suite at or above the project's coverage threshold.
A new component built from this workflow is "done" only when every item below is true. Treat this as the canonical readiness checklist — copy it into the PR description so reviewers can confirm each line.
Code completion — no implementation gaps:
TODO: and a linked tracking item. No silent gaps.TODO, FIXME, or console.log / console.table / alert() left in production paths.lwc:dom="manual" regions or third-party-library escape hatches without a comment explaining why a native LWC pattern wasn't used.Compliance and quality:
.js-meta.xml AI metadata passes the audit in experience-lwc-generate (component-wide <ai><description> set, plus an <ai><property name="…" aiDescription="…"/></ai> entry for every @api member exposed through <targetConfig>; no marketing language).design-systems-slds-apply verification — no raw hex / px values, only styling hooks and SLDS utility classes.experience-accessibility-validate for source review + experience-lwc-accessibility-jest-run for automated tests, both green.experience-lwc-security-validate + experience-lwc-rtl-validate, both green.Data + tests:
experience-lds-best-practices-apply or experience-lds-data-requirements-generate).@api surface, every dispatched event, and every error path (failed wire, failed apex, validation rejection).experience-lds-data-requirements-generate — Phase 1.4 data spec (and Phase 1.5 adapter exploration alongside experience-lds-best-practices-apply).design-systems-slds-apply, experience-lwc-base-components-integrate — Phase 2 styling decisions.experience-lwc-generate — Phase 2 authoring baseline + Phase 3 best-practices review + Phase 5 AI-metadata audit.experience-lds-best-practices-apply — Phase 2/3 data-layer adapter selection and consistency review.experience-accessibility-validate, experience-lwc-security-validate, experience-lwc-rtl-validate — Phase 3 a11y/security/RTL review.experience-lwc-accessibility-jest-run — Phase 5 automated a11y test generation.experience-lwc-typescript-migrate — optional once JS is green.experience-lwc-api-docs-generate — once the public API surface is stable.experience-lds-data-requirements-generate owns the org-schema introspection and data-spec validation used in Phase 1 when the component needs org-backed data — hand off to that skill rather than duplicating its work here.Phase 1 PRD skeleton (fill from the Figma/PRD/Aura input)
Phase 2 skeleton
experience-lwc-runtime-observe across the responsive breakpoints enumerated in the PRD.