CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

css-engineering

Guide writing or changing CSS so the change fits the project: find its browser targets, build pipeline, stylesheet ownership, naming convention and design tokens first, then make the smallest maintainable change, with the right layout mechanism, responsive and right-to-left behavior, WCAG 2.2 AA accessibility, a fallback for any feature a target lacks, and a check of the result. Use whenever you write or edit stylesheets, style blocks, CSS Modules, Tailwind classes or CSS-in-JS, including layout fixes, theming, dark mode, responsive work and focus styles, even when the user doesn't say CSS. It never restructures a stylesheet, adds a methodology or framework, or renames existing classes unless asked. Not for reviewing CSS already written (the knackpack:css-code-reviewer agent, started only when the user asks for a review), the look and flow of a running app (the UI reviewer), React's own semantics (the React reviewer), or custom elements' behavior (the web-components-engineering skill).

Quality

89%

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

82%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 lean, expert-level operational guide with almost no padding and unusually concrete, hard-to-recall CSS specifics. Its main gaps are the absence of an explicit fix-and-recheck feedback loop in the verify step and reference-shaped content (traps, accessibility checklist) inlined in a single file.

Suggestions

Add an explicit error-recovery loop to §6 Verify, e.g. 'If lint or a browser check fails: fix only what you introduced, then re-run the check before reporting.'

Move the time-sensitive version specifics (Vite 8's default CSS target, Tailwind v4's Safari 16.4 / Chrome 111 / Firefox 128 floors) into a dated reference file so the main skill doesn't silently age.

Split the §3 trap list and §4 accessibility checklist into one-level-deep reference files (e.g. references/traps.md, references/accessibility.md) linked from the overview to slim SKILL.md.

DimensionReasoningScore

Conciseness

The body is dense, rule-first and assumes competence — it never explains what CSS, flexbox or grid are, and packs hard-to-recall specifics ("an `@property` with a relative-unit `initial-value`... is ignored", "100vh is the large viewport and hides content behind the toolbar"). It misses a 5 because time-sensitive version data ("Vite 8's default CSS target", "Tailwind v4 needs Safari 16.4, Chrome 111 and Firefox 128") sits in the main flow rather than a dated/maintained section, and a few clauses could still be trimmed.

4 / 5

Actionability

For an instruction-only skill the guidance is fully executable: concrete properties and values throughout ("`min-width: 0`", "`minmax(0, 1fr)`", "`container-type: inline-size` (not `size`...)"), specific verification parameters ("at about 1440, 768, 375 and 320 px wide, at 200% zoom"), named data sources ("MDN's compatibility tables, webstatus.dev, web.dev's Baseline pages") and concrete commands ("Lint with the project's own Stylelint or Biome from `node_modules`... without fix or write options").

5 / 5

Workflow Clarity

A clear numbered sequence (Learn the project's CSS → Write the change → Avoid the traps → Accessibility → Adopting newer features → Verify) with a concrete verification checkpoint and a "Say what you didn't verify" rule. It falls short of a 5 because there is no explicit error-recovery loop after lint or browser checks (e.g., fix and re-check before proceeding); the closest is the scope instruction "fix only what you introduced".

4 / 5

Progressive Disclosure

No bundle files exist, and the single SKILL.md is well-sectioned with clear headers and a consistent structure. It scores 4 rather than 5 because the body exceeds the under-50-lines simple-skill case and sections like the trap list (§3) and the accessibility checklist (§4) are self-contained reference material that could be split into one-level-deep reference files to slim the overview.

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

An exemplary description: concrete capability list, explicit 'Use whenever...' triggers with natural phrasing, and explicit boundaries against adjacent reviewers and skills. The only gap is a handful of missing natural trigger terms such as .css file extensions and Sass/SCSS/Less.

DimensionReasoningScore

Specificity

It enumerates many concrete capabilities: "find its browser targets, build pipeline, stylesheet ownership, naming convention and design tokens first, then make the smallest maintainable change, with the right layout mechanism, responsive and right-to-left behavior, WCAG 2.2 AA accessibility, a fallback for any feature a target lacks, and a check of the result" — comprehensive coverage of discovery, change, accessibility, fallbacks and verification, beyond even the score-4 anchor's 'minor gaps'.

5 / 5

Completeness

Both halves are explicit: a clear 'what' ("Guide writing or changing CSS so the change fits the project... a check of the result") and an explicit 'when' with concrete trigger phrases ("Use whenever you write or edit stylesheets, style blocks, CSS Modules, Tailwind classes or CSS-in-JS..."), matching the score-5 anchor exactly; nothing is left merely implied.

5 / 5

Trigger Term Quality

Strong natural coverage: "write or edit stylesheets, style blocks, CSS Modules, Tailwind classes or CSS-in-JS, including layout fixes, theming, dark mode, responsive work and focus styles, even when the user doesn't say CSS" — these are phrases users actually say. A few natural terms are missing, though: no file extensions (".css") and no mention of Sass/SCSS/Less, which users commonly name when requesting style edits.

4 / 5

Distinctiveness Conflict Risk

It claims a clear niche (writing/changing CSS) and explicitly fences off every neighboring skill by name: "Not for reviewing CSS already written (the knackpack:css-code-reviewer agent...), the look and flow of a running app (the UI reviewer), React's own semantics (the React reviewer), or custom elements' behavior (the web-components-engineering skill)" — minimal conflict risk, better disambiguated than the score-5 anchor example.

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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

bezmoradi/knackpack

Path

skills/css-engineering/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.