CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

react-useeffect-review

Checklist React para decidir quando não usar useEffect em estado derivado, fetch, sincronização e reset de props. Trigger em: "useEffect", "estado derivado", "race condition no fetch", "sincronizar estado", "resetar estado quando prop muda", "effect chain", "notificar parent via effect", "useSyncExternalStore", "por que renderizou duas vezes".

Quality

82%

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

63%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 has a strong skeleton: a high-density quick-reference table, a concrete decision tree, and explicit completion criteria that double as validation. However, the detailed payload (the 9 antipatterns and alternative examples) lives in two referenced files that are absent from the bundle, and roughly 15% of the body is duplicated meta content (handoff/pipeline sections, repeated external-system criterion). Fixing the dangling references would lift both actionability and progressive disclosure.

Suggestions

Ship the referenced files: add anti-patterns.md and alternatives.md to the bundle (or inline condensed bad/good examples for the top antipatterns), since the 'Guia Detalhado' section currently links to files that do not exist and the Evidencia de Conclusao depends on the 9-antipattern list they contain.

Deduplicate the meta sections: merge 'Handoff' and 'Integracao com Pipeline', which both state that Frontend Engineer (skill 04) consults the checklist and Reviewer (skill 11) uses it as a quality criterion — one section suffices.

State the 'sistema externo' criterion once in the intro and trim its restatements in 'Quando Nao Usar' and 'Quando DE FATO precisa de Effect', and cut the 'Quando Usar' bullets that repeat the two-moments paragraph verbatim.

DimensionReasoningScore

Conciseness

Core guidance is dense and high-signal (Quick Reference table, decision tree), but there is notable duplication: "Effects sao uma valvula de escape... servem pra sincronizar com um sistema externo" is restated in "Quando Nao Usar" and "Quando DE FATO precisa de Effect"; the two-moments intro ("Esta skill entra em dois momentos: (1)... (2)...") repeats verbatim as the first two "Quando Usar" bullets; and "Handoff — Frontend Engineer (skill 04) — recebe o código já revisado" duplicates "Integracao com Pipeline — Frontend Engineer (04): consultar antes de escrever useEffect novo". This is more than minor trimming (anchor 4) but far from padded tutorial prose (anchor 2).

3 / 5

Actionability

Concrete, situation-specific direction throughout: the Quick Reference table maps each case to an exact alternative ("useState + useEffect" → "Calcular durante o render", "useEffect com setState" → "key prop", fetch → "useEffect com cleanup OU lib de fetch"), and the decision tree yields a definite verdict per branch. Not a 5 because the body contains no before/after code — the examples are deferred to anti-patterns.md — so it tells you which API to use but never shows the pattern; per the code-vs-instruction note this stays at mostly-executable rather than fully executable.

4 / 5

Workflow Clarity

The flow is coherent and has explicit validation: two entry points ("ao escrever um useEffect novo, como checklist antes de commitar; ao revisar codigo/PR"), a decision procedure (the Arvore de Decisao), and a completion checkpoint ("Evidencia de Conclusao — código revisado não tem useEffect cobrindo um dos 9 antipadrões... toda sincronização com sistema externo restante está justificada"). Not a 5 because the final verification depends on the 9-antipattern list in anti-patterns.md, which is not present in the bundle, so the checklist cannot be fully executed from the skill as provided.

4 / 5

Progressive Disclosure

The design is right — a lean overview with well-signaled, one-level-deep, accurately annotated references ("[anti-patterns.md](./anti-patterns.md) — 9 antipatterns com exemplo ruim/bom lado a lado", "[alternatives.md](./alternatives.md) — as alternativas em detalhe") — but neither referenced file exists in the bundle (no references/ directory, only SKILL.md present), so both links dangle and the bulk of the detailed guidance is unreachable. Missing core referenced files is more than a minor organization gap (anchor 4); the body structure itself is far better than anchor 3's 'not clearly signaled' case, but navigation fails at runtime.

3 / 5

Total

14

/

20

Passed

Description

95%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 excellent: a concrete statement of what the skill does followed by an explicit, natural trigger list that answers 'when' unambiguously. The niche is sharply defined and conflict risk is minimal. The only room for improvement is adding the review/suggest-alternative actions as explicit capabilities.

DimensionReasoningScore

Specificity

Names the domain and purpose concretely — "Checklist React para decidir quando não usar useEffect em estado derivado, fetch, sincronização e reset de props" — enumerating four specific coverage areas. Not a 5 because it describes one action (deciding/reviewing) applied to topic areas rather than listing multiple distinct concrete actions; the PR-review and suggest-alternative actions from the body are absent. Not a 3 because it goes well beyond 1-2 generic actions with its enumerated scenario coverage.

4 / 5

Completeness

Explicitly answers both parts: the what is "Checklist React para decidir quando não usar useEffect em estado derivado, fetch, sincronização e reset de props" and the when is an explicit "Trigger em:" list of nine concrete trigger phrases. This matches the anchor 5 example structure (clear what + concrete trigger phrases) exactly.

5 / 5

Trigger Term Quality

Nine natural trigger phrases covering the API name ("useEffect"), symptoms ("race condition no fetch", "por que renderizou duas vezes"), patterns ("effect chain", "notificar parent via effect"), and a related API ("useSyncExternalStore"). This is comprehensive for the skill's scope — these are exactly the phrases a developer would say when needing this skill — so it does not fall to 4.

5 / 5

Distinctiveness Conflict Risk

Clear niche (React useEffect avoidance) with distinctive triggers like "effect chain", "notificar parent via effect", and "por que renderizou duas vezes" that virtually no other skill would claim. Not a 4: even the broadest trigger ("useSyncExternalStore") is directly relevant to this skill's alternatives, keeping conflict risk minimal.

5 / 5

Total

19

/

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

relative_links

Relative link issues: 2 missing

Warning

Total

15

/

16

Passed

Repository

felvieira/claude-skills-fv

Path

skills/79-react-useeffect-review/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.