CtrlK
BlogDocsLog inGet started
Tessl Logo

you-might-not-need-a-memo

Analyze and fix useMemo/React.memo anti-patterns in your code

58

Quality

67%

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-a-memo/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

87%

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

The content is concise, well-structured, and actionable with concrete anti-pattern/fix pairs and inline examples, but the fix workflow lacks an explicit verification step after modifying code, which caps workflow clarity at 2.

Suggestions

Add a verification checkpoint after applying fixes, e.g. 'After fixing, confirm the slow component no longer re-renders (check render count / profiler) and that tests still pass.'

Make the fix=true path explicit about scope of changes — e.g. only edit files within the analyzed scope and summarize diffs before applying — to strengthen the destructive-operation feedback loop.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: it does not explain React or what useMemo is, and each anti-pattern entry pairs a detection cue with a concrete fix, with every token earning its place (anchor 3).

3 / 3

Actionability

Although instruction-only with no runnable code, the guidance is highly actionable — seven specific anti-patterns each with a concrete fix (e.g. 'move that state into a smaller child', 'pass the expensive subtree as children') plus inline examples like 'const fullName = first + " " + last', which the rubric rewards for instruction-only skills.

3 / 3

Workflow Clarity

The three steps (read reference, analyze scope, apply/propose fixes) are sequenced, but applying code fixes (fix=true) is a modifying operation with no validation or verification checkpoint, so per the rubric workflow clarity is capped at 2.

2 / 3

Progressive Disclosure

The skill is under 50 lines, single-purpose, and well-organized into clear sections, with one clearly-signaled one-level-deep external reference (the overreacted.io URL) and no nested bundle references, matching anchor 3 for a simple skill.

3 / 3

Total

11

/

12

Passed

Description

47%

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 distinctive and names a clear niche, but it lacks an explicit 'Use when' trigger, omits common natural term variations, and uses second-person voice ('your code') which costs a specificity point under the rubric.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks about useMemo/React.memo, memoization, unnecessary re-renders, or React performance.'

Rewrite in third person and drop the second-person 'your code' (e.g. 'Analyzes and fixes useMemo/React.memo anti-patterns in React code') to recover the specificity penalty.

Broaden natural keyword coverage to include 'memoization', 're-renders', and 'performance' alongside 'useMemo' and 'React.memo'.

DimensionReasoningScore

Specificity

It names the domain ('useMemo/React.memo anti-patterns') and two actions ('Analyze and fix'), which alone maps to anchor 2, but the second-person phrasing 'in your code' triggers the mandated specificity penalty of -1, bringing it to 1.

1 / 3

Completeness

It answers WHAT ('Analyze and fix... anti-patterns') but has no 'Use when...' clause or equivalent trigger guidance, so per the rubric completeness is capped at 2.

2 / 3

Trigger Term Quality

It includes relevant terms a React user might say ('useMemo', 'React.memo'), but misses common natural variations like 'memoization', 'memo', 're-render', or 'performance', matching anchor 2.

2 / 3

Distinctiveness Conflict Risk

The narrow niche of React memoization anti-patterns is clearly distinguishable and unlikely to trigger for unrelated skills, matching anchor 3.

3 / 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.