Tanstack store
Personal AI agent skills I use in development workflows.
npx -y skills add DobroslavRadosavljevic/skills --skill tanstack-storeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Build, review, debug, migrate, or plan TanStack Store state management with current docs. Use for @tanstack/store, @tanstack/react-store, createStore, Store, ReadonlyStore, setState, subscribe, batch, flush, shallow, derived stores, createAtom, createAsyncAtom, useSelector, useStore migrations, useAtom, useCreateStore, useCreateAtom, createStoreContext, selector compare functions, immutable updates, actions factories, SSR-safe store lifetime, framework adapters, testing, and production state patterns.
SKILL.md
4.0 KB, as published. Nobody here has run it
TanStack Store
Use this skill when work touches TanStack Store, especially @tanstack/react-store, framework-agnostic stores, atoms, derived state, or migration from older useStore examples.
Workflow
- Inspect the local state shape before changing code:
- Package versions for
@tanstack/store,@tanstack/react-store, framework adapters, React, and test utilities. - Store lifetime: module singleton, context-provided bundle, component-lifetime store, request-scoped SSR state, or local atom.
- Read/write APIs in use:
useSelector, deprecateduseStore,_useStore,useAtom,setState, actions factories, subscriptions, or atoms. - Update expectations: immutable object updates, derived computations, batching, persistence side effects, and selector re-render behavior.
- Package versions for
- Refresh current docs and package evidence when behavior or versions matter. Start from source-map.md.
- For installation, package names, core
createStore,Store, actions, subscriptions, immutable updates, and batching, use setup-core.md. - For React usage,
useSelector, selectorcompare,useAtom,useCreateStore,useCreateAtom, contexts, anduseStoremigrations, use react-patterns.md. - For atoms, async atoms, derived stores, previous values, equality,
shallow, and reactive graph behavior, use atoms-derived-batching.md. - For SSR, testing, lifecycle, persistence, framework adapters, debugging without devtools, and production checks, use production-testing.md.
Implementation Judgment
- Prefer
useSelectorin React. TreatuseStoreas a deprecated alias and_useStoreas transitional unless the codebase deliberately adopted it. - Keep store updates immutable.
setStatereplaces the store value with the updater return, so object updates should spread or construct the complete next state. - Use narrow selectors for React rendering. Selecting the whole store couples a component to every change.
- Add
compareorshallowonly when a selector returns composite values that would otherwise churn; prefer stable primitive selections first. - Use
batchwhen multiple store or atom updates should notify subscribers once with final state. - Use action factories when a store owns domain operations; keep UI components from hand-rolling repeated update logic.
- Avoid module-scope user/session stores in SSR unless the state is truly global and public. Create request- or component-scoped stores for per-user data.
- Use
subscribefor side effects like persistence or logging, and always keep theunsubscribecleanup. - Check current docs before relying on adapter details. Store is v0, and adapter APIs are still evolving.
Verification
Prefer the repo's existing checks. For meaningful TanStack Store changes, include the relevant subset:
- Typecheck for store state, action factories, selectors, atom values, and context bundles.
- Unit tests for
setState, action methods, derived stores, atoms, async atoms, batching, and subscription cleanup. - Component tests for selector re-render boundaries,
compare,useAtomsetters, context errors, and deprecated API migrations. - SSR/request tests when changing store lifetime, module scope, context providers, or server-created initial state.
- Browser smoke for UI flows that depend on derived state, optimistic local state, persistence, or cross-component subscriptions.