Agent skill

Experience Aura Lwc Migrate

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml…

Apache-2.0Auto-check passedProduct & Project Management

Install Experience Aura Lwc Migrate

skills CLI
$ npx skills add forcedotcom/sf-skills --skill experience-aura-lwc-migrate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills experience-aura-lwc-migrate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/experience-aura-lwc-migrate .claude/skills/experience-aura-lwc-migrate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
experience-aura-lwc-migrate
GitHub stars
1.1k
Token cost
~3.5k tokens
SKILL.md length
1,436 words
Files
12 (incl. references)
Skills in repo
252
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml…

  • Works in 5 steps: Analyze and draft the PRD → Enhance the PRD with Aura expert lenses → Accessibility pass → …
  • Analyze a Salesforce Aura component bundle (.cmp
  • SKILL.md covers When to Use, Prerequisites, Core Principles and Knowledge Bases, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Experience Aura Lwc Migrate is an agent skill from forcedotcom/sf-skills. Use this skill to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml / PRD.md / PRD.json) capturing public API, data requirements, slots, events, states, accessibility, styling, localization, and security posture. This is Phase 1 (analysis + PRD) only — it does NOT author or edit component code, wire adapters, or Jest tests, and does not write .html/.js/.css/.js-meta.xml. TRIGGER when the user…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including reference files (for example `references/aura-api-expert.md`, `references/aura-data-expert.md` and `references/aura-migration-guidelines.md`).

It sits in Product & Project Management, covering PRD writing, CRM management and Internationalization. It works with Salesforce and Jest. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • Analyze a Salesforce Aura component bundle (.cmp
  • Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml / PRD.md / PRD.json) capturing public API
  • Data requirements
  • Security posture

Example prompts

  • “analyze this Aura component”
  • “migrate Aura”
  • “convert .cmp”
  • “/experience-aura-lwc-migrate”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Analyze and draft the PRD
  2. Enhance the PRD with Aura expert lenses
  3. Accessibility pass
  4. Downstream authoring (follow-up guidance, not executed here)
  5. Downstream verification (follow-up guidance, not executed here)

What it can do on your machine

Read from SKILL.md and the folder at commit 4bbae5c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Experience Aura Lwc Migrate loads about 3.5k tokens when it runs, and up to ~20k if it reads all its reference files. Until then it costs about 255 tokens; SKILL.md has 1,436 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~255
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~20k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 1,436 words, ~3,461 tokens.

Download SKILL.mdSave it as .claude/skills/experience-aura-lwc-migrate/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.
name
experience-aura-lwc-migrate
description
Use this skill to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml / PRD.md / PRD.json) capturing public API, data requirements, slots, events, states, accessibility, styling, localization, and security posture. This is Phase 1 (analysis + PRD) only — it does NOT author or edit component code, wire adapters, or Jest tests, and does not write .html/.js/.css/.js-meta.xml. TRIGGER when the user says "analyze this Aura component", "migrate Aura", "convert .cmp", "produce a migration blueprint", "generate a PRD for this Aura component", or mentions aura:attribute, aura:handler, force:recordData, $Label, $Resource, component.get, cmp.find, or an input directory containing .cmp files. DO NOT TRIGGER when there is no Aura source (delegate downstream LWC authoring to experience-lwc-generate), for post-migration scoring, or for refactoring an existing modern component.
metadata.version
1.0
metadata.domains
Experience
metadata.relatedSkills
experience-lwc-generate
<!-- adk-managed-skill -->

Migrating Aura to LWC

Migrate an existing Salesforce Aura component bundle to a Lightning Web Component using a PRD-driven workflow. The Aura source is analyzed through eight expert lenses (static references, data, API surface, slots, styling, default values, unknown dependencies, redundant-code cleanup) to produce a framework-agnostic PRD, which is handed to the LWC authoring skills and verified against the Aura→LWC completeness checklist.

When to Use

  • Porting an Aura bundle (.cmp, .controller.js, .helper.js, .renderer.js, .css, .design, .evt, .intf) to LWC.
  • Producing a framework-agnostic PRD from Aura source so a sibling team can implement the LWC equivalent.
  • Auditing an Aura component for patterns that need explicit mapping before LWC conversion (facets, aura:id DOM access, force:recordData, application events).

Do NOT use this skill for:

  • Authoring a brand-new LWC from a Figma or PRD with no Aura source (delegate to experience-lwc-generate).
  • Refactoring an existing LWC (delegate to experience-lwc-generate).
  • Post-hoc completeness scoring of a conversion that was already done without this skill, or Lightning Out Beta → 2.0 host-page migration — no checked-in skill covers these today.

