### What? Add a repository skill for building local React stable and experimental bundles, syncing them into Next.js, and verifying the integration. ### Why? Testing upstream React changes in Next.js requires a precise bundle list, both React release channels, and the repository-pinned pnpm version. Capturing the workflow as a skill makes it repeatable and avoids global pnpm versions bypassing workspace linking. ### How? Add `$react-sync` with a reusable build helper and document it in `AGENTS.md`. The sync command puts the Corepack shim first on `PATH` so nested pnpm commands use the version pinned by Next.js. ### Verification - `bash -n .agents/skills/react-sync/scripts/build-for-next.sh` - `python3 ~/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/react-sync` - Prettier check for `AGENTS.md` and `SKILL.md` - Full local React build and `pnpm sync-react` workflow completed successfully - `pnpm --filter=next build` <!-- NEXT_JS_LLM_PR -->
1.9 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| react-sync | Build local React changes in the bundle variants consumed by Next.js, sync them into a local Next.js checkout, and test the resulting integration. Use when working on React changes that need validation in Next.js, or when asked to run buildForNext, pnpm sync-react, or synchronize a React checkout with Next.js. |
|
Sync React to Next.js
Use this skill when syncing a local React checkout into this Next.js checkout.
Build and sync
-
Build React from its own checkout. Pass this skill's script by its absolute path, because the working directory must be the React repository.
cd <react-repo> bash <next-repo>/.agents/skills/react-sync/scripts/build-for-next.shThis creates
build/oss-stableandbuild/oss-experimentalwith the bundle variants that Next.js consumes. -
Sync the build into Next.js:
cd <next-repo> PATH="$(dirname "$(command -v corepack)"):$PATH" \ pnpm sync-react --version <react-repo>Work around a Codex
PATH-precedence bug by keeping the directory containing the active Corepack shim first onPATH. Codex injects a separate bundledpnpmexecutable ahead of the user's Corepack shim, and command lookup happens before Corepack reads the repository'spackageManagerfield. The prefix makes both this command andsync-react's nestedpnpm installresolve through Corepack to the repository-pinned pnpm version. Invoking only the outer command withcorepack pnpmis insufficient because the nested command still resolvespnpmfromPATH. -
Inspect the sync result before testing. Preserve unrelated changes in both checkouts. Rebuild Next.js when required, then run the focused test command matching the changed behavior.
Related Skills
$react-vendoring- vendored React runtime and type boundaries after syncing.