CtrlK
BlogDocsLog inGet started
Tessl Logo

has-selector

Use when reviewing stylesheets or components that use JavaScript to toggle classes on parent elements based on child state, form input values, or content presence — :has() may replace the JavaScript entirely.

65

Quality

78%

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 ./skills/has-selector/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 a well-structured, appropriately progressive overview that delegates detail to a real reference file. It loses points for motivational padding and an inline time-sensitive date, the absence of any code example in the body, and a missing verification checkpoint that the reference actually provides.

Suggestions

Tighten the intro by dropping marketing phrasing ('where it belongs', 'CSS has needed for decades') and move the 'late 2023' baseline date into a dedicated Browser Support / fallback note or the reference, so time-sensitive info is not inline.

Add one small executable :has() example (e.g. .card:has(img) { display: grid; }) to the Fix section so the body is actionable on its own, not just directional.

Surface a brief verification step in the body (confirm the :has() rule applies when the descendant is present and not when removed, check @supports fallback) rather than leaving it only in references/rule.md.

DimensionReasoningScore

Conciseness

The body is mostly efficient, but the intro carries motivational padding (":has() moves that relationship back into CSS where it belongs", "the parent selector CSS has needed for decades") and an inline time-sensitive "Baseline support since late 2023" date that is not placed in a deprecated/old-patterns section.

2 / 3

Actionability

The Check section gives a concrete detection criterion, but the Fix section only directs ("Show the selector that targets the parent element...") with no executable :has() example in the body; copy-paste-ready code lives only in references/rule.md.

2 / 3

Workflow Clarity

Check → Fix → Explain → Code Review gives a clear phase sequence, but the body has no validation/verification checkpoint even though the reference file contains a Verification section that is not surfaced here.

2 / 3

Progressive Disclosure

The SKILL.md body is a concise overview that clearly signals a one-level-deep pointer to references/rule.md (verified to exist) for full implementation details, with content appropriately split between the two files.

3 / 3

Total

9

/

12

Passed

Description

100%

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 description: it states both what the skill does and when to use it, with concrete scenarios and natural trigger terms scoped to a distinct CSS-:has() niche. No changes needed.

DimensionReasoningScore

Specificity

The description names a concrete domain and multiple specific scenarios ("child state, form input values, or content presence") plus the explicit action of replacing JavaScript class-toggling with :has(), matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

It opens with an explicit "Use when reviewing..." trigger (the when) and closes with ":has() may replace the JavaScript entirely" (the what), clearly answering both.

3 / 3

Trigger Term Quality

It uses natural frontend terms a user would actually say — "stylesheets", "JavaScript", "toggle classes", "parent elements", "form input values", and ":has()" — giving good coverage rather than jargon.

3 / 3

Distinctiveness Conflict Risk

The trigger is narrowly scoped to JS class-toggling-on-parent patterns replaceable by CSS :has(), a distinct niche unlikely to fire for unrelated skills.

3 / 3

Total

12

/

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
thedaviddias/Front-End-Checklist
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.