Token导航 LogoToken导航

Agent Skill · 研究检索

state-management(状态管理)

state-management 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

state-management 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 36,263。

总安装 1,953周安装 79GitHub Stars 11下载 613核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:state-management(状态管理)
来源仓库:https://github.com/akillness/oh-my-skills
仓库路径:skills/state-management
安装命令:
npx skills add https://github.com/akillness/oh-my-skills --skill state-management
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/akillness/oh-my-skills --skill state-management

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于判断状态归属的合理性与边界划分,避免错误所有权导致的副作用。适合分析组件、API 或全局状态的生命周期,推荐最小可信拥有者。使用时需结合具体数据包类型,参考决策矩阵与交接边界文档。

安装命令:npx skills add https://github.com/akillness/oh-my-skills --skill state-management 不建议直接讨论库选型,应先明确状态本质与变更责任方。

来源仓库内路径:skills/state-management

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/akillness/oh-my-skills --skill state-managemen…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

state-management 怎么安装?

在终端执行 npx skills add https://github.com/akillness/oh-my-skills --skill state-management。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

state-management 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

state-management 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/akillness/oh-my-skills --skill state-management 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

state-management 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

state-management 用的人多吗?

公开数据是累计安装 1,953 次,近一周安装 79 次,下载 613 次,GitHub 11 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

state-management 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
state-management

状态管理 · 本页

1,95311执行命令未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

State Management

Use this skill when the real question is:

What packet is this state, who should own it, and what tempting wrong owner should we avoid?

Do not start with a library debate. Start by naming one primary packet, then choose the smallest owner that matches its lifecycle.

Read references/ownership-packets-and-route-outs.md before handling a mixed or ambiguous request. Read references/decision-matrix.md when the packet is clear and you need to compare likely owners. Read references/handoff-boundaries.md when the request may actually belong to react-best-practices, api-design, debugging, ui-component-patterns, design-system, or responsive-design.

When to use this skill

  • Decide whether a frontend problem is local UI state, shared subtree state, URL/navigation state, form state, server state, or long-lived client workflow state.
  • Turn vague requests like “we need state management” into a concrete ownership recommendation.
  • Choose between Context, Zustand, Redux Toolkit, Jotai, TanStack Query, or router-native ownership without treating them as interchangeable.
  • Stop “one store for everything” proposals before implementation starts.
  • Produce a short ownership brief for implementation or review.

When not to use this skill

  • The main task is rerender churn, hydration mismatch, waterfalls, or client/server performance behavior → use react-best-practices.
  • The main task is mutation shape, backend ownership, or optimistic-write API design → use api-design.
  • The main task is debugging stale closures, races, broken optimistic updates, or existing state bugs → use debugging.
  • The main task is controlled/uncontrolled component APIs, primitives, slots, or reusable component contracts → use ui-component-patterns.
  • The main task is visual system governance or shared preference policy → use design-system.
  • The main task is viewport adaptation or layout collapse → use responsive-design.
  • The architecture choice is already made and the user just needs code → implement directly instead of re-running the chooser.

Instructions

Step 1: Pick one primary packet

Choose the main packet before naming any tool:

  • local-ui — toggles, open panels, inline edit state, active row, one-feature transient state
  • shared-subtree — theme, auth snapshot, locale, feature flags, moderate shell state
  • url-navigation — filters, sort order, pagination, selected tab, deep-linkable view state
  • form-lifecycle — dirty/touched state, validation, submission lifecycle, async submit errors
  • server-state — fetched data, caching, invalidation, revalidation, optimistic server updates
  • client-workflow — cross-page drafts, undo, multi-step coordination, offline edits, long-lived workflow state

Optional: list one or two secondary packets, but force a single primary packet.

Quick frame:

Primary packet: server-state
Secondary packets: url-navigation, local-ui
Decision pressure: shareable filters + remote list freshness

Step 2: Choose the smallest owner

Use the narrowest owner that matches the packet:

  • local-ui → local state, lifted state, or useReducer
  • shared-subtree → Context when one moderate tree needs a shared source of truth
  • url-navigation → router/search params when refresh, deep links, and back/forward should work naturally
  • form-lifecycle → form-layer ownership, not app-wide global state
  • server-state → TanStack Query or router-native data APIs when cache/revalidation rules dominate
  • client-workflow → Zustand, Redux Toolkit, Jotai, or explicit state-machine modeling only after the earlier packets are separated

