CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

zustand-5

Zustand 5 state management patterns. Trigger: When managing React state with Zustand.

63

Quality

79%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./curated/zustand-5/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a lean, well-organized catalog of executable Zustand 5 patterns that respects the token budget and stays current with v5 idioms (useShallow, persist typing). Its main weaknesses are one placeholder section (DevTools) and the absence of any decision guidance for picking among the patterns.

Suggestions

Complete the DevTools section's placeholder ('// store definition') or drop the section, since a non-executable stub reduces copy-paste reliability.

Add one or two sentences of pattern-selection guidance (e.g., when to use slices vs. a single store, when immer is worth it) to strengthen workflow clarity.

Define or note the assumed 'useUserStore' in the Selectors section (or rename it to the store defined earlier) so examples run as written.

DimensionReasoningScore

Conciseness

The body is almost entirely executable TypeScript with minimal prose, assuming Claude's React/TS competence and adding only what is Zustand-5-specific (e.g., 'use useShallow', 'Zustand 5' selector notes). Every section earns its place; the only near-padding is the one-line '## Keywords' footer, which is not enough to drop below the 'lean and efficient' anchor.

5 / 5

Actionability

Most sections are copy-paste ready (basic store, persist, async actions, immer, slices), but the DevTools section is a placeholder stub with '// store definition' and the Selectors section depends on an undefined 'useUserStore'. These are minor gaps matching 'mostly executable guidance'; the bulk is genuinely runnable, so it is not a 3.

4 / 5

Workflow Clarity

The body is organized into clearly headed, unambiguous, independent pattern sections — each shows exactly what to do. Not 5 because at ~220 lines it exceeds the under-50-line simple-skill exception and offers no guidance on choosing between patterns (e.g., persist vs. immer vs. slices) or any verification step; not 3 because no steps are missing for the operations shown and no destructive/batch validation is required.

4 / 5

Progressive Disclosure

The skill has no bundle files and no references; everything lives in one file with clear section headers and no buried navigation. This matches 'good structure; most content appropriately placed; minor organization gaps' — advanced patterns (slices, immer, devtools) could plausibly move to reference files, which is why it is not a 5, and the single-level organization is clean, which is why it is not a 3.

4 / 5

Total

17

/

20

Passed

Description

65%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description has a clear, explicit trigger and names its niche (Zustand 5), but it is weak on stating concrete capabilities — 'state management patterns' tells the model little about what the skill actually covers (stores, persist, selectors, slices). It is concise and distinct, just under-specified on the 'what'.

Suggestions

Replace 'Zustand 5 state management patterns' with concrete capabilities, e.g., 'Create Zustand stores with persist, immer, and devtools middleware; use selectors and useShallow to prevent re-renders; structure large stores with slices.'

Broaden trigger coverage with natural synonyms users say, e.g., 'Use when the user mentions Zustand, global React state, a Zustand store, or persisting state in React.'

Consider mentioning 'outside React access (getState/subscribe)' or slices so the 'what' comprehensively reflects the skill body.

DimensionReasoningScore

Specificity

The description names the domain ("Zustand 5 state management patterns") but lists no concrete actions or capabilities — it does not mention stores, persist middleware, selectors, or slices. It fits the anchor 'Names the domain but actions are minimal or generic'; it is not a 3 because no 1-2 concrete action verbs are ever stated.

2 / 5

Completeness

Both parts are present: an explicit trigger clause ("Trigger: When managing React state with Zustand") and a 'what' ("Zustand 5 state management patterns"), though the 'what' is vague. Not 5 because the 'what' lacks concrete capability statements; not 3 because the trigger guidance is explicit, so the missing-trigger cap does not apply.

4 / 5

Trigger Term Quality

"Zustand", "React state", and "state management" are natural terms users would say when needing this skill. A few natural variations are missing (e.g., "global state", "store", "Redux alternative"), matching the 'good keyword coverage; a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

Naming the specific library Zustand gives a clear niche with minimal conflict risk against other library-specific skills. Not 5 because the broader phrase "managing React state" could overlap with general React state-management skills (Context, Redux, Jotai).

4 / 5

Total

14

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

Gentleman-Programming/Gentleman-Skills

Path

curated/zustand-5/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.