Prerequisites

  • Aura component bundle files (minimum: .cmp; usually also controller / helper / CSS / events / interfaces).
  • Target LWC path (module folder) — discover the caller's module tree from sfdx-project.json packageDirectories (typically an lwc/<name>/ subdirectory under one of the listed package paths).
  • For resolver-assisted dependency lookup (Phase 2, step 7): the @sfdc-internal/adk-knowledge package installed in the caller's workspace. If it is not present, the skill surfaces the missing dependency as an unknown rather than failing.
  • Awareness of the project's downstream LWC authoring flow — this skill hands off a PRD to that flow but does not invoke it.

Core Principles

Apply the Aura → LWC migration principles before and during each phase: understand before converting, prioritize functionality equivalence over structural equivalence, leverage native web standards, migrate iteratively, and test thoroughly. The architectural deltas (two-way → one-way binding, Aura events → DOM events, aura:id → this.template.querySelector, etc.) are documented in references/aura-migration-guidelines.md.

Knowledge Bases

Open the relevant reference before drafting or enhancing the corresponding PRD section.

Workflow

This skill covers the analysis and PRD-generation phases only. It does not produce, edit, or validate LWC bundles, wire adapters, or tests. Phases 1–3 below are mandatory when this skill is invoked. Phases 4–5 describe the recommended downstream authoring flow — they are informational follow-up guidance for the caller and are NOT executed by this skill.

Phase 1 — Analyze and draft the PRD

Goal: produce a draft YAML PRD that captures every section of the 14-section framework.

  1. Inspect the caller-supplied Aura bundle files. Extract the component name, the access attribute from the .cmp metadata, and every embedded/referenced component.
  2. Apply the framework in references/aura-prd-framework.md. State the access attribute explicitly in the overview and describe its implications (GLOBAL: publicly available across namespaces; PRIVILEGED/PUBLIC: restricted; etc.).
  3. Never list the host component itself in the unknowns section — that creates a circular dependency. If no valid unknowns exist, use an empty array.
  4. Save the draft PRD to the workspace (e.g., packages/skills/<skill>-workspace/<iteration>/PRD-draft.yaml).

Deliverable: draft PRD (YAML) covering the 14 sections.

Phase 2 — Enhance the PRD with Aura expert lenses

Goal: harden each section using the eight Aura expert frameworks.