Rule: if the state is really route-shaped or server-shaped, do not hide it in a generic client store just because the store already exists.

Step 3: Run the anti-pattern check

Call out the most likely wrong owner explicitly:

  • one universal store for unrelated lifecycles
  • mirroring server cache into a client store without an offline/workflow reason
  • hiding shareable filters or tabs outside the URL
  • pushing form dirty/touched/submit lifecycle into global app state
  • treating every slow or buggy UI issue as a state-architecture problem

A good answer names both the chosen owner and the tempting wrong owner.

Step 4: Compare client-store options only if a client-workflow packet remains

After local/shared/URL/form/server packets are separated:

  • Context when the real pain is access/distribution across a moderate tree
  • Zustand when you need low-ceremony cross-component or cross-page workflow state
  • Redux Toolkit when workflows are coupled, event-heavy, or need stronger conventions and auditability
  • Jotai when fine-grained atom composition truly matches the app’s mental model
  • State machines / explicit workflow modeling when transitions, guards, and multi-step coordination dominate

Do not compare stores for packets that already belong to URL/form/server ownership.

Step 5: Name mixed architectures directly

Healthy combinations are normal:

  • URL state + query/router data + local UI state
  • Context + query/router data
  • Zustand + query/router data
  • Redux Toolkit + query/router data
  • form state + URL state + query/router data

If the request asks for one universal store, explain what gets worse when unlike lifecycles are flattened together.

Step 6: Route adjacent work out immediately

Stay here only while choosing ownership.

Route out when the next step is:

  • react-best-practices for rerender/hydration/waterfall/perf issues
  • api-design for mutation contracts or backend/client responsibility
  • debugging for already-broken state behavior
  • ui-component-patterns for component API ownership
  • design-system for system-level preference/governance rules
  • responsive-design for layout/viewport behavior

Step 7: Produce one ownership brief

Use this format:

Primary packet:
Secondary packets:

Recommended owners:
- ...

Why this is the smallest viable split:
- ...

Avoid:
- ...

Route-out note:
- ...

Next implementation step:
- ...

Keep it short. If the honest answer is “do less and keep the state closer to where it lives,” say that directly.

Output format

Return a concise ownership recommendation with:

  1. one primary packet and any secondary packets
  2. chosen owners per packet
  3. one-paragraph rationale
  4. explicit anti-patterns to avoid
  5. route-out note if another skill should own the next step

Examples

Example 1: Dashboard data, filters, and modals

Input: “Should this dashboard use Zustand or TanStack Query for project data, filters, and modal state?”

Good output shape:

  • primary packet = server-state
  • secondary packets = url-navigation, local-ui
  • project data = TanStack Query or router-native data ownership
  • filters = URL/search params if shareable/bookmarkable
  • modal state = local or lightweight client state only if coordination spans distant branches
  • avoid mirroring fetched entities into Zustand without an offline/workflow reason

Example 2: Prop drilling theme and auth

Input: “Theme and auth are passed through five levels. Do we need Redux?”

Good output shape:

  • primary packet = shared-subtree
  • recommend Context first
  • reject Redux unless broader coupled workflow state also exists

Example 3: React Router app storing filters and loader data in Zustand

Input: “Our React Router app stores filters and loader data in Zustand. Is that fine?”

Good output shape:

  • primary packet = url-navigation or server-state, not client-workflow
  • move shareable filters into URL/search params
  • keep loader/action data in router-native data ownership unless a separate cache need is real
  • use Zustand only for leftover workflow coordination

Example 4: Broken optimistic updates

Input: “The state code is buggy and optimistic updates are broken—what skill owns the next step?”

Good output shape:

  • identify that ownership choice is secondary to active failure diagnosis
  • route the next step to debugging
  • mention api-design if the optimistic-write contract itself is the real dispute

Best practices

  1. Pick the packet before the tool.
  2. Use the smallest viable owner.
  3. Keep URL/form/server/client workflow lifecycles separate unless there is a strong reason not to.
  4. Call out the wrong owner explicitly.
  5. Treat mixed ownership as normal, not as a failure to standardize.
  6. End with a brief that an implementer or reviewer can act on immediately.

References

平台分布

Codex

38.54%
按下载量换算236

Claude

29.71%
按下载量换算182

Cursor

19.07%
按下载量换算117

Gemini CLI

8.78%
按下载量换算54

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/akillness/oh-my-skills --skill state-management 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills