AgentSkillsCN

zustand-store-manager

生成带类型注解的Zustand商店(如usePaperStore、useAuthStore),并配备开发者工具与localStorage持久化中间件。

SKILL.md
--- frontmatter
name: zustand-store-manager
description: "Generates typed Zustand stores (usePaperStore, useAuthStore) with devtools and persist middleware for localStorage."
license: MIT
triggers:
  - "create zustand store"
  - "generate usePaperStore"
  - "persist zustand"

Zustand Store Manager

When to use this skill

  • Use when centralizing client state (papers, endorsements, likes, user profile) without a backend.
  • Triggered by requests to scaffold or update stores, add persistence, or wire devtools.

Instructions

  1. First Step: Create typed store files under src/stores/ (e.g., usePaperStore.ts) using create from zustand and persist/devtools middleware.

  2. Second Step: Expose actions and selectors that the UI will consume (addEndorsement, toggleLike, fetchPapers placeholder).

  3. Third Step: Document how to access state in components and how to reset/seed state for tests.

Examples

  • usePaperStore exposes papers, loading, addEndorsement(paperId, endorser) and reset().

Notes

  • Include clear type definitions for the store payloads to keep UI and store in sync.
  • Recommend zustand/middleware persist name (arxiv-social-storage) and a migration strategy when types change.