From azure-sdk-typescript
Creates TypeScript Zustand stores using subscribeWithSelector middleware, state/action separation, selectors, and non-React subscriptions for React state management.
How this skill is triggered — by the user, by Claude, or both
Slash command
/azure-sdk-typescript:zustand-store-tsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create Zustand stores following established patterns with proper TypeScript types and middleware.
Create Zustand stores following established patterns with proper TypeScript types and middleware.
Copy the template from assets/template.ts and replace placeholders:
{{StoreName}} → PascalCase store name (e.g., Project){{description}} → Brief description for JSDocimport { create } from 'zustand';
import { subscribeWithSelector } from 'zustand/middleware';
export const useMyStore = create<MyStore>()(
subscribeWithSelector((set, get) => ({
// state and actions
}))
);
export interface MyState {
items: Item[];
isLoading: boolean;
}
export interface MyActions {
addItem: (item: Item) => void;
loadItems: () => Promise<void>;
}
export type MyStore = MyState & MyActions;
// Good - only re-renders when `items` changes
const items = useMyStore((state) => state.items);
// Avoid - re-renders on any state change
const { items, isLoading } = useMyStore();
useMyStore.subscribe(
(state) => state.selectedId,
(selectedId) => console.log('Selected:', selectedId)
);
src/frontend/src/store/src/frontend/src/store/index.tssrc/frontend/src/store/*.test.tsnpx claudepluginhub microsoft/skills --plugin azure-sdk-typescriptCreates Zustand stores using TypeScript with subscribeWithSelector middleware, separate state/action interfaces, and individual selectors for optimized re-renders.
Guides type-safe Zustand stores in TypeScript: interfaces, typed selectors, getters, async actions, type inference, and best practices.