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

safe-action-hooks — скилл для Claude Code: хуки next-safe-action

Скилл подсказывает агенту, какой хук next-safe-action взять для формы или оптимистичного UI и как связать его с серверным действием.

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

Что делает safe-action-hooks

Скилл описывает четыре хука из next-safe-action/hooks: useAction, useOptimisticAction, useStateAction и useOptimisticStateAction. Выбор идёт по виду действия: .action() работает с первыми двумя, .stateAction() — с двумя другими. Для каждого хука в скилле есть готовый пример клиентского компонента с "use client", обработчиками onSuccess и onError и проверкой isPending.

Отдельный слой — очередь записей. useOptimisticStateAction берёт currentState и updateFn, а отправки выстраивает так, что каждая ждёт завершения предыдущей. Сервер получает последнее подтверждённое состояние в prevResult. Это пригодится для перетаскивания списка, канбан-доски или накопления правок, когда пользователь меняет порядок второй раз до того, как сохранился первый.

Есть условия, на которых скилл сломается. currentState должен быть стабильной ссылкой — сравнение идёт по идентичности. Для <form action={formAction}> серверное действие обязано быть .stateAction(), а схема входа должна разбирать FormData, например через zod-form-data. Само действие должно ревалидировать состояние страницы, иначе оптимистичный результат разойдётся с тем, что рендерит страница.

Установка идёт через npx skills add с флагом под вашу платформу.

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

  • выбрать хук под вид серверного действия
  • сделать мгновенный отклик на переключение чекбокса
  • поставить в очередь повторные перетаскивания элемента
  • собрать форму на <form action={formAction}> с разбором FormData
  • показать ошибку валидации рядом с полем

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

  • Помоги выбрать хук next-safe-action для формы обратной связи
  • Сделай оптимистичный список с перетаскиванием через useOptimisticStateAction
  • Почему мой useOptimisticStateAction не видит предыдущее состояние?

Как установить safe-action-hooks

1Через Skills CLI (Vercel)

npx skills add next-safe-action/skills --skill safe-action-hooks -a claude-code

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

~/.claude/skills/safe-action-hooks/SKILL.md

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

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

Вопросы о safe-action-hooks

Как установить safe-action-hooks в Claude?

Выполните npx skills add next-safe-action/skills --skill safe-action-hooks -a claude-code. Скилл появится в ~/.claude/skills/safe-action-hooks/SKILL.md.

Что делает safe-action-hooks?

Подсказывает агенту, какой из хуков next-safe-action использовать и как связать его с серверным действием. Внутри разобраны useAction, useOptimisticAction, useStateAction и useOptimisticStateAction.

Чем useOptimisticAction отличается от useOptimisticStateAction?

Первый подходит для изменений, которые заменяют состояние целиком. Второй нужен там, где правки накапливаются: перетаскивания встают в очередь и каждое следующее считается от подтверждённого состояния.

Похожие скиллы

Всё по теме «Фронтенд и UI» →
react-hook-form-zod ovachiever Скилл учит агента собирать формы на React Hook Form с валидацией через Zod. Одна схема работает и на клиенте, и на сервере. CX Codex +1 722установок formisch open-circle Скилл учит ИИ-агента работать с Formisch — headless-библиотекой форм на схемах Valibot. Пригодится, когда в проекте есть формы и валидация. CX Codex +1 418установок nextjs-typescript-tailwindcss-supabase Mindrally Скилл задаёт агенту правила для Next.js 14, TypeScript, TailwindCSS и Supabase: серверные компоненты, обработка ошибок, читаемый код. CX Codex +1 1 300установок graphql-development Mindrally Набор правил для GraphQL: схема, типизированные клиенты, интеграция с React и Next.js. Пригодится, когда агент пишет резолверы и запросы. CX Codex +1 661установок typescript-nextjs-supabase-cursorrules-prompt-file PatrickJS Правило для Cursor, которое держит TypeScript-код на Next.js App Router и Supabase в одном стиле: серверные компоненты, Shadcn UI, Tailwind. ★ 41 011звёзд репо tanstack-form tanstack-skills Скилл учит ассистента создавать формы на базе TanStack Form с типизацией TypeScript, валидацией через Zod или Valibot и динамическими массивами полей. CX Codex +1 4 300установок

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

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

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