CtrlK
BlogDocsLog inGet started
Tessl Logo

react-doctor

Use when finishing a feature, fixing a bug, before committing React code, or when the user wants to improve code quality or clean up a codebase. Checks for score regression. Covers lint, dead code, accessibility, bundle size, architecture diagnostics.

66

Quality

80%

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/react-doctor/SKILL.md

The canonical home for this skill is react-doctor in millionco/react-doctor

SKILL.md
Quality
Evals
Security

Quality

Content

93%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 a model of a lean, single-purpose skill: two unambiguous workflows, copy-paste executable commands, and a complete flags table with zero padding. The only gap is that the fix-regressions loop does not explicitly say to re-run the scan to confirm the score recovered.

DimensionReasoningScore

Conciseness

The ~30-line body contains no concept explanations and no padding: a one-line summary, two scenario sections, and a command table, each line instructive. This matches anchor 5 ('lean and efficient; every token earns its place') and is clearly above anchor 4, which requires trimmable over-explanation.

5 / 5

Actionability

Copy-paste ready commands ("npx -y react-doctor@latest . --verbose --diff") are given for both workflows, and the flags table ("--verbose: Show affected files and line numbers per rule", "--diff: Only scan changed files vs base branch") explains every option. This matches anchor 5's fully executable, common-case-covering guidance.

5 / 5

Workflow Clarity

Both workflows have clear sequences and a validation checkpoint ("Run ... and check the score did not regress", "If the score dropped, fix the regressions before committing"), but the fix-then-rerun feedback loop is implied rather than explicit. This sits at anchor 4 ('clear sequence with most checkpoints; minor validation gaps'), just below anchor 5's explicit feedback loops.

4 / 5

Progressive Disclosure

The skill is under 50 lines, single-purpose, needs no external reference files (none exist in the bundle), and is organized into clearly headed sections. Per the rubric's simple-skill guideline this matches the top anchor; it is not anchor 4 because there is no content that should have been split out.

5 / 5

Total

19

/

20

Passed

Description

66%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 has an excellent, explicit 'Use when...' trigger clause with natural phrasing, and it names its diagnostic coverage areas. Its weaknesses are a vague 'what' (it never says it scans a codebase and outputs a 0-100 health score) and trigger terms that overlap broadly with general code-quality skills.

Suggestions

State the concrete capability up front, e.g., 'Scans React codebases for security, performance, correctness, and architecture issues and outputs a 0-100 health score', so the 'what' is as strong as the 'when'.

Sharpen the action verbs: replace 'Checks for score regression' and 'Covers lint, dead code...' with specific actions like 'Detects dead code, accessibility violations, and bundle-size regressions'.

Reduce conflict risk by tying triggers more tightly to the React/diagnostics niche (e.g., 'before committing React code' or 'when React lint, accessibility, or bundle-size issues are suspected') rather than generic phrases like 'fixing a bug'.

DimensionReasoningScore

Specificity

"Checks for score regression" and "Covers lint, dead code, accessibility, bundle size, architecture diagnostics" name domains of coverage, but the verbs are generic ("checks", "covers") and it never states the concrete action of scanning a codebase or producing a health score. This matches anchor 3 (domain named, actions not comprehensive) better than anchor 4, which expects several specific actions.

3 / 5

Completeness

The 'when' is explicit and specific ("Use when finishing a feature, fixing a bug, before committing React code..."), and a 'what' is present ("Checks for score regression" plus the check categories). It is above anchor 4's weakly-specified 'when' but below anchor 5, whose 'what' concretely states the capability (e.g., scanning a codebase and outputting a score).

4 / 5

Trigger Term Quality

"finishing a feature, fixing a bug, before committing React code, improve code quality, clean up a codebase" are phrases users would naturally say, giving good coverage. A few natural terms are missing (e.g., "refactor", "lint errors", "code review"), so it falls just short of anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

React scoping helps, but triggers like "fixing a bug", "improve code quality", and "clean up a codebase" would equally fire for generic code-review, lint, or cleanup skills, so overlap risk remains. This matches anchor 3 (somewhat specific but could still overlap with similar skills) rather than anchor 4's 'minor overlap risk with closely related skills'.

3 / 5

Total

14

/

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
MapleTechLabs/maple
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.