Plausible isn't the same as current
Asked an agent โ with no skill โ to add an Aurora background and a BlurText heading. Here's exactly what came back, verbatim, next to the same request with the skill installed.
npm install ogl framer-motion
Guessed. Wrong package โ the live dependency is motion. Invented prop defaults too, and only admitted the guessing when asked directly.
fetched https://reactbits.dev/r/Aurora-TS-TW.json
npm install ogl motion@^12.23.12
Pulled live. Correct package, real default values, and cited an implementation detail โ which prop rebuilds the WebGL context vs. which is read per-frame โ that only exists in the actual current source.
One rule, enforced every time
Never write React Bits code from memory. The skill fetches reactbits.dev/r/<Name>-<JS|TS>-<CSS|TW>.json โ the real shadcn-style registry โ before touching a single line.
165 components, 4 variants each
JS or TS, CSS or Tailwind. Auto-refreshed daily from the live registry by a GitHub Action, so the catalog never drifts from what reactbits.dev actually ships.
Handles the parts that break
The registry has real footguns. The skill's fetch script handles them so the agent doesn't have to reinvent it per call.
Scoped-package deps
10 components depend on scoped packages like @react-three/fiber@^9.3.0. Naive split('@') parsing breaks on these. Handled correctly.
SPA-shell 200s
reactbits.dev returns HTTP 200 with an HTML shell for unknown paths. Every response is JSON-validated before it's trusted โ status code alone proves nothing.
Multi-file variants
CSS variants ship a sibling .css file alongside the component. Tailwind variants are single-file. Both written correctly.
Two commands
Add the marketplace
claude plugin marketplace add Philotheephilix/reactbits.dev-skill
Install the plugin
claude plugin install react-bits@reactbits.dev-skill โ restart the session, skills load at startup.
Stop guessing at component props
165 components. Live registry. Zero recalled code.