CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bem-structure

Expert guidance for writing, refactoring, and structuring CSS using BEM (Block Element Modifier) methodology. Provides proper CSS class naming conventions, component structure, and Optics design system integration for maintainable, scalable stylesheets.

Quality

59%

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/bem-structure/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%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 delivers genuinely concrete BEM syntax guidance through consistent GOOD/BAD examples, but it is significantly redundant — the same rules are restated four to five times across sections — and re-teaches BEM basics Claude already knows. The Optics integration, the skill's differentiating promise, remains vague prose with no actionable workflow, and everything lives in one long file with no progressive disclosure.

Suggestions

Collapse the duplicated rule restatements ("Naming Convention", "Rule Summary", "Miscellaneous Rules") into a single canonical rules section, keeping one GOOD/BAD example pair per rule.

Move the spec-style Block/Element/Modifier reference (character rules, DOM conventions, long example lists) into a references/ file and keep SKILL.md as a concise overview with a pointer to it.

Make the Optics guidance actionable: add an ordered decision step (search Optics for an existing component → override via BEM modifiers if it fits → only then create a new block) with a concrete override example.

DimensionReasoningScore

Conciseness

The ~390-line body restates the same rules repeatedly: the `&`/`__`/`--` conventions appear in "Naming Convention", "Basic Syntax", "Rule Summary", the Block/Element/Modifier sections, and again in "Miscellaneous Rules", and it re-explains standard BEM concepts (what blocks/elements/modifiers are, their allowed characters) that Claude already knows. Not 1 because the GOOD/BAD examples do carry real information; not 3 because the duplication and padded example lists (10 near-identical block names) are pervasive, not isolated.

2 / 5

Actionability

Concrete GOOD/BAD CSS and HTML pairs and explicit syntax rules give actionable naming guidance, but the Optics integration promised in the Overview ("it should be used and/or overridden as necessary instead of creating a new BEM block") is never made concrete — no component inventory, lookup step, or Optics usage example. Not 4 because this headline capability has no executable guidance at all.

3 / 5

Workflow Clarity

The content is organized as rules rather than a sequence, and the one real decision point — check whether an Optics component exists before creating a new BEM block — is buried in Overview prose with no ordered steps or checkpoints. Not 2 because the rules themselves are individually unambiguous about what correct output looks like.

3 / 5

Progressive Disclosure

There are no bundle files at all; the body has decent section structure but inlines ~200 lines of spec-style Block/Element/Modifier reference material (naming character rules, DOM conventions) that clearly belongs in a separate reference file. Not 4 because the skill is far over the size where sections alone suffice, and the duplicated rule restatements signal missing content splitting.

3 / 5

Total

11

/

20

Passed

Description

58%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 communicates a clear, fairly specific capability set around BEM CSS structure and Optics integration, with good distinctiveness. Its main weakness is the missing "Use when..." trigger clause, which both caps completeness and leaves natural trigger phrases out of the description itself.

Suggestions

Add an explicit trigger clause, e.g., "Use when reviewing or refactoring CSS, applying BEM naming, or deciding between BEM blocks and Optics components."

Surface natural user phrases ("fix my CSS", "BEM-ify", "review my styles") in the description rather than only in the body keywords and metadata triggers.

Clarify the Optics relationship so it reads as a concrete capability (e.g., "check for existing Optics components before creating new BEM blocks") rather than a vague integration claim.

DimensionReasoningScore

Specificity

"writing, refactoring, and structuring CSS using BEM" plus "CSS class naming conventions, component structure, and Optics design system integration" lists several specific actions. It falls short of 5 because "Expert guidance" is abstract and the action coverage has minor gaps (e.g., no review/fix actions).

4 / 5

Completeness

The description has a clear "what" but no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. Not 4 because "for maintainable, scalable stylesheets" states a purpose, not a trigger condition.

3 / 5

Trigger Term Quality

Terms like "BEM (Block Element Modifier)", "CSS class naming", and "Optics design system" are relevant, but natural user phrases such as "fix my CSS", "review my styles", or "BEM-ify" are missing from the description itself (they only appear in the body and metadata.triggers). Not 4 because common variations users would actually say are absent.

3 / 5

Distinctiveness Conflict Risk

BEM methodology and CSS class structuring form a mostly distinct niche with low conflict risk. Not 5 because there is minor overlap potential with generic CSS-styleguide or design-system skills, and "Optics design system integration" could collide with a dedicated Optics skill.

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

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

RoleModel/rolemodel-skills

Path

skills/bem-structure/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.