CtrlK
BlogDocsLog inGet started
Tessl Logo

you-might-not-need-state

Analyze and fix unnecessary useState, derived state, and server-state-in-local-state anti-patterns

60

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/you-might-not-need-state/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%

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

The body is concise and well-organized with concrete detection patterns, but the workflow lacks validation checkpoints for batch fixes and the execution steps are abstract rather than fully actionable, holding actionability and workflow clarity at 2.

Suggestions

Add a verification step to the workflow after applying fixes, e.g. run the type checker/linter or test suite and only report success when it passes.

Make the analysis step concrete by specifying how to scan the scope (e.g. grep for "useState"/"useEffect" patterns or inspect the diff) rather than just "analyze the specified scope".

Include a brief before/after code example for at least one fix pattern so the apply step is copy-paste actionable.

DimensionReasoningScore

Conciseness

The body is lean and project-specific (React Query/Zustand conventions) without explaining basic React concepts, and every section earns its place; it is not level 2 because there is no unnecessary padding or generic explanation.

3 / 3

Actionability

Concrete detection patterns with real code ("useState(prop) + useEffect(() => setState(prop))", "items.find(i => i.id === selectedId)") are present, but the execution steps ("Analyze the specified scope", "apply the fixes") are abstract with no tooling or before/after fix examples; it is not level 3 because guidance is not fully executable/copy-paste ready, and not level 1 because concrete code patterns do exist.

2 / 3

Workflow Clarity

A clear 3-step sequence is listed (read references, analyze, apply or propose), but there is no validation/verification checkpoint for the batch code-modifying fix step, which per the guidelines caps workflow clarity at 2; it is above 1 because the sequence is explicit.

2 / 3

Progressive Disclosure

The skill is under 50 lines with well-organized sections (Context, References, Anti-patterns, Steps) and only one-level-deep external URL references, matching the simple-skill allowance for a 3; it is not level 2 because content is appropriately contained and clearly signaled.

3 / 3

Total

10

/

12

Passed

Description

67%

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 is specific and clearly occupies a distinct niche, but it omits an explicit "Use when..." trigger clause and has only partial coverage of natural trigger terms, capping completeness and trigger-term quality at 2.

Suggestions

Add a "Use when..." clause naming natural user triggers, e.g. "Use when reviewing React components for unnecessary useState, derived state, or props/server data mirrored into state".

Broaden trigger terms to common variations users actually say, such as "useEffect state sync", "props to state", or "redundant React state".

Rephrase "server-state-in-local-state" into more natural phrasing a user would utter, rather than a hyphenated compound.

DimensionReasoningScore

Specificity

"Analyze and fix" are concrete verbs applied to specific targets ("unnecessary useState, derived state, and server-state-in-local-state anti-patterns"), matching the multiple-concrete-actions anchor; it is not the level below because it goes beyond naming only a domain.

3 / 3

Completeness

It clearly states what ("Analyze and fix... anti-patterns") but has no "Use when..." clause or equivalent explicit trigger guidance, which per the guidelines caps completeness at 2; it is above 1 because the "what" is explicit.

2 / 3

Trigger Term Quality

"useState" and "derived state" are natural terms a React developer would say, but "server-state-in-local-state" is hyphenated jargon and common variations (useEffect, props-to-state, React state) are absent, so it stops short of full coverage.

2 / 3

Distinctiveness Conflict Risk

The React state-anti-pattern niche is narrow and distinct, making it unlikely to trigger for unrelated skills; it is not level 2 because it would not meaningfully overlap with similar general skills.

3 / 3

Total

10

/

12

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
simstudioai/sim
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.