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
Not recommended
50/ 100 5-point scale 2.5 / 5
Trust18 / 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.

Reliability7 / 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.

Adaptability8 / 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.

Convention9 / 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.

Effectiveness5 / 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.

Verifiability3 / 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 it does & when to 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.

Pros & cons

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 to install

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 to use

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

Azure Identity for Python

A practical skill for securing Python Azure applications with Microsoft Entra ID credentials.

Dev & Engineering ✓ Microsoft · Official

Azure Event Hubs Java Skill

Build production-oriented Java event streaming applications on Azure Event Hubs.

Dev & Engineering ✓ Microsoft · Official

Azure Tables for Python

A practical guide to building authenticated Azure Tables applications with Python entity CRUD, queries, and partition-scoped batch operations.

Dev & Engineering ✓ Microsoft · Official

Azure Identity for TypeScript

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

Automation & Ops ✓ Microsoft · Official

Azure Reliability Advisor

Assess and improve reliability for Azure Functions and App Service.

Dev & Engineering ✓ Microsoft · Official

Azure Cloud Architect

Guides coding agents through production-grade Azure architecture design and review using Azure Architecture Center practices.

Dev & Engineering ✓ Microsoft · Official

Azure AI Text Analytics for Python

Guides Python developers through Azure-powered text analysis and NLP workflows.

Automation & Ops ✓ Microsoft · Official

Azure Resource Architecture Visualizer

Analyze Azure resource groups and turn their dependencies into detailed Mermaid architecture diagrams.

Dev & Engineering ✓ Microsoft · Official

Azure Maps for .NET

Build .NET location features for search, routing, maps, geolocation, and weather.

Dev & Engineering ✓ Microsoft · Official

Azure AI Vision Image Analysis

Guides Python coding agents in implementing Azure AI Vision image understanding.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Python

Guides secure, production-minded Blob Storage operations in Python.

Dev & Engineering ✓ Microsoft · Official

Azure Queue Storage for Python

Gives coding agents reliable Python patterns for secure Azure Queue Storage messaging and asynchronous task processing.

Automation & Ops ✓ Microsoft · Official

Azure AI Gateway Governance

Use Azure API Management to govern traffic across AI models, MCP tools, and agents.

Automation & Ops ✓ Microsoft · Official

AKS Automatic Readiness

Assess Kubernetes workloads for AKS Automatic compatibility and identify migration blockers before you switch.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB ARM for .NET

Provision and manage Azure Cosmos DB resources from .NET through ARM.

Dev & Engineering ✓ Microsoft · Official

Azure Playwright Workspace Manager

Provision and manage Microsoft Playwright Testing workspaces with .NET and Azure Resource Manager.

Dev & Engineering ✓ Microsoft · Official

Azure Cosmos DB for Python

A practical guide for building reliable Python applications on Azure Cosmos DB’s NoSQL API.

Dev & Engineering ✓ Microsoft · Official

Azure Key Vault SDK for Python

Gives Python coding agents practical guidance for securely managing Azure Key Vault secrets, keys, and certificates.

Dev & Engineering ✓ Microsoft · Official

Azure API Management for Python

Gives coding agents practical Python SDK patterns for managing Azure API Management services, APIs, products, subscriptions, and policies.

Dev & Engineering ✓ Microsoft · Official

Azure Monitor Query for Python

Generate Python code for querying Azure Monitor logs and metrics.

Related skills