CtrlK
BlogDocsLog inGet started
Tessl Logo

you-might-not-need-an-effect

Analyze and fix useEffect anti-patterns in your code

49

Quality

53%

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-an-effect/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%

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

The body is appropriately lean and well-organized for a simple skill, but its core weakness is actionability: it defers the actual guidance to an external URL and gives no concrete anti-patterns, detection steps, or fix patterns. A missing verification step after applying fixes also limits workflow clarity.

Suggestions

Replace reliance on the external URL with a concrete, inline list of common useEffect anti-patterns to detect (e.g., deriving state from props, syncing to external systems, fetching without cleanup) so guidance is self-contained and actionable.

Add a concrete example of a before/after refactor for at least one anti-pattern, or specific detection heuristics, rather than the abstract instruction to "analyze".

Insert a verification step after applying fixes, such as running the test suite or re-checking that the effect's dependencies are correct, to close the feedback loop for a code-modifying workflow.

DimensionReasoningScore

Conciseness

The ~12-line body is lean and assumes Claude's competence, padding nothing with concepts Claude already knows (no explanation of what useEffect is); every token earns its place.

3 / 3

Actionability

The steps are abstract direction ("analyze the specified scope", "apply the fixes") with no concrete code patterns, named anti-patterns, or detection commands; the only concrete artifact is an external URL to read, so it describes rather than instructs.

1 / 3

Workflow Clarity

Steps are numbered and sequenced with a clear fix=true/false branch, but applying code fixes has no validation or verification checkpoint, which per the rubric caps workflow clarity at 2.

2 / 3

Progressive Disclosure

For a short, self-contained skill under 50 lines with well-organized Arguments and Steps sections and a single clearly signaled one-level external reference, the structure is clean and easy to navigate.

3 / 3

Total

9

/

12

Passed

Description

50%

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 domain with two actions, but it lacks an explicit usage trigger and broader natural keyword coverage. It is functional but generic enough to risk overlap with similar review/lint skills.

Suggestions

Add an explicit "Use when..." clause naming concrete triggers (e.g., "Use when reviewing React components for useEffect issues, redundant effects, or missing cleanup").

Expand trigger terms to natural variations users say, such as "effects", "React hooks", "dependency array", and "effect cleanup".

Broaden the action specificity beyond "analyze and fix" to concrete actions like "remove unnecessary effects, move logic to event handlers, derive state during render".

DimensionReasoningScore

Specificity

"Analyze and fix useEffect anti-patterns" names a domain and two actions (analyze, fix), but the action set is narrow and not comprehensive (e.g., no mention of removing redundant effects or refactoring derived state).

2 / 3

Completeness

It clearly states what the skill does, but provides no explicit "Use when..." trigger guidance, which per the rubric caps completeness at 2.

2 / 3

Trigger Term Quality

It includes the real keyword "useEffect" and "anti-patterns", but misses common natural variations users might say like "effects", "React hooks", "dependency array", or "effect cleanup".

2 / 3

Distinctiveness Conflict Risk

The useEffect niche is fairly specific, but without an explicit trigger clause it could still overlap with general React lint or code-review skills, so it does not reach a clear-distinct-trigger level.

2 / 3

Total

8

/

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.