nextjs-zustand

nextjs-zustand is a skill for Claude Code, Codex from fusengine/agents. It costs 32 tokens per session (1,480 once invoked), scanned A, original, MIT.

A client-side state management guide for Next.js applications using Zustand, a small library for sharing changing values between interface components.

In plain words
What is it for?
Use it for global stores, saved browser state, state hydration, and data shared across React Client Components.
Why use it?
It helps manage shared browser state and avoid server-rendering mismatches when saved state is restored.

Skill for Claude CodeCodex

Part of the fuse-nextjs plugin — 11 skills, 1 agent shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/fusengine/agents/nextjs-zustand
Any agent
npx skills add fusengine/agents --skill nextjs-zustand
Clone the repo
git clone --depth 1 https://github.com/fusengine/agents

Made for: Claude Code, Codex.

Or install fuse-nextjs, the plugin that ships this one along with the rest of its 11 skills, 1 agent.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for nextjs-zustand

README.md
[![agentmods](https://agentmods.dev/badge/skills/fusengine/agents/nextjs-zustand.svg)](https://agentmods.dev/skills/fusengine/agents/nextjs-zustand)
Your own site
<a href="https://agentmods.dev/skills/fusengine/agents/nextjs-zustand"><img src="https://agentmods.dev/badge/skills/fusengine/agents/nextjs-zustand.svg" alt="Measured on agentmods" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,480 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00032 $0.01480
Opus 5 $0.00016 $0.00740
Sonnet 5 $0.00006 $0.00296
Haiku 4.5 $0.00003 $0.00148

Measured yesterday against content hash a0666374d9cb, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

nextjs-zustand scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/nextjs-expert/skills/nextjs-zustand/SKILL.md · 150 lines

How it starts

The opening of the file, as written. The whole thing — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Covers skipHydration with the persist middleware plus manual rehydration in useEffect to avoid SSR mismatches, useShallow for array/object selectors, and SOLID file organization (store.ts, store-provider.tsx, use-store.ts). States explicitly that Zustand is Client-Components-only — never used in Server Components (fetch data directly there instead) and never used to persist auth tokens (use httpOnly cookies). Does not cover server state caching (see nextjs-tanstack-query for that).

Zustand for Next.js 16

Minimal, scalable state management with React 18+ useSyncExternalStore.

Agent Workflow (MANDATORY)

Before ANY implementation, use TeamCreate to spawn 3 agents:

  1. fuse-ai-pilot:explore-codebase - Analyze existing stores and state patterns
  2. fuse-ai-pilot:research-expert - Verify latest Zustand v5 docs via Context7/Exa
  3. mcp__context7__query-docs - Check middleware and TypeScript patterns

After implementation, run fuse-ai-pilot:sniper for validation.


Overview

When to Use

  • Managing client-side state in Next.js App Router applications
  • Need global state across Client Components only
  • Persisting state to localStorage/sessionStorage
  • Building UI state (modals, sidebars, theme, cart)
  • Replacing React Context for complex state

Why Zustand v5

Feature Benefit
Minimal API Simple create() function, no boilerplate
React 18 native useSyncExternalStore, no shims needed
TypeScript first Full inference with currying pattern
Middleware stack devtools, persist, immer composable
Bundle size ~2KB gzipped, smallest state library
No providers Direct store access, no Context wrapper

Read the full file on GitHub · 150 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 150 lines · 32 tokens per session scan A a0666374d9cb

Subscribe to this mod's changes

nextjs-zustand is a skill published in the GitHub repository fusengine/agents (25 stars, last pushed 1mo ago), licensed MIT. It adds 32 tokens to every session and 1,480 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

vibes

Self-contained app generator — invoke this skill directly, do not decompose into sub-steps. Generates React web apps with TinyBase reactive data store. Use when creating new web applications, adding components, or working with real-time data. Ideal for quick prototypes and single-page apps that need real-time data…

popmechanic/VibesOS · 65 tokens

radin-record

Log feedback, bugs, follow-ups, or ideas raised mid-session as structured backlog entries, so they survive past the conversation. Use for /radin-record, "log this to the backlog", "add as follow-up/bug/idea", "record what we just found", "note this for later", "add findings to backlog". Triggers even on vague asks…

shortcuts/radin · 100 tokens

ink-playing-cards

Use when building terminal card games with ink-playing-cards, working with card components, deck management, zone systems, event systems, effect systems, or any card game logic using Ink and React for CLI rendering.

gfargo/skills · 47 tokens

radin-doctor

Check that radin's own install under /.claude is complete and its optional companion tools are reachable. Use for /radin-doctor, "check my radin install", "is radin installed correctly", "radin doctor", "verify radin install".

shortcuts/radin · 62 tokens

designing-interfaces

Creates a design system for software with a UI. Use when a project has a user interface and architecture is confirmed — whether creating from scratch or extracting patterns from existing code.

isvlasov/rageatc-oss · 39 tokens

managing-product

Extracts product requirements and produces a PRD. Use when a user wants to build software and needs to define what to build before architecture or implementation, when scoping an MVP, or when translating a vague idea into a buildable specification.

isvlasov/rageatc-oss · 52 tokens