Dev & Engineering ✓ Microsoft · Official zustandtypescriptreact-state-managementsubscribe-with-selectorstate-managementfrontend-testing

Typed Zustand Store Patterns

Build predictable, reactive Zustand stores with typed state, actions, and selective subscriptions.

FollowSkills review · FSRS-2.0
Use with care
50/ 100 5-point scale 2.5 / 5
1 2 3 4 5 6
1Trust18 / 25 · 3.6/5

The skill only supplies Zustand/TypeScript code patterns and contains no network, credential, filesystem-write, or destructive default behavior; the repository also provides MIT licensing and Microsoft author metadata. Points are deducted because data flow, sensitive-data handling, user confirmation, rollback boundaries, and dependency-security guidance are not explicit; risk is low for a code template, but trust controls remain incomplete.

2Reliability7 / 20 · 1.8/5

The SKILL.md and template are broadly consistent about Zustand, subscribeWithSelector, state/action separation, and selector usage, and the skill asks users to add tests. Points are deducted because the template contains unknown[] types, a placeholder fetch, and unfinished business logic, with no skill-specific tests, compatibility matrix, or abnormal-input behavior; static calibration caps this dimension at10.

3Adaptability8 / 15 · 2.7/5

The audience and scenarios are reasonably clear: React state management, global stores, and reactive patterns, with stated locations for the store, exports, and tests. Points are deducted because non-fit cases, required Zustand versions, non-React boundaries, and more precise trigger conditions are absent; there is no overseas-service dependency, so no additional mainland-China reachability deduction applies.

4Convention9 / 15 · 3.0/5

The documentation uses a readable progressive structure with Quick Start, examples, integration steps, and an assets/template.ts file; naming, MIT licensing, author, and version 1.0.0 are present. Points are deducted for missing installation/dependency notes, compatibility versions, FAQ, known limitations, changelog, and explicit maintenance responsibility or update path.

5Effectiveness5 / 15 · 1.7/5

The skill provides a useful starter store containing types, state, actions, subscriptions, and reset behavior, so the core output is clear. Points are deducted because users must replace placeholders, add real types and fetching logic, and validate business semantics; no representative completed output or comparative-benefit evidence is supplied, and static calibration caps this dimension at7.

6Verifiability3 / 10 · 1.5/5

The SKILL.md and template contain inspectable examples, and the repository includes general harness, test, and CI files. Points are deducted because no skill-specific acceptance criteria, committed tests, or third-party reproduction evidence for zustand-store-ts are provided; generic repository tests do not establish the skill's key paths, and static calibration caps this dimension at5.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • loadItems only returns an empty array and should not be treated as a real data-loading implementation.
  • unknown[] and the type assertion used to read item.id weaken TypeScript safety; concrete entity types should be supplied.
  • The skill does not specify the Zustand version, installation method, or compatibility requirements for subscribeWithSelector.
  • Repository-level CI and harness files do not substitute for skill-path-specific acceptance tests.
See the full review method →

What does this skill do, and when should you use it?

This Microsoft-authored skill guides TypeScript developers in building Zustand stores for React applications. It standardizes store creation with the subscribeWithSelector middleware and separates state definitions from actions. It recommends individual selectors to limit unnecessary re-renders and documents subscriptions outside React. It is a good fit for teams that want a consistent store layout and integration checklist, but it does not provide a full application architecture.

Directs the agent to copy and customize assets/template.ts; create a Zustand store with subscribeWithSelector; define separate state and action interfaces plus a combined store type; read state through individual selectors; subscribe to selected state outside React; place stores under src/frontend/src/store/, export them from index.ts, and add tests under the same store directory.

  1. A React developer needs a typed global store with synchronous and asynchronous actions.
  2. A TypeScript team wants a repeatable separation between Zustand state and actions.
  3. An application must react to selectedId or similar changes outside React components.
  4. A frontend team wants selectors that avoid re-rendering on unrelated store updates.
  5. A project needs a documented location, export point, and test location for new stores.

What are this skill's strengths and limitations?

Pros
  • Enforces subscribeWithSelector for selective subscriptions.
  • Provides a clear TypeScript model for separating state from actions.
  • Covers component selectors, subscriptions outside React, exports, and test placement.
  • Includes a reusable assets/template.ts starting point.
