Experience Aura Lwc Migrate

by forcedotcome5164d94d751No license1K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated yesterday

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.

AI-generated overview

Analyzes a Salesforce Aura component bundle and produces a framework-agnostic migration PRD for a later LWC implementation.

What it does
This skill inspects Aura component bundle files such as .cmp, controller, helper, renderer, CSS, event and interface files. It applies eight expert lenses covering references, data, API surface, slots, styling, default values, unknown dependencies and redundant-code cleanup to draft and enhance a 14-section PRD. It also folds WCAG 2.2 accessibility findings into the PRD. The deliverable is a PRD in YAML, Markdown or JSON; it does not author or edit LWC code, wire adapters or tests.
When to use it
Use it when porting an existing Aura bundle to Lightning Web Components and you need a documented migration blueprint first. It fits auditing Aura patterns such as facets, aura:id DOM access, force:recordData and application events before conversion. It is not for authoring a new LWC with no Aura source, refactoring an existing LWC, or scoring a conversion already done.
Requirements
Requires Aura component bundle files, at minimum a .cmp file, and a target LWC module path discoverable from sfdx-project.json packageDirectories. Resolver-assisted dependency lookup needs the @sfdc-internal/adk-knowledge package installed in the workspace; if absent, unknowns are surfaced instead of failing. No scripts ship with the skill; it is instructions and reference documents only.
<!-- 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 [blocked].

Knowledge Bases

  • references/aura-prd-framework.md [blocked] — the 14-section framework for drafting a framework-agnostic PRD from an Aura component.
  • references/aura-migration-guidelines.md [blocked] — core principles + Aura-vs-LWC architectural differences + markup / JS / event / lifecycle translation tables.
  • references/aura-reference-expert.md [blocked] — static resources, global value providers, HTML-to-generic wording, URLs, component dependencies, Aura.Action handlers.
  • references/aura-data-expert.md [blocked] — data requirements, force:recordData, lightning:recordViewForm, Apex controllers.
  • references/aura-api-expert.md [blocked] — API surface: public attributes, methods, layout, component events, DOM events.
  • references/aura-slots-expert.md [blocked] — default and named slots (Aura facets / {!v.body} → LWC slots).
  • references/aura-style-expert.md [blocked] — CSS, SLDS, design tokens, dynamic styling.
  • references/aura-values-expert.md [blocked] — default values and initialization patterns.
  • references/aura-resolver-expert.md [blocked] — resolving unknown components, events, interfaces, and libraries via the @sfdc-internal/adk-knowledge package.
  • references/aura-redundant-code-expert.md [blocked] — strip Aura-only noise (commented-out code, telemetry, unused private attributes/methods) from the PRD before LWC handoff.
  • WCAG 2.2 — Aura-scoped accessibility reviewers (SC 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) are planned to land as a separate accessibility-code-review-aura skill in a follow-up PR; until then, Phase 3 applies the WCAG preamble inline.
  • references/aura-to-lwc-completeness-checklist.md [blocked] — post-conversion verification rubric.

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 [blocked]. 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 [blocked] 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 [blocked] 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 [blocked] 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 [blocked] 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 [blocked] 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 [blocked] 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 [blocked] 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 [blocked] 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.

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 [blocked] 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).

Source and attribution

Source:forcedotcom/sf-skillsinskills/experience-aura-lwc-migrateat commite5164d9

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from forcedotcom/sf-skills

Service Itsm Teams Itservice Configure

forcedotcom

Configure the "Set Up Salesforce IT Service" checklist for Microsoft Teams Employee Service (ITSM) — the employee side, covering app enablement, marketplace install guidance, user access assignment, and Digital Experience Site selection. Use this for: 'turn on Salesforce IT Service', 'set up IT Service on Teams', 'assign Teams for Employee permission set', 'give employees access to Teams for Employee Service', 'manage user access for Teams ITSM', 'grant users the permission sets needed for Teams Employee Service', 'select a digital experience site for Teams', 'install Salesforce IT Service app on Teams', or any request to complete the IT Service half of the Teams ITSM Go page checklist (including the Manage User Access step). DO NOT TRIGGER for the base Teams Salesforce Go page toggle or Azure/Entra app setup (service-itsm-teams-configure) or for the IT Desk/fulfiller half of the checklist (service-itsm-teams-itdesk-configure).

Awaiting classification1Kupdated yesterday

Service Itsm Teams Coordinate

forcedotcom

End-to-end autopilot orchestrator for setting up Microsoft Teams integration in Salesforce Service Cloud ITSM — runs the whole flow (enable the Teams for Employee Service Go feature, register the Microsoft Entra app, populate Named Credentials, configure the IT Desk and IT Service checklists, turn on Swarming, and optionally embed the Agentforce agent) in one continuous pass, stopping only at the points a human must act. Use when the user asks to set up Microsoft Teams for ITSM end to end, 'set up teams for it service', 'do the whole teams itsm setup', 'configure microsoft teams for employee service', or wants a guided Teams ITSM walkthrough. Delegates each stage to a specialized child skill while driving the sequence itself. DO NOT TRIGGER when the user asks to enable Teams alone, configure just the IT Desk or IT Service checklist alone, or enable Swarming alone — delegate directly to the specific child skill in those cases.

Awaiting classification1Kupdated yesterday

Service Itsm Teams Itdesk Configure

forcedotcom

Configure the "Set Up Salesforce IT Desk" checklist for Microsoft Teams Employee Service (ITSM) — the fulfiller/agent side, covering app enablement, marketplace install guidance, user access assignment, and Swarming collaboration-tool setup. Use this for: 'turn on Salesforce IT Desk', 'set up IT Desk on Teams', 'assign Teams for IT Desk permission set', 'set Teams as collaboration tool for swarming', 'install Salesforce IT Desk app on Teams', or any request to complete the IT Desk half of the Teams ITSM Go page checklist. DO NOT TRIGGER for the base Teams Salesforce Go page toggle or Azure/Entra app setup (service-itsm-teams-configure) or for the IT Service/employee half of the checklist (service-itsm-teams-itservice-configure).

Awaiting classification1Kupdated yesterday

Service Itsm Teams Debug

forcedotcom

Diagnoses failing Microsoft Teams for Employee Service (ITSM) setups by running pass/fail configuration checklists against a Salesforce org.

DevOps & Cloud1Kupdated yesterday

Service Itsm Teams Employee Agent Configure

forcedotcom

Configure the embedded Agentforce Employee Agent so it replies inside the Microsoft Teams ITSM custom client ('Salesforce Employee Assist' / 'Ask AI Agent'). Use this for: 'set up employee agent in Teams', 'embed Agentforce agent in Teams', 'make the IT Service Employee Agent reply in Teams', 'Teams Ask AI Agent not responding', 'agent joins then leaves without replying', 'configure MIAW deployment for Teams employee agent', 'Teams embedded messaging agent setup'. Builds the whole stack headlessly (zero Setup-UI clicks): the Web messaging channel with User Verification ON, the Enhanced Chat User Verification Key Set (JWKS_URL) it requires, the Teams_AgentForce custom-client deployment, the routing flow to the agent, and the Agent Access permission set that lets the portal user reach the agent. DO NOT TRIGGER for enabling the Teams feature Salesforce Go page toggle (service-itsm-teams-configure) or for configuring notification preferences.

Awaiting classification1Kupdated yesterday

Service Itsm Swarming Configure

forcedotcom

Enables the Salesforce Swarming ITSM feature and sets the collaboration tool to Teams via Connect API calls.

DevOps & Cloud1Kupdated yesterday