Migrate skill
The bestax-migrate
skill teaches an agent to move an existing app off an unmaintained React Bulma library and onto
@allxsmith/bestax-bulma on Bulma v1. Two sources are supported:
react-bulma-componentsv4 — unmaintained since 2022, Bulma 0.9.x — guiderbxv2 — abandoned in 2019, and it pins[email protected]as a direct dependency, so migrating is what frees an app to choose its own Bulma version. The four Bulma extensions it pulled in are reported for you to remove, not deleted — guide
It drives the bestax-migrate codemod and then resolves everything the codemod flags.
Like the rest of the bundle, create-bestax offers to preinstall this skill; it stays idle
until the agent meets code that still imports one of those libraries.
Install
npx skills add https://github.com/allxsmith/bestax --skill bestax-migrate
What the agent does with it
- Picks the source library from the app's imports, runs
pnpm dlx bestax-migrate <source> src/ --dry, reviews the report, then applies the codemod for real — that rewrites the components, the stylesheets (CSS/SCSS onto Bulma v1 + the bestax extras), andpackage.json(the old library removed,@allxsmith/bestax-bulmaadded,bulma→^1,node-sass→sass). - Installs the rewritten dependencies (
npm install/pnpm install) — the codemod never runs a package manager itself, and itspeer-depsreport entries call out React (older than 18) or Font Awesome (older than 6) blockers first. - Greps for
TODO(bestax-migrate)comments and resolves each one using the skill's reference tables — the component map, the universal prop map, and per-case recipes for the patterns the codemod deliberately refuses to guess at (Tile→Grid, controlledDropdown,touchbreakpoints, dynamic prop values, …). - Finishes the flagged CSS cases (computed Sass variables, indented-syntax files, third-party Bulma extensions) and verifies the build.
Example prompt
This app uses rbx. Migrate it to @allxsmith/bestax-bulma following the
bestax-migrate skill, and make sure the build passes when you're done.
References bundled with the skill
The mapping tables are per source — references/react-bulma-components/ and references/rbx/ —
each holding the same three files:
-
component-map.md— every component of that library (and every compound sub-component) with its bestax target. -
prop-map.md— the modifier-prop conversions and breakpoint-object flattening. -
unmappables.md— a recipe for everyTODO(bestax-migrate)the codemod can leave. -
references/css-migration.md— the Bulma 0.9 → 1 CSS step, shared by both: the stylesheet work is about Bulma, not about which wrapper you came from.
See the full migration guides for the codemod itself: react-bulma-components · rbx.