Skip to main content

setup-zustand

Enforce zustand best practices via PostToolUse hooks -- double-parens create, useShallow selectors, persist middleware. Use when setting up zustand enforcement or preventing re-render issues.

Source facts

Repository
redpanda-data/ui-harness
Last source activity
May 8, 2026 at 11:21
Detected SKILL.md language
English
Stars
34
Forks
4

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
setup-zustand
description
Enforce zustand best practices via PostToolUse hooks -- double-parens create, useShallow selectors, persist middleware. Use when setting up zustand enforcement or preventing re-render issues.
paths
["**/*store*.ts","**/*store*.tsx"]
# Zustand Enforcement ## What This Catches - **Ban single-parens `create<T>()`** -- must be `create<T>()()` for middleware type inference - **Ban inline object selectors** -- `(s) => ({ a: s.a })` cause infinite re-renders, use `useShallow` - **Ban localStorage/sessionStorage in store files** -- use zustand `persist` middleware ## Stack Decisions - **Zustand client state only**: theme, sidebar, selected tab, draft form data. Server data -> TanStack Query / Connect Query. - **`useShallow` required** for multi-value selectors (hook enforce). - **Callback form required** for `set()` (hook enforce). Initial setup (install, config, verify): see [SETUP.md](SETUP.md).
View on GitHub