Apply the experts in order. Each pass reads the draft PRD and rewrites the relevant sections in place.

  1. Reference analysis — apply references/aura-reference-expert.md to staticReferences, componentCommunication, and unknowns. Enumerate every $Resource, $ContentAsset, $Label, $Browser, $Locale, /lightning/* route, and c:* / force:* / lightning:* dependency. The blueprint must never directly contain the Aura-specific strings $ContentAsset, $Label, $Resource, $Browser, or $Locale; replace each with a description of intent.
  2. Data analysis — apply references/aura-data-expert.md to dataRequirements. The blueprint dataRequirements must not contain force:recordData or lightning:recordViewForm — document the underlying record, fields, and object-API-name instead. Rename sObjectName → objectApiName. Capture Apex-controller method names, input parameters, and output shapes.
  3. API analysis — apply references/aura-api-expert.md to componentCommunication, interactions, and staticReferences. Document every public attribute (with type, default, and all usage intents), <aura:method> declaration, event firing (component.getEvent(...).fire()), and Object-typed callback attribute (these become LWC custom events).
  4. Slots analysis — apply references/aura-slots-expert.md to contentRequirements. Translate every {!v.body} / {#v.body} to a default slot entry (LWC components can have only one default slot — capture the condition under which it is present) and every <aura:attribute type="Aura.Component"> or "Aura.Component[]" to a named-slot entry.
  5. Style analysis — apply references/aura-style-expert.md to styling and dataRequirements. Move styling-related attributes out of dataRequirements and into styling. Document SLDS hooks, custom CSS, and any dynamic styling driven by JS.
  6. Values analysis — apply references/aura-values-expert.md to dataRequirements. For every Aura attribute, record its default value (type + literal; or namespace + name for $Label references) in the what property.
  7. Resolver analysis — apply references/aura-resolver-expert.md to unknowns. For each unknown, parse namespace + name, look up the corresponding file under node_modules/@sfdc-internal/adk-knowledge/dist/ using the mapping rules, and either inline the resolved content or leave a note that manual research is required. If the @sfdc-internal/adk-knowledge package is not installed, note the expected path and leave the unknown in place.
  8. Redundant-code cleanup — apply references/aura-redundant-code-expert.md across the PRD. Remove commented-out markup/JS/CSS, telemetry/instrumentation, and private attributes/methods that aren't used elsewhere — these don't carry forward to LWC. Keep the PRD's JSON shape intact; sections may end up with empty arrays. Generate a short report listing only the items that actually changed.

Deliverable: enhanced PRD (YAML) with all eight expert passes applied.

Show full SKILL.md (415 more words)Show less
Phase 3 — Accessibility pass

Goal: ensure the PRD's accessibility section meets WCAG 2.2 minimums.

  1. Apply the WCAG 2.2 reviewers inline against the Aura source files (.cmp, .controller.js, .helper.js, .renderer.js, .css). Cover the Aura-scoped Success Criteria: 1.3.1 (ii) Tables, 1.3.5 Identify Input Purpose, 3.2.1 On Focus, 3.2.2 On Input, 3.3.2 Labels or Instructions, 4.1.2 Name / Role / Value. (When the sibling accessibility-code-review-aura skill ships in a follow-up PR, hand off to it instead.)
  2. Fold each finding into the PRD's accessibility section. For every requirement, capture the WCAG Success Criterion it satisfies and the proposed LWC implementation approach (semantic HTML first, ARIA only where semantic HTML cannot achieve the same outcome).
  3. Only cite violations that directly break a WCAG Success Criterion. Do not suggest enhancements outside WCAG scope.

Deliverable: PRD with an accessibility section that lists each required feature, the WCAG Success Criterion it satisfies, and the LWC implementation approach.

Phase 4 — Downstream authoring (follow-up guidance, not executed here)

Once the enhanced PRD is complete, the caller can hand it off to an LWC authoring workflow. This skill does not perform any authoring. Recommended downstream steps:

  • Pass the enhanced PRD to experience-lwc-generate as the design input, substituting for a Figma / written-spec input. This skill does not invoke experience-lwc-generate; the caller triggers it as a follow-up step.
  • For data access decisions (UIAPI / GraphQL / Apex), the caller may consult LDS-focused workflows to translate the PRD's dataRequirements section into concrete adapters.
  • For SLDS styling decisions, the caller may consult an SLDS design workflow.
Phase 5 — Downstream verification (follow-up guidance, not executed here)

After LWC authoring completes, the caller can verify the migrated component with the project's standard test and review workflows — Jest coverage, accessibility Jest, a11y / security / RTL review, telemetry, feature-flag gating, etc. Apply references/aura-to-lwc-completeness-checklist.md as a final scoring pass on the completed LWC.

Cross-References

  • experience-lwc-generate — recommended downstream authoring handoff (non-executing; the caller triggers it after this skill's PRD is complete).

Verification (PRD-only)

  • The enhanced PRD covers all 14 framework sections with no TODO / placeholder entries.
  • dataRequirements contains no direct references to force:recordData or lightning:recordViewForm, and no sObjectName keys (renamed to objectApiName).
  • staticReferences and other sections contain no raw Aura strings like $Resource, $Label, $ContentAsset, $Browser, $Locale.
  • Every <aura:method> appears in interactions with the corresponding trigger.
  • Every {!v.body} / {#v.body} appears in contentRequirements as a default slot (with the presence condition).
  • Every <aura:attribute type="Aura.Component"> appears in contentRequirements as a named slot.
  • Every unknown has been resolved via the @sfdc-internal/adk-knowledge package (or marked as manually-required with the attempted knowledge-file path).

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 11 other files (references) in skills/experience-aura-lwc-migrate of forcedotcom/sf-skills.

  • SKILL.md
  • references/aura-api-expert.md
  • references/aura-data-expert.md
  • references/aura-migration-guidelines.md
  • references/aura-prd-framework.md
  • references/aura-redundant-code-expert.md
  • references/aura-reference-expert.md
  • references/aura-resolver-expert.md
  • references/aura-slots-expert.md
  • references/aura-style-expert.md
  • references/aura-to-lwc-completeness-checklist.md
  • references/aura-values-expert.md

Open the folder on GitHubat commit 4bbae5c

Compare with similar skills

Experience Aura Lwc Migrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Experience Aura Lwc Migrate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Experience Aura Lwc Migrate this skillforcedotcom/sf-skills1.1k—~3.5kAutomated safety check: PassApache-2.0
Salesforce Component Standardsgithub/awesome-copilot40k1 repos~2.4kAutomated safety check: PassMIT
Soql Lib Testingbeyond-the-cloud-dev/soql-lib154—~2.1kAutomated safety check: PassMIT
Workflows Management Jest Testingelastic/kibana21k—~1.3kAutomated safety check: PassCustom licence
Salesforce DeveloperJeffallan/claude-skills12k—~1.9kAutomated safety check: PassMIT
Sf LwcJaganpro/sf-skills424—~1.6kAutomated safety check: PassMIT

Similar skills

  • Salesforce Component Standards

    github/awesome-copilot

    Official

    Quality standards for Salesforce Lightning Web Components (LWC), Aura components, and Visualforce pages.

    40k GitHub starsUsed in 1 repo~2.4k tokens
    Frontend & DesignAuto-check passed
  • Soql Lib Testing

    beyond-the-cloud-dev/soql-lib

    Writes unit tests for Salesforce Apex code that uses SOQL Lib (SOQL.cls).

    154 GitHub stars~2.1k tokensUpdated 6 days ago
    Testing & QAAuto-check passed
  • Official

    Use the shared TestProvider in workflowsmanagement Jest tests instead of hand-wiring KibanaContextProvider, QueryClientProvider, WorkflowsContextProvider, MemoryRouter, I18nProvider, and the Redux…

    21k GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Salesforce Developer

    Jeffallan/claude-skills

    Writes Apex, Lightning Web Components and SOQL for the Salesforce platform, with bulkified triggers, governor-limit checks, 90% test coverage and Salesforce DX deployment.

    12k GitHub stars~1.9k tokensUpdated 6 days ago
    DevelopmentAuto-check passed
  • Sf Lwc

    Jaganpro/sf-skills

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

    424 GitHub stars~1.6k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Test Guidelines

    getsentry/sentry-react-native

    Official

    Enforce Sentry React Native SDK test conventions for naming, structure, mocking, and fixtures with Jest.

    1.8k GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed

More from forcedotcom/sf-skills

All 252 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated today
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated today
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

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

    1.1k GitHub stars~2.4k tokensUpdated today
    Auto-check passed

Works with

Questions about Experience Aura Lwc Migrate

What does Experience Aura Lwc Migrate do?

A skill your agent uses to analyze a Salesforce Aura component bundle (.cmp, .app, .evt, .intf, Controller.js, Helper.js, Renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml…. Experience Aura Lwc Migrate is an agent skill from forcedotcom/sf-skills.json) capturing public API, data requirements, slots, events, states, accessibility, styling, localization, and security posture.

When should I use Experience Aura Lwc Migrate?

Experience Aura Lwc Migrate fits situations like: analyze a Salesforce Aura component bundle (.cmp; renderer.js) and produce a framework-agnostic migration blueprint (PRD.yaml / PRD.md / PRD.json) capturing public API; data requirements; security posture.

How do I install Experience Aura Lwc Migrate in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill experience-aura-lwc-migrate -a claude-code`. Or copy the skill folder (skills/experience-aura-lwc-migrate in forcedotcom/sf-skills) into .claude/skills/experience-aura-lwc-migrate in your project. Claude Code loads it when a task matches its description.

How do I install Experience Aura Lwc Migrate in Codex?

Run `npx skills add forcedotcom/sf-skills --skill experience-aura-lwc-migrate -a codex`. Or copy the skill folder (skills/experience-aura-lwc-migrate in forcedotcom/sf-skills) into .agents/skills/experience-aura-lwc-migrate in your project. Codex loads it when a task matches its description.

Can I use Experience Aura Lwc Migrate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill experience-aura-lwc-migrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/experience-aura-lwc-migrate, .gemini/skills/experience-aura-lwc-migrate, .github/skills/experience-aura-lwc-migrate and .opencode/skills/experience-aura-lwc-migrate in your project.

What does Experience Aura Lwc Migrate need to run?

SKILL.md names no scripts, command-line tools or credentials: Experience Aura Lwc Migrate is instructions for the agent only.

Does Experience Aura Lwc Migrate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Experience Aura Lwc Migrate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Experience Aura Lwc Migrate use?

Experience Aura Lwc Migrate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Experience Aura Lwc Migrate use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 17k tokens, read only when the agent opens those files.

What are the alternatives to Experience Aura Lwc Migrate?

Skills that share tags, products or a category with Experience Aura Lwc Migrate: Salesforce Component Standards (github/awesome-copilot, 40k stars), Soql Lib Testing (beyond-the-cloud-dev/soql-lib, 154 stars), Workflows Management Jest Testing (elastic/kibana, 21k stars) and Salesforce Developer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Experience Aura Lwc Migrate?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,067 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.