К основному содержанию
скилл CX Codex

jotai — скилл для Claude Code: адаптер json-render

Готовит Jotai как хранилище состояния для json-render: атом, адаптер StateStore и общий store с приложением.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add vercel-labs/json-render --skill jotai -a claude-code
Открыть на GitHub

Что делает jotai

Скилл разбирает пакет @json-render/jotai — адаптер, который отдаёт атом Jotai в качестве хранилища состояния для json-render через интерфейс StateStore. Внутри инструкция с примером на TSX и таблицей опций, а не собранный плагин. Нужен, когда интерфейс уже рендерится из JSON-описания, а состояние вы хотите держать в Jotai.

Ставится четырьмя пакетами: npm install @json-render/jotai @json-render/core @json-render/react jotai. Дальше создаёте записываемый атом, оборачиваете его в jotaiStateStore({ atom: uiAtom }) и отдаёте результат в StateProvider из @json-render/react. Чтение и запись состояния идут через Jotai.

Если в приложении уже есть свой <Provider> с кастомным store, передайте его вторым полем: jotaiStateStore({ atom: uiAtom, store: jStore }). Без этого адаптер заводит новый store, и useAtom() в компонентах увидит другое состояние. Это повод проверить, что оба провайдера смотрят в один инстанс, иначе состояние разъедется.

Какие задачи решает

  • перевести состояние json-render на атомы Jotai
  • отдать общий store и приложению, и рендереру
  • подменить дефолтное хранилище своим инстансом
  • собрать минимальный пример с StateProvider
  • разобраться, какие опции принимает jotaiStateStore

Примеры запросов агенту

  • Подключи Jotai как хранилище состояния для json-render: поставь @json-render/jotai и покажи обёртку над StateProvider.
  • У нас json-render уже работает, но состояние дублируется — переведи его на jotaiStateStore с нашим createStore().
  • Покажи минимальный пример с atom<Record<string, unknown>> и jotaiStateStore для этого экрана.

Как установить jotai

1Через Skills CLI (Vercel)

npx skills add vercel-labs/json-render --skill jotai -a claude-code

2Вручную: положить файлы

~/.claude/skills/jotai/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/jotai/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора23

Весь набор →
vue Скилл для преобразования JSON-спецификаций в Vue 3 компоненты с привязкой данных, условиями видимости и обработкой действий. Нужен, если вы генерируете интерфейсы через ИИ или строите UI из JSON. CX Codex +1 1 400установок ink Помогает создавать интерактивные терминальные интерфейсы из JSON-спецификаций через @json-render/ink. Пригодится при настройке TUI и каталогов компонентов для агентов. CX Codex +1 1 300установок svelte Помогает собирать интерфейсы Svelte 5 из спецификаций json-render и связывать компоненты с состоянием, событиями и действиями. CX Codex +1 1 200установок solid Скилл для рендеринга JSON-spec в реактивные SolidJS компоненты. Пригодится, если собираешь каталоги UI, настраиваешь провайдеры или разбираешься с реактивностью Solid. CX Codex +1 1 100установок xstate Помогает связать генеративный интерфейс json-render с хранилищем @xstate/store. Пригодится для управления состоянием компонентов через атом. CX Codex +1 1 100установок redux Адаптер Redux для json-render: подключает слайс хранилища как источник состояния для рендерера. Пригодится, если состояние уже живёт в Redux. CX Codex +1 1 100установок shadcn-svelte Набор из 36 готовых компонентов на Svelte 5 и Tailwind CSS для json-render. Помогает агенту собирать интерфейсы и настраивать каталоги схем. CX Codex +1 1 100установок yaml Потоковый парсер YAML для json-render, который превращает код-фенсы в JSON Patch. Подходит для прогрессивного рендеринга и точечных правок спеки через стрим. CX Codex +1 1 000установок

Похожие

state-management akillness Скилл помогает решить, кому принадлежит состояние в React-приложении, и выбрать самый узкий подходящий инструмент вместо спора о библиотеках. CX Codex +1 365установок frontend-patterns affaan-m Скилл подсказывает паттерны для React и Next.js: компоненты, состояние, загрузка данных и производительность. Нужен при разработке и ревью интерфейса. CX Codex +1 5 900установок tanstack-store tanstack-skills Скилл по TanStack Store: реактивный стор без привязки к фреймворку, адаптеры для React, Vue, Solid, Angular и Svelte. Пригодится, когда агент пишет состояние на @tanstack/store. CX Codex +1 1 800установок zustand-patterns OrchestKit Справочник по управлению состоянием на Zustand 5.x: слайсы, middleware, Immer, useShallow, персистентность и devtools. Пригодится, когда хочется уйти от Redux без лишнего кода. CX Codex +1 1 400установок zustand-state-management Mindrally Задаёт правила архитектуры сторов Zustand в React и TypeScript: от нарезки слайсов до SSR и тестов. Помогает избежать лишних ререндеров и ошибок гидратации. CX Codex +1 959установок zustand-5 prowler-cloud Скилл с паттернами управления состоянием в Zustand 5: базовые хранилища, селекторы, persist-middleware и разделение логики на слайсы. Помогает писать чистый реактивный код без лишних ре-рендеров. CX Codex +1 911установок

Рядом в теме «Фронтенд и UI»

Всё по теме «Фронтенд и UI» →

Вопросы о jotai

Как установить jotai в Claude Code?

Выполните npx skills add vercel-labs/json-render --skill jotai -a claude-code. Файл скилла появится по пути ~/.claude/skills/jotai/SKILL.md.

Что делает jotai?

Даёт агенту инструкцию по адаптеру @json-render/jotai: как завести атом, обернуть его в jotaiStateStore и подключить к StateProvider из @json-render/react.

Как сделать, чтобы json-render и компоненты делили одно состояние?

Передайте свой инстанс в опцию store: jotaiStateStore({ atom: uiAtom, store: jStore }). По умолчанию адаптер создаёт новый store, поэтому useAtom() вне провайдера с тем же store увидит другое состояние.

Исходный текст

SKILL.md · Apache-2.0
---
name: jotai
description: Jotai adapter for json-render's StateStore interface. Use when integrating json-render with Jotai for state management via @json-render/jotai.
---

# @json-render/jotai

Jotai adapter for json-render's `StateStore` interface. Wire a Jotai atom as the state backend for json-render.

## Installation

```bash
npm install @json-render/jotai @json-render/core @json-render/react jotai
```

## Usage

```tsx
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>
```

### With a Shared Jotai Store

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:

```tsx
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>
```

## API

### `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>`. |

© vercel-labs · Apache-2.0 · vercel-labs/json-render

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой