Install
Works with Claude Code. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vab1997-zustand-5
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/zustand-5
Tools it pre-approves 9
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Read,Edit,Write,Glob,Grep,Bash,WebFetch,WebSearch,Task
What's inside
- Skill name
zustand-5- Description
- Zustand 5 state management patterns. Trigger: When implementing client-side state with Zustand (stores, selectors, persist middleware, slices).
- License
- Apache-2.0
- Allowed tools
- Read,, Edit,, Write,, Glob,, Grep,, Bash,, WebFetch,, WebSearch,, Task
- Metadata
- author: prowler-cloud · version: 1.0 · auto_invoke: Using Zustand stores
- Instructions
- 211 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
## Basic Store
```typescript
import { create } from "zustand";
interface CounterStore {
count: number;
increment: () => void;
decrement: () => void;
reset: () => void;
}
const useCounterStore = create<CounterStore>((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
decrement: () => set((state) => ({ count: state.count - 1 })),
reset: () => set({ count: 0 }),
}));
// Usage
function Counter() {
const { count, increment, decrement } = useCounterStore();
return (
<div>
<span>{count}</span>
<button onClick={increment}>+</button>
<button onClick={decrement}>-</button>
</div>
);
}
```
## Persist Middleware
```typescript
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
interface SettingsStore {
theme: 'light' | 'dark'
language: string
setTheme: (theme: 'light' | 'dark') => void
setLanguage: (language: string) => void
}
const useSettingsStore = create<SettingsStore>()(
persist(
(set) => ({
theme: 'light',
language: 'en',
setTheme: (theme) => set({ theme }),
setLanguage: (language) => set({ language }),
}),
{
name: 'settings-storage', // localStorage key
},
),
)
```
## Selectors (Zustand 5)
```typescript
// ✅ Select specific fields to prevent unnecessary re-renders
function UserName() {
const name = useUserStore((state) => state.name);
return <span>{name}</span>;
}
// ✅ For multiple fields, use useShallow
import { useShallow } from "zustand/react/shallow";
function UserInfo() {
const { name, email } = useUserStore(
useShallow((state) => ({ name: state.name, email: state.email }))
);
return <div>{name} - {email}</div>;
}
// ❌ AVOID: Selecting entire store (causes re-render on any change)
const store = useUserStore(); // Re-renders on ANY state change
```
## Async Actions
```typescript
interface UserStore {
user: User | null
loading: boolean
error: string | null
fetchUser: (id: string) => Promise<void>
}
const useUserStore = create<UserStore>((set) => ({
user: null,
loading: false,
error: null,
fetchUser: async (id) => {
set({ loading: true, error: null })
try {
const response = await fetch(`/api/users/${id}`)
const user = await response.json()
set({ user, loading: false })
} catch (error) {
set({ error: 'Failed to fetch user', loading: false })
}
},
}))
```
## Slices Pattern
```typescript
// userSlice.ts
interface UserSlice {
user: User | null
setUser: (user: User) => void
clearUser: () => voidFrom vab1997/mecania-assistant, Apache-2.0.
More from vab1997/mecania-assistant
- 0.406score
zod-4
prowler-cloud
Zod 4 schema validation patterns.
SkillDFreshness: DClaude Code - 0.406score
prowler-commit
prowler-cloud
Creates professional git commits following conventional-commits format.
SkillDFreshness: DClaude Code +9 - 0.402score
tanstack-start-best-practices
prowler-cloud
TanStack Start best practices for full-stack React applications.
SkillDFreshness: DClaude Code +9 - 0.401score
tanstack-query
prowler-cloud
Manage server state in React with TanStack Query v5.
SkillDFreshness: DClaude Code +9 - 0.401score
tailwind-v4-shadcn
vab1997
Set up Tailwind v4 with shadcn/ui using @theme inline pattern and CSS variable architecture.
SkillDFreshness: DClaude Code +9 - 0.399score
tanstack-form
prowler-cloud
Use TanStack Form for complex forms with Zod validation.
SkillDFreshness: DClaude Code +9 - 0.278score
vercel-react-best-practices
vercel
React and Next.js performance optimization guidelines from Vercel Engineering.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Jan 23, 2026 (9 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0
- License
- Apache-2.0
- Repository
- github.com/vab1997/mecania-assistant
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from prowler-cloud
- 0.843score
prowler-docs
prowler-cloud
Prowler documentation style guide and writing standards.
SkillAFreshness: A★ 3.8KClaude Code - 0.677score
AGENTS.md · prowler-cloud/prowler
prowler-cloud
AGENTS.md from prowler-cloud/prowler: 195 lines covering How to Use This Guide, Available Skills, Project Overview, Python Development and more.
TemplateAFreshness: A★ 15.1KCodex +5 - 0.411score
gh-aw
prowler-cloud
Create and maintain GitHub Agentic Workflows (gh-aw) for Prowler.
SkillDFreshness: DClaude Code - 0.406score
zod-4
prowler-cloud
Zod 4 schema validation patterns.
SkillDFreshness: DClaude Code - 0.406score
prowler-commit
prowler-cloud
Creates professional git commits following conventional-commits format.
SkillDFreshness: DClaude Code +9 - 0.402score
tanstack-start-best-practices
prowler-cloud
TanStack Start best practices for full-stack React applications.
SkillDFreshness: DClaude Code +9
Cite this page
zustand-5 skill. Agent Mart. https://agentmart.dev/skills/vab1997-zustand-5 (last updated 2026-10-24)