About reatom
A reference-oriented skill for developers implementing or explaining Reatom v1001. It maps tasks to sections of the bundled REFERENCE.md and provides coding conventions plus guidance on when to use related specialized skills.
Key features
- 01Topic-based API reference map
- 02Follow local code conventions
- 03Atom and computed-value defaults
- 04Async flow guidance
- 05Forms and routing patterns
Use cases
- 01Implement Reatom v1001 features
- 02Explain Reatom core concepts
- 03Find form or routing patterns
- 04Handle async context boundaries
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ reatom/ reatom --skill reatomAfter installing, type/reatomin Claude Code to confirm it loaded.
Bundled filesREFERENCE.md
Details
From the project READMEReatom
Use this skill when implementing or explaining Reatom v1001. Treat REFERENCE.md as the canonical API reference bundled with this skill.
How to use
- Read the sections of REFERENCE.md that match the task — do not load generic React/Solid/Vue state patterns when they conflict with the reference.
- Follow existing code in the touched package or example for naming, file layout, and extension style.
- For deep async flows (
wrap,withAsyncData,withAbort, sampling, Suspense), switch to thereatom-asyncskill. - For
@reatom/jsx(native DOM JSX, mount, props, css prop), switch to thereatom-jsxskill. - For pull requests, reviews, or skeptic validation of agent output, switch to the
reatom-reviewskill. - For designing, reworking, or replacing a helper, extension, or public API, switch to the
reatom-api-designskill.
Section map
Use this map to open only the relevant parts of REFERENCE.md:
| Topic | Section |
|---|---|
| Atoms, computed, action, effect, extend | Core primitives and mental model |
| Queries and mutations | withAsync |
| Async context after await / callbacks | wrap rules |
| Collections, boolean, route helpers | Primitives quick usage |
| Nested reactive fields | Atomization |
| Subscribe error callback | Subscribe error listener |
| Logging, log.label, log.state | Full SPA example (logging setup) |
| Hooks, connect/disconnect, lazy work | Lifecycle and extension hooks |
| DOM / external events | Event sampling and orchestration |
| Hot derivations | Memoization: memo and memoKey |
| Fields and validation | Forms: base usage and reactive validation |
| SPA routes and loaders | Routing |
| Search params, storage | URL sync and persistence helpers |
| React Suspense integration | Suspense notes |
| Batched updates | Transactions notes |
| Tests and SSR | SSR and testing |
| Upgrades from older Reatom | v3 migration highlights |
Deeper recipes and adapter docs live on v1001.reatom.dev under /docs/handbook/* and /docs/reference/*.
Implementation defaults
- Named atoms, actions, computed values, and effects; factory names use the
reatom*prefix. - Reads: zero-arg call. Writes:
.set(...). - Idempotent reads:
computed(async () => ...).extend(withAsyncData(...)). - Commands/mutations:
action(async () => ...).extend(withAsync(...)). - Async boundaries that leave the Reatom frame:
await wrap(promise); external callbacks: passwrap(fn). - Derived state in
computed; side effects ineffectwith explicit lifetime (route loader, init action, or mount scope — not unscoped module effects for feature work). - Forms (fields, validation, submit) through
reatomForm/reatomFieldinstead of hand-rolled per-field atoms and submit actions. - Route data through
reatomRouteloaders; navigation with.go(...), links with.path(...).
When the reference and local examples disagree, prefer the reference and fix the example if it is wrong.