What problem does it solve? Setting up Zustand state management correctly differs between React SPA Vite and Next.js projects, and mistakes like module-level singleton stores in server-rendered Next.js apps cause shared-state bugs across requests. This Skill detects the project target, installs the dependency with the right package manager, and scaffolds store modules, providers, and entry wrappers that follow each framework's rules. ## Core Features & Use Cases - Target Detection: Distinguishes React SPA Vite from Next.js (App Router and Pages Router) using dependencies, config files, and entry files, and refuses unsupported frameworks like Vue, Nuxt, or Svelte. - Automated Bootstrap: Installs zustand with the detected package manager (pnpm, npm, yarn, or bun), creates typed store modules, and for Next.js generates a vanilla store factory plus a client provider wired into the App Router layout or Pages Router _app. - Placement Rules: Places shared stores in shared/store and feature-owned stores in features/<feature>/store for feature-based layouts, keeping app composition layers free of state. - Verification: Runs a verification script that checks the dependency, store creation pattern, client provider, and entry wrapper. - Use Case: After scaffolding a Next.js App Router project, run this Skill to get a per-request Zustand store with a client provider already wrapped around the root layout, verified and ready for feature stores. ## Quick Start Use the zustand skill to add Zustand state management to my React Vite or Next.js project and verify the setup.