CtrlK
BlogDocsLog inGet started
Tessl Logo

you-might-not-need-an-effect

Analyze and fix useEffect anti-patterns in your code

55

Quality

63%

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 ./.agents/skills/you-might-not-need-an-effect/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%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 an exemplar of token efficiency and appropriate scale — lean, well-sectioned, and free of concepts Claude already knows. Its weaknesses are the thin operational core (no pattern-to-fix examples or detection guidance beyond the single query-backed-forms recipe) and the absence of any validation step before or after applying fixes across potentially large scopes.

Suggestions

Add a validation step after applying fixes, e.g., run the project's typecheck/tests or re-read the changed components to confirm behavior is preserved — required since the scope can be an entire codebase.

Include one short before/after code example of a useEffect anti-pattern and its corrected form (beyond the query-backed-forms recipe) to make the analysis step concrete rather than delegated entirely to the external URL.

List the specific anti-pattern categories to scan for (deriving state, reacting to prop changes, event logic in effects, fetch-on-mount without cleanup) so the analysis step is self-contained.

DimensionReasoningScore

Conciseness

The body is ~18 lines with zero padding: no explanation of what useEffect or React is, a tight argument spec, and one dense paragraph of expert-level guidance ("mount a keyed form child once data exists and initialize its state lazily from props"). Every token earns its place, matching the 'lean and efficient; assumes Claude's competence' anchor.

5 / 5

Actionability

There is some concrete guidance (specific react.dev URL, argument defaults with examples, and the keyed-form recipe), but the core workflow "Analyze the specified scope for useEffect anti-patterns" gives no detection method, and no code examples show a pattern and its fix — matching 'some concrete guidance but incomplete; missing key details'. It is above anchor 2 because the steps and the one recipe are executable in outline, but below anchor 4, which expects mostly concrete code/commands with only minor gaps.

3 / 5

Workflow Clarity

The three steps are clearly sequenced with an explicit fix=true/false branch, but there is no validation or verification step after applying fixes. Since the scope can be a "whole codebase" (a batch operation), the judging guidelines cap workflow clarity at 3, which also matches the 'steps listed but validation gaps' anchor.

3 / 5

Progressive Disclosure

The skill is under 50 lines, no bundle files exist, and the only external reference (the react.dev URL) is one level deep and clearly signaled in step 1. Per the guidelines, a skill this size with well-organized sections scores 5: it has clear section headers and appropriately keeps everything inline at this scale.

5 / 5

Total

16

/

20

Passed

Description

53%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 is concise and names a concrete, distinctive capability, but it omits any 'use when' guidance and lacks synonym coverage (React, hooks, re-renders), leaving a user or Claude without explicit trigger conditions. It sits at the midpoint of the scale: clear what, missing when.

Suggestions

Add an explicit trigger clause, e.g., "Use when reviewing React code that uses useEffect for data fetching, derived state, syncing props to state, or handling re-render loops".

Broaden natural trigger terms to include synonyms users actually say: "React", "hooks", "effects", "unnecessary re-renders", "effect dependencies".

Enumerate 2-3 of the concrete anti-patterns addressed (e.g., deriving state with effects, fetching without cleanup, event handler logic in effects) to raise specificity.

DimensionReasoningScore

Specificity

"Analyze and fix useEffect anti-patterns" names the domain plus two concrete actions, matching the 'names domain and 1-2 concrete actions, but not comprehensive' anchor. It does not enumerate the specific anti-patterns handled, so it falls short of anchor 4's 'several specific actions with minor gaps'.

3 / 5

Completeness

The description has a clear 'what' ("Analyze and fix useEffect anti-patterns") but no 'when to use it' clause whatsoever, which per the judging guidelines caps completeness at 3. It is above anchor 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

"useEffect" and "anti-patterns" are natural terms a user would plausibly say, but common variations like "React", "hooks", "re-renders", or "effects" are absent, matching the 'some relevant keywords but missing common variations or synonyms' anchor rather than anchor 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

"useEffect anti-patterns" carves out a distinct React-specific niche that would rarely trigger the wrong skill, matching 'mostly distinct; minor overlap risk with closely related skills' (e.g., generic code-review skills). It stops short of anchor 5 because there is no trigger phrasing reinforcing the niche.

4 / 5

Total

13

/

20

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.

Validation — 15 / 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.