CtrlK
BlogDocsLog inGet started
Tessl Logo

react-ban-use-effect

Detect, replace, and mechanically restrict direct React `useEffect` calls. Use when writing, refactoring, reviewing, or migrating React code that fetches, derives state, relays events, resets state, or synchronizes through effects. Preserve legitimate external-system synchronization inside reviewed domain hooks; do not use for unrelated React work or non-React effect systems.

70

Quality

85%

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

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 well-structured, instruction-only body with lean prose, a clear sequenced workflow including validation, and clean one-level-deep progressive disclosure to real bundle files. Slight headroom remains in spelling out a tighter feedback loop and inlining one or two replacement code patterns.

Suggestions

Make the validation feedback loop explicit in the Workflow (e.g., 'If lint/tests fail, fix the offending effect and re-run until clean') to reach the workflow_clarity 5-anchor.

Inline one or two short copy-paste replacement code snippets (e.g., the render-time derivation pattern) in the body so core actionability does not require opening the reference.

Trim the restated 'escape hatch' framing that overlaps between the opening line and the Legitimate Effects / Decision Order sections to push conciseness toward the lean 5-anchor.

DimensionReasoningScore

Conciseness

The body is lean, tactical, and assumes Claude knows React, with no basic-concept padding; minor restatement of the escape-hatch idea across the opening line and the Legitimate Effects/Decision Order sections keeps it just short of the 'every token earns its place' 5-anchor.

4 / 5

Actionability

Concrete guidance is present — a ranked 7-item decision order, explicit legitimate-effect criteria, and a specific lint enforcement command ('reject both named useEffect imports and React.useEffect(...)') — but the copy-paste-ready replacement code is deferred to references/replacements.md rather than inline, matching the 4-anchor's 'minor gaps'.

4 / 5

Workflow Clarity

A clear 5-step workflow ends with an explicit validation step ('Run lint, type, and test gates plus the smallest real UI or hook check') and review-time feedback, but lacks the spelled-out validate->fix->retry loop detail of the 5-anchor.

4 / 5

Progressive Disclosure

The body is a concise overview with well-signaled, verified one-level-deep references (replacements.md, alternatives.md gated by need, upstream.md) and content appropriately split into the bundle, directly matching the 5-anchor example.

5 / 5

Total

17

/

20

Passed

Description

92%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, specific description that clearly answers both what the skill does and when to use it, with concrete trigger verbs and an explicit negative boundary. The only mild gap is slightly technical, narrow trigger vocabulary that could add casual synonyms.

DimensionReasoningScore

Specificity

Three concrete, distinct actions — 'Detect, replace, and mechanically restrict direct React useEffect calls' — give comprehensive coverage of the skill's behavior, matching the 5-anchor's 'multiple specific concrete actions' without real gaps.

5 / 5

Completeness

It explicitly states what ('Detect, replace, and mechanically restrict direct React useEffect calls') and when (concrete 'Use when...' trigger phrases), directly mirroring the rubric's 5-anchor example.

5 / 5

Trigger Term Quality

'Use when writing, refactoring, reviewing, or migrating React code that fetches, derives state, relays events, resets state, or synchronizes through effects' gives good natural-term coverage, but it is slightly technical and misses casual synonyms (e.g. 'side effects'), matching the 4-anchor over the 5-anchor.

4 / 5

Distinctiveness Conflict Risk

The skill targets a narrow niche (direct useEffect calls in React) with an explicit exclusion clause ('do not use for unrelated React work or non-React effect systems'), yielding minimal conflict risk per the 5-anchor.

5 / 5

Total

19

/

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
uinaf/agent-skills
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.