
Migrate React Spectrum V3 To S2
- 255 installs
- react-spectrum.adobe.com
migrate-react-spectrum-v3-to-s2 is an agent skill that upgrades React Spectrum v3 (Spectrum 1) projects to React Spectrum S2 in eight ordered steps.
About
migrate-react-spectrum-v3-to-s2 is an Apache-2.0 Adobe agent skill for solo builders and small teams stuck on React Spectrum v3 (Spectrum 1) who need a disciplined upgrade path to S2 and @react-spectrum/s2. The skill forces an eight-step sequence: inspect manifests and bundlers, plan codemods, adjust providers and icons, and finish with a migration report rather than improvising import swaps in chat. It explicitly excludes bundled React major upgrades—those belong in a separate follow-up recommendation in the closing report, which prevents agents from mixing breaking framework work with design-system churn. Use it when developers mention S1, @adobe/react-spectrum, codemods, or S2 targets. Intermediate-to-advanced complexity reflects monorepo edge cases, multiple bundlers, and Adobe-specific package topology. Prism lists it under Build frontend as a phase-specific integration workflow, not a journey-wide methodology skill.
- Eight ordered migration steps from inspect codebase through final report
- Explicit scope guard: no React major version bumps during migration—note as follow-up only
- Covers @adobe/react-spectrum, @react-spectrum/*, @spectrum-icons/* detection
- Bundler-aware guidance for Parcel, Vite, webpack, Next.js, Rollup, and ESBuild
- Monorepo guidance to migrate the target package/app, not only workspace root
Migrate React Spectrum V3 To S2 by the numbers
- 255 all-time installs (skills.sh)
- +18 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #799 of 2,245 Frontend Development skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/react-spectrum.adobe.com --skill migrate-react-spectrum-v3-to-s2Add your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 255 |
|---|---|
| Repository | react-spectrum.adobe.com ↗ |
What it does
Guide an agent through Adobe’s ordered React Spectrum v3 (S1) to S2 codemod and provider migration without scope-creeping React major bumps.
Who is it for?
Frontend-heavy SaaS or internal tools on React Spectrum v3 preparing for S2 with agent-assisted codemods.
Skip if: Greenfield apps already on S2, or migrations where the primary goal is React 18→19 rather than Spectrum package moves.
When should I use this skill?
Developers mention migrating or upgrading from React Spectrum v3, Spectrum 1, S1, @adobe/react-spectrum, @react-spectrum/*, or codemod-assisted upgrades to @react-spectrum/s2.
What you get
You complete inspect-through-report migration with codemod-oriented changes and a final report that flags follow-ups like React major upgrades separately.
- Step-by-step migration changes across manifests and source
- Final migration report with recommended follow-ups (e.g., React major upgrades)
By the numbers
- 8-step ordered migration workflow
- Explicit out-of-scope: React major dependency upgrades during migration
Files
React Spectrum v3 to S2 migration
Upgrade React Spectrum v3 codebases to S2 by following these eight steps in order.
Scope
This skill covers only the React Spectrum v3 (S1) to S2 migration. Do not perform major dependency upgrades such as React version bumps (e.g. React 16→17, 17→18, 18→19) as part of this migration. If the project needs a major dependency upgrade, note it as a recommended follow-up in the final report (Step 8) rather than attempting it during migration.
Step 1: Inspect the codebase
- Search package manifests for
@adobe/react-spectrum,@react-spectrum/*, and@spectrum-icons/*. - Note the package manager (npm, yarn, pnpm) from the lockfile.
- Identify the bundler used by the migration target (Parcel, Vite, webpack, Next.js, Rollup, ESBuild).
- In monorepos, inspect the specific package or app being migrated rather than the workspace root.
- Find app entrypoints, root providers, shared test wrappers, toast setup, and any
defaultThemeusage.
See Prerequisites for the full inspection checklist and minimum tool versions.
Step 2: Install @react-spectrum/s2
Install the S2 package with the project's package manager:
npm install @react-spectrum/s2
yarn add @react-spectrum/s2
pnpm add @react-spectrum/s2If the bundler is not Parcel v2.12.0+, also install and configure unplugin-parcel-macros as a dev dependency. See Getting started for bundler-specific setup instructions.
Step 3: Dry-run the codemod
Preview what the codemod will change before applying:
npx @react-spectrum/codemods s1-to-s2 --agent --dry
yarn dlx @react-spectrum/codemods s1-to-s2 --agent --dry
pnpm dlx @react-spectrum/codemods s1-to-s2 --agent --dryUse npx for npm/Yarn 1, yarn dlx for Yarn Berry/PnP, pnpm dlx for pnpm. Add --path <dir> for monorepos or partial rollouts. Add --components A,B only when explicitly requested for incremental migration.
Review the dry-run output to understand the scope of changes.
Step 4: Run the codemod
Execute the codemod to transform the source files:
npx @react-spectrum/codemods s1-to-s2 --agent
yarn dlx @react-spectrum/codemods s1-to-s2 --agent
pnpm dlx @react-spectrum/codemods s1-to-s2 --agentUse the same --path and --components flags as the dry run if applicable.
Step 5: Format with the project's formatter
If the project has a formatter (Prettier, ESLint, Biome, Oxfmt, etc.), run it on the changed files to remove extraneous formatting changes introduced by the codemod.
Step 6: Fix remaining TODO(S2-upgrade) comments
Search the codebase for TODO(S2-upgrade) comments left by the codemod. Each one marks a change that requires manual review.
See Focused manual fixes for information on how to fix these.
Also reference the react-spectrum-s2 skill (if available) for full S2 component documentation when needed.
Step 7: Validate
Run the project's own toolchain to verify the migration is complete:
1. Install dependencies if package manifests changed. 2. Run the typecheck or compile step (e.g. tsc --noEmit, tsc -b). 3. Run tests covering the migrated code. Prefer the narrowest test scope that covers the changed files. 4. Run the build to confirm the output is intact.
In monorepos, validate the affected package first with its own scripts before running workspace-wide checks. Fix any failures before declaring the migration complete.
Step 8: Generate final report
After the migration is complete, produce a final report for the user with the following sections:
Summary of changes
- Packages added and removed.
- What the codemod changed (files affected, components migrated).
- Manual fixes applied (layout components, icons, dialogs, collections, toast, etc.).
Remaining issues
- Any unresolved
TODO(S2-upgrade)comments. - Type errors, test failures, or known gaps that still need attention.
Recommended follow-ups
- If the project is not on React 19, recommend upgrading. React 19 is recommended for S2. Include the relevant upgrade guide links:
- React 17: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html
- React 18: https://react.dev/blog/2022/03/08/react-18-upgrade-guide
- React 19: https://react.dev/blog/2024/04/25/react-19-upgrade-guide
- Any other major upgrades (e.g. React, bundler, etc.) that were out of scope for this migration.
- Any additional cleanup or improvements the user may want to address.
Deep reference
Use these when you need more component-by-component or API-level detail:
- Migration guide: comprehensive component-by-component migration reference.
- Getting started: framework setup and macro configuration.
- Provider: locale, router, color-scheme, and SSR usage.
- Styling: style macro overview including runtime conditions, CSS variables, CSS optimization, and CSS resets.
- Style macro: exact style macro syntax and constraints.
- Toast: full S2 toast API and examples.
Related skills
How it compares
Opinionated Adobe migration playbook—not a generic “upgrade all npm deps” skill.
FAQ
Who is migrate-react-spectrum-v3-to-s2 for?
Developers and developers maintaining React Spectrum v3 codebases who want step-governed S2 migration assistance in the agent.
When should I use migrate-react-spectrum-v3-to-s2?
During Build frontend work when you mention migrating from React Spectrum v3, Spectrum 1, @adobe/react-spectrum, or codemods to @react-spectrum/s2.
Is migrate-react-spectrum-v3-to-s2 safe to install?
Use the Security Audits panel on this Prism page; migration skills drive broad repo edits—run on a branch with tests and review codemod diffs.