From vercel-labs-json-render-1
Bridges Jotai atoms with json-render's StateStore for state management. Use when integrating json-render with Jotai.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vercel-labs-json-render-1:jotaiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Jotai adapter for json-render's `StateStore` interface. Wire a Jotai atom as the state backend for json-render.
Jotai adapter for json-render's StateStore interface. Wire a Jotai atom as the state backend for json-render.
npm install @json-render/jotai @json-render/core @json-render/react jotai
import { atom } from "jotai";
import { jotaiStateStore } from "@json-render/jotai";
import { StateProvider } from "@json-render/react";
// 1. Create an atom that holds the json-render state
const uiAtom = atom<Record<string, unknown>>({ count: 0 });
// 2. Create the json-render StateStore adapter
const store = jotaiStateStore({ atom: uiAtom });
// 3. Use it
<StateProvider store={store}>
{/* json-render reads/writes go through Jotai */}
</StateProvider>
When your app already uses a Jotai <Provider> with a custom store, pass it so both json-render and your components share the same state:
import { atom, createStore } from "jotai";
import { Provider as JotaiProvider } from "jotai/react";
import { jotaiStateStore } from "@json-render/jotai";
import { StateProvider } from "@json-render/react";
const jStore = createStore();
const uiAtom = atom<Record<string, unknown>>({ count: 0 });
const store = jotaiStateStore({ atom: uiAtom, store: jStore });
<JotaiProvider store={jStore}>
<StateProvider store={store}>
{/* Both json-render and useAtom() see the same state */}
</StateProvider>
</JotaiProvider>
jotaiStateStore(options)Creates a StateStore backed by a Jotai atom.
| Option | Type | Required | Description |
|---|---|---|---|
atom | WritableAtom<StateModel, [StateModel], void> | Yes | A writable atom holding the state model |
store | Jotai Store | No | The Jotai store instance. Defaults to a new store. Pass your own to share state with <Provider>. |
npx claudepluginhub joshuarweaver/cascade-content-creation-misc-1 --plugin vercel-labs-json-render-1Integrates Zustand vanilla stores as the state backend for json-render via the StateStore adapter. Supports nested slices and custom updaters.
Manages atomic state with Jotai for granular, composable React state management. Covers primitive atoms, derived atoms, and writable derived atoms with useAtom, useAtomValue, and useSetAtom.
Guides React state management with useState, useReducer, Context, Zustand, Jotai, TanStack Query, SWR. Covers store setup, optimization, server caching, optimistic updates, normalization.