React Expert
Jeffallan/claude-skills
Builds React 19 components in TypeScript with Server Components, useActionState forms, custom hooks and state libraries, checked with tsc and React Testing Library.
Best practices for Zustand state management in React and TypeScript applications, covering store design, selectors, middleware, SSR, and testing.
$ npx skills add Mindrally/skills --skill zustand-state-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Mindrally/skills zustand-state-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/zustand-state-management .claude/skills/zustand-state-management && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .claude/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Mindrally/skills/tree/main/zustand-state-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Mindrally/skills --skill zustand-state-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Mindrally/skills zustand-state-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/zustand-state-management .agents/skills/zustand-state-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .agents/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mindrally/skills --skill zustand-state-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Mindrally/skills zustand-state-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/zustand-state-management .cursor/skills/zustand-state-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .cursor/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Mindrally/skills.git --path zustand-state-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Mindrally/skills --skill zustand-state-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Mindrally/skills zustand-state-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/zustand-state-management .gemini/skills/zustand-state-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .gemini/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Mindrally/skills zustand-state-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Mindrally/skills --skill zustand-state-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/zustand-state-management .github/skills/zustand-state-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .github/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Mindrally/skills --skill zustand-state-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Mindrally/skills zustand-state-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mindrally/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/zustand-state-management .opencode/skills/zustand-state-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "zustand-state-management" agent skill from https://github.com/Mindrally/skills/tree/main/zustand-state-management into .opencode/skills/zustand-state-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "zustand-state-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
zustand-state-managementBest practices for Zustand state management in React and TypeScript applications, covering store design, selectors, middleware, SSR, and testing.
Zustand State Management is an agent skill from Mindrally/skills. Best practices for Zustand state management in React and TypeScript applications, covering store design, selectors, middleware, SSR, and testing. Use when creating or refactoring Zustand stores, deciding whether state belongs in Zustand vs component state vs a server-state library, optimizing selector re-renders, adding persist/devtools/immer middleware, or handling Zustand with SSR/React Server Components.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering State management. It works with Zustand, React and TypeScript. The repository describes itself as: 265+ Claude Code skills for every major framework and language. Install with: npx skills add Mindrally/skills. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 7682ca7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Zustand State Management loads about 1.8k tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 737 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Mindrally/skills at commit 7682ca7, republished under its Apache-2.0 licence (© Mindrally). 737 words, ~1,823 tokens.
.claude/skills/zustand-state-management/SKILL.md (or your agent's skills folder).This skill covers designing and using Zustand stores in React and TypeScript applications, including state ownership decisions, store slicing, selector performance, middleware, SSR, and testing.
useState or useReducer — don't reach for Zustand by default.isLoading, hasError.import { create } from 'zustand'
interface SidebarState {
isOpen: boolean
activePanelId: string | null
}
interface SidebarActions {
openPanel: (panelId: string) => void
close: () => void
toggle: () => void
}
type SidebarStore = SidebarState & SidebarActions
export const useSidebarStore = create<SidebarStore>()((set) => ({
isOpen: false,
activePanelId: null,
openPanel: (panelId) => set({ isOpen: true, activePanelId: panelId }),
close: () => set({ isOpen: false, activePanelId: null }),
toggle: () => set((state) => ({ isOpen: !state.isOpen })),
}))useStore((state) => state.value). Avoid selecting the entire store.useShallow (from zustand/react/shallow) when a selector returns an object or tuple of multiple values, to avoid re-renders from a new object reference each call.import { useShallow } from 'zustand/react/shallow'
import { useSidebarStore } from '@/stores/sidebar-store'
export function SidebarToggle() {
const { isOpen, toggle } = useSidebarStore(
useShallow((state) => ({
isOpen: state.isOpen,
toggle: state.toggle,
})),
)
return (
<button type="button" aria-expanded={isOpen} onClick={toggle}>
Toggle sidebar
</button>
)
}type Store = State & Actions) rather than one flat interface for non-trivial stores.any; use unknown plus narrowing for external data.set((state) => nextState) when the next value depends on current state.immer middleware only when it materially simplifies nested updates — don't mutate nested objects directly without it.import { persist } from 'zustand/middleware'
const useStore = create(
persist(
(set) => ({
// state and actions
}),
{ name: 'store-key' }
)
)persist only for state that must survive reloads.partialize, version, and migrate when persisting anything beyond trivial preferences.import { devtools } from 'zustand/middleware'
const useStore = create(
devtools((set) => ({
// state and actions
}))
)devtools in development for complex flows and give important actions clear names so they're identifiable in the trace.subscribeWithSelector for non-React subscriptions that need fine-grained updates outside of component rendering.idle, pending, success, and error rather than ad hoc booleans.window, document, and storage access outside middleware configuration.© Mindrally, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in zustand-state-management of Mindrally/skills.
Open the folder on GitHubat commit 7682ca7
Zustand State Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Zustand State Management this skillMindrally/skills | 271 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| React ExpertJeffallan/claude-skills | 12k | — | ~1.4k | Automated safety check: Pass | MIT | |
| React Flow Node TSmicrosoft/skills | 3.1k | 6 repos | ~502 | Automated safety check: Pass | MIT | |
| React Generate Skilljiushiwon/wg-skills | 114 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Zustand State Managementsecondsky/claude-skills | 227 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Dify Component Writing Guidelanggenius/dify | 158k | — | ~626 | Automated safety check: Pass | Custom licence |
Jeffallan/claude-skills
Builds React 19 components in TypeScript with Server Components, useActionState forms, custom hooks and state libraries, checked with tsc and React Testing Library.
microsoft/skills
Create React Flow node components with TypeScript types, handles, and Zustand integration.
jiushiwon/wg-skills
This skill should be used when the user wants to create a standardized React 18 + TypeScript + Vite + Zustand project from scratch.
secondsky/claude-skills
Zustand state management for React with TypeScript. An agent skill from secondsky/claude-skills.
langgenius/dify
Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…
lobehub/lobehub
Explains how LobeHub client code fetches data through services, SWR store hooks and cache keys, and when to avoid useEffect fetching or duplicated state.
Mindrally/skills
Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks.
Mindrally/skills
Best practices for AutoML and hyperparameter search with Optuna, Ray Tune, and PyCaret, covering search-space design, validation splits, and leakage prevention.
Mindrally/skills
Best practices for writing Blender Python add-ons using the bpy API, covering operators, panels, properties, registration, and API-safe scripting.
Mindrally/skills
Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices.
Mindrally/skills
Clean, maintainable, human-readable code principles combined with anti-over-engineering discipline: naming, single responsibility, DRY, and scoping changes to exactly what was requested.
Mindrally/skills
Comprehensive design system guidelines for building consistent, accessible, and scalable component libraries.
Works with
Categories
Best practices for Zustand state management in React and TypeScript applications, covering store design, selectors, middleware, SSR, and testing. Zustand State Management is an agent skill from Mindrally/skills. Best practices for Zustand state management in React and TypeScript applications, covering store design, selectors, middleware, SSR, and testing.
Zustand State Management fits situations like: refactoring Zustand stores; deciding whether state belongs in Zustand vs component state vs a server-state library; optimizing selector re-renders; adding persist/devtools/immer middleware.
Run `npx skills add Mindrally/skills --skill zustand-state-management -a claude-code`. Or copy the skill folder (zustand-state-management in Mindrally/skills) into .claude/skills/zustand-state-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Mindrally/skills --skill zustand-state-management -a codex`. Or copy the skill folder (zustand-state-management in Mindrally/skills) into .agents/skills/zustand-state-management in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mindrally/skills --skill zustand-state-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/zustand-state-management, .gemini/skills/zustand-state-management, .github/skills/zustand-state-management and .opencode/skills/zustand-state-management in your project.
SKILL.md names no scripts, command-line tools or credentials: Zustand State Management is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Zustand State Management is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Zustand State Management: React Expert (Jeffallan/claude-skills, 12k stars), React Flow Node TS (microsoft/skills, 3.1k stars), React Generate Skill (jiushiwon/wg-skills, 114 stars) and Zustand State Management (secondsky/claude-skills, 227 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Mindrally (a GitHub organization) maintains it in Mindrally/skills, which has 271 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on October 8, 2026.
Source: Mindrally/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.