Limitations
  • The source does not specify a Zustand version or a complete dependency installation procedure.
  • No concrete test implementation or test framework configuration is included.
  • Advanced concerns such as persistence, error handling, and complex store architecture are outside the documented scope.

How do you install this skill?

Run npx skills add microsoft/skills and select this skill in the installation wizard. The collection installs skills into the selected agent directory, such as .github/skills/ for GitHub Copilot, and can be symlinked for multiple agents. The repository is licensed under MIT.

How do you use this skill?

Trigger it when building React state management, creating a global Zustand store, or implementing a reactive TypeScript state pattern. Example prompt: "Create a TypeScript Zustand store for project items with subscribeWithSelector, separate state and actions, individual selectors, and tests." Customize assets/template.ts by replacing the StoreName and description placeholders.

FAQ

Does this skill require Azure or MCP services?
No. The skill does not reference Azure services, MCP servers, or external tools; its documented dependencies are Zustand, TypeScript, and React.
Will it generate a complete production-ready store automatically?
Not necessarily. It provides patterns, examples, a template, and project integration steps; application-specific state, actions, and tests still need to be defined.
Can it be used without React?
The source frames it around React state management and shows React selector usage. Support for non-React applications is not documented.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

React Flow Node Builder

Create typed React Flow nodes with handles, resizing behavior, and Zustand-backed state integration.

Dev & Engineering ✓ Microsoft · Official

Azure Playwright Cloud Testing

Scale TypeScript Playwright tests on Azure-hosted browsers and publish results.

Design & Frontend ✓ Microsoft · Official

Dark Theme React UI System

A reusable foundation for dark React interfaces with Tailwind styling, glassmorphism, and restrained motion.

Dev & Engineering ✓ Microsoft · Official

Azure AI Content Safety for TypeScript

Add text and image harm detection with customizable blocklists to TypeScript applications.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault Secrets for TypeScript

Securely store and retrieve application secrets in Azure Key Vault while managing key lifecycles from Node.js.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

Configure secure, flexible Microsoft Entra ID authentication for TypeScript Azure applications.

Dev & Engineering ✓ Microsoft · Official

Application Insights Web Monitoring

Instrument browser and React Native apps with Application Insights for user behavior, requests, errors, and GenAI trace visibility.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB TypeScript Skill

Gives TypeScript and JavaScript coding agents practical Cosmos DB data-access patterns.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs TypeScript Skill

Build TypeScript event-streaming applications with batching, partition-aware consumers, checkpointing, and Azure identity authentication.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for TypeScript

A practical guide for uploading, downloading, and managing Azure Blob Storage from TypeScript and JavaScript applications.

Dev & Engineering ✓ Microsoft · Official

Azure Document Intelligence for TypeScript

Extract document text, tables, and structured fields in TypeScript applications.

Dev & Engineering ✓ Microsoft · Official

Azure Translation for TypeScript

Build TypeScript applications for text translation, transliteration, language detection, and document translation.

Dev & Engineering ✓ Microsoft · Official

Azure AI Search for TypeScript

Build TypeScript search apps with vector, hybrid, and semantic retrieval patterns.

Dev & Engineering ✓ Microsoft · Official

Azure Service Bus for TypeScript

Build enterprise messaging workflows with Azure Service Bus.

Dev & Engineering ✓ Microsoft · Official

Azure AI Projects for TypeScript

Practical TypeScript guidance for building Azure AI Foundry applications with project clients, agents, tools, and evaluations.

Dev & Engineering ✓ Microsoft · Official

Azure PostgreSQL TypeScript Connector

A practical pg-based guide for secure, pooled Azure PostgreSQL access in Node.js and TypeScript.

Dev & Engineering ✓ Microsoft · Official

MCP Server Development Guide

A practical guide to building clear, testable MCP servers that let LLMs work with external APIs.

Dev & Engineering ✓ Microsoft · Official

Azure File Share TypeScript Skill

Guides coding agents through Azure SMB file-share operations in TypeScript.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage TypeScript Skill

Build Azure Queue Storage workers that send, receive, inspect, and manage messages in TypeScript or JavaScript.

Dev & Engineering ✓ Microsoft · Official

Azure Web PubSub Real-Time Messaging

Build TypeScript WebSocket messaging, group communication, and live notification features with Azure Web PubSub.

Related skills