CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

stackpack-state

Agent-first React state management. Use when: project has stackpack-state as dependency, user asks to manage state or create stores, user mentions Together/Separate/When/Gate/Presence patterns, user migrates from useState/Redux/Zustand/Jotai/XState. Read skill/skill.md for patterns, skill/api-reference.md for full API.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Failed to scan

The risk profile of this skill

SKILL.md
Quality
Evals
Security

Quality

Content

71%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.

A dense, highly actionable library reference: nearly all content is executable, library-specific code and gotchas with essentially no padding, organized in a logical setup-to-advanced sequence with error-recovery patterns. Its main defects are a broken progressive-disclosure chain — all four referenced documentation files are missing from the bundle — plus small completeness nits (useStore missing from the import list, a version-specific model ID that will age).

Suggestions

Ship the referenced files (skill/skill.md, skill/api-reference.md, skill/examples.md, skill/refactoring.md) inside the skill bundle, or repoint the 'Full Documentation' links to files that actually exist alongside SKILL.md — currently all four references dangle.

Add useStore to the import statement in 'Key React Hooks' (or note it comes from 'stackpack-state/react') so the hook examples are copy-paste complete.

Replace the version-specific model ID 'claude-sonnet-4-6' in the actor example with a placeholder or a pointer to current model IDs so the skill does not go stale.

DimensionReasoningScore

Conciseness

Quotes: 'Schema is the single source of truth...', 'No other dependencies. Zod is bundled...', the 5 Primitives table, and dense code blocks throughout. The body is lean and assumes Claude's competence — no React or state-management basics are explained, and every section teaches the library's own model — but the hardcoded 'model: 'claude-sonnet-4-6'' is version-sensitive information that will go stale, a minor instance of tokens that could be trimmed (anchor 4 rather than 5's 'every token earns its place').

4 / 5

Actionability

Quotes: 'npm install stackpack-state', the full defineStore template, 'const { update } = useStore<TodosState>('todos')', 'const result = await store.optimistic({...})'. Guidance is real, executable TypeScript (not pseudocode) covering the common cases — store definition, reads, writes, presence, gates, undo, optimistic rollback, actors — matching anchor 5's coverage; however it lands at anchor 4 ('minor gaps') because 'useStore' is used in the hooks section but is missing from the import statement at the top, so that block is not fully copy-paste ready.

4 / 5

Workflow Clarity

The body flows in a clear sequence — Quick Start (install/imports) → conceptual model ('Every state decision maps to one of these') → store template → hooks → undo/optimistic → actors → pitfalls — with error-recovery patterns ('if (!result.success) showToast(...)', '{ skipUndo: true }' for gate-controlling mutations) and a gotchas checklist. It sits at anchor 4 rather than 5 because there is no explicit step-by-step workflow for the skill's own declared use case (migration from useState/Redux/Zustand/Jotai/XState), which is deferred entirely to skill/refactoring.md, and no validation checkpoints — though none are strictly required since no destructive or batch operations are instructed.

4 / 5

Progressive Disclosure

Quotes: 'read skill/skill.md — Pattern catalog, decision trees, 10+ store patterns', 'skill/api-reference.md — Every hook, component, and type signature', 'skill/examples.md', 'skill/refactoring.md'. The body itself is a well-organized, well-signaled overview with one-level-deep references that would match anchor 5's shape, but scored against the actual bundle: none of these referenced files exist in the bundle (no skill/, references/, scripts/, or assets/ directories), so the disclosure chain is broken and the pointers are unverifiable — a real organizational gap that drops it to anchor 3 ('could be better organized; references present but...').

3 / 5

Total

15

/

20

Passed

Description

91%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.

A strong description: it states the domain clearly, provides an explicit 'Use when:' clause with concrete, natural trigger terms covering all five common migration sources, and points to deeper documentation. The main weaknesses are a 'what' that stays at domain level without naming distinctive capabilities, and one broad trigger ('manage state or create stores') that could overlap with generic state-management skills.

DimensionReasoningScore

Specificity

Quotes: 'Agent-first React state management', 'user asks to manage state or create stores', 'user migrates from useState/Redux/Zustand/Jotai/XState'. It names the domain and several concrete actions (create stores, migrate from five named libraries), matching anchor 4's 'several specific actions; minor gaps' — it never states the library's distinctive capabilities (schema-derived stores, undo, optimistic updates), so it falls short of anchor 5's comprehensive coverage, while clearly exceeding anchor 3's '1-2 concrete actions'.

4 / 5

Completeness

Quotes: 'Agent-first React state management. Use when: project has stackpack-state as dependency, user asks to manage state or create stores...'. Both questions are answered explicitly: a clear 'what' (agent-first React state management) and a literal 'Use when:' clause with four concrete trigger conditions plus pointers to deeper docs — matching anchor 5 ('clearly and explicitly answers both what AND when with concrete trigger phrases'); anchor 4's weakness ('when' could be more explicit) does not apply.

5 / 5

Trigger Term Quality

Quotes: 'user asks to manage state or create stores', 'user mentions Together/Separate/When/Gate/Presence patterns', 'user migrates from useState/Redux/Zustand/Jotai/XState'. Coverage is comprehensive for the domain: natural generic phrases ('manage state', 'create stores'), every major competing library a user would name, the package name, and the library's own pattern names. This matches anchor 5 ('comprehensive coverage of natural terms including synonyms') rather than anchor 4, which is defined by missing natural terms.

5 / 5

Distinctiveness Conflict Risk

Quotes: 'project has stackpack-state as dependency', 'user mentions Together/Separate/When/Gate/Presence patterns', 'user asks to manage state or create stores'. The package- and pattern-specific triggers create a clear niche with minimal conflict risk, but the standalone trigger 'user asks to manage state or create stores' is broad enough to fire in projects using other state libraries — a minor overlap with closely related skills, matching anchor 4 rather than anchor 5's 'minimal conflict risk'.

4 / 5

Total

18

/

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

stackpackdev/state

Path

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.