smithery/neversight

busirocket-react-state-management-zustand

Zustand state management patterns for React applications. Use when implementing global state, modal visibility, cross-component communication, or avoiding prop drilling. This is an opinionated pattern recommendation.

Installation

$ npx skills add smithery/neversight --skill busirocket-react-state-management-zustand

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/neversight · top by installs.

npx skills add smithery/neversight

Browse all from smithery/neversight

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
More metadata
author
cristiandeluxe
version
1.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,165 B
  • docs SUMMARY.md 265 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

React State Management (Zustand)

Opinionated guidance for using Zustand in React applications.

When to Use

Use this skill when:

  • Implementing global UI state (modals, progress indicators)
  • Managing shared data across components
  • Avoiding prop drilling
  • Setting up cross-component communication

Non-Negotiables (MUST)

  • One store per domain (e.g., uiStore, workspaceStore, statusLogStore).
  • Keep stores focused; split when they grow too large.
  • Use selectors to minimize re-renders:

useStore((state) => state.specificValue).

  • Actions should be defined in the store, not in components.
  • Modals should read their visibility state from stores, not receive as props.

Store Organization

  • One store per domain: uiStore, workspaceStore, statusLogStore, etc.
  • Keep stores focused; split when they grow too large.
  • Use selectors to minimize re-renders:

useStore((state) => state.specificValue).

  • Actions should be defined in the store, not in components.

Rules

Zustand Patterns

  • zustand-when-to-use - When to use Zustand (modals, global UI state, shared

data)

  • zustand-store-organization - Store organization (one store per domain,

selectors, actions)

Modal Pattern

  • zustand-modal-pattern - Modal pattern with Zustand (read visibility from

store)

Avoiding Prop Drilling

  • zustand-avoiding-prop-drilling - Use Zustand stores instead of prop drilling

How to Use

Read individual rule files for detailed explanations and code examples:

rules/zustand-store-organization.md
rules/zustand-modal-pattern.md
rules/zustand-avoiding-prop-drilling.md

Each rule file contains:

  • Brief explanation of why it matters
  • Code examples (correct and incorrect patterns)
  • Additional context and best practices