CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

dev-cds-web

USE THIS when asked to work on a new or existing (WEB) CDS React component in packages/web

Quality

63%

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 ./.claude/skills/dev-cds-web/SKILL.md

The canonical home for this skill is dev.cds-web in coinbase/cds

SKILL.md
Quality
Evals
Security

Quality

Content

61%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 largely actionable, well-organized guidelines document whose code examples and file pointers give Claude exactly what to do in most sections. Its main weaknesses are known-concept padding (TODO comment, generic a11y bullets), a broken step list with no verification in the one procedural workflow, and inline duplication of values that the referenced source files already own.

Suggestions

Fix the duplicated "1." numbering in "Required implementation pattern" so the register-then-adopt sequence renders correctly, and add a brief verification step (e.g., confirm local props still win over provider defaults via a typecheck or targeted test).

Trim known-concept padding: delete the TODO comment about nested AGENTS.md and compress the generic accessibility bullets to CDS-specific rules (e.g., data-attribute state styling alongside the ARIA example).

Show the useMemo styles merge in code (or point to a reference component implementing it), and drop the inlined token/breakpoint values in favor of the already-referenced theme.ts and media.ts.

DimensionReasoningScore

Conciseness

The body is mostly tight and code-first, but it includes unnecessary material: the leftover editorial TODO ("nested AGENTS.md files should work but they seem a little flaky") and generic accessibility bullets Claude already knows ("Use semantic HTML elements whenever possible", "Follow WCAG 2.1 AA standards for color contrast"). This fits 'mostly efficient but includes some unnecessary explanation'; it is not 4 because the a11y boilerplate and TODO comment are more than minor trimming.

3 / 5

Actionability

Concrete, copy-adaptable code is given for config registration, useComponentConfig adoption, Linaria with theme CSS variables, cx merge order, responsive Box props, and Framer Motion, with precise file pointers ("packages/web/src/core/theme.ts:53-119", "packages/web/src/styles/media.ts"). Minor gaps keep it from 5: the styles-merge order ("default styles => style prop => styles[ELEMENT_NAME] prop") is described but not shown in code, and the Reference Components list omits paths.

4 / 5

Workflow Clarity

The "Required implementation pattern" lists a real sequence (register in componentConfig.ts, then adopt useComponentConfig), but both steps are numbered "1." in the source, breaking the rendered order, and there is no checkpoint such as verifying local props still override provider defaults. It is not 2 because the sequence is otherwise complete, and not 4 because the numbering defect plus absent validation leaves checkpoints missing or implicit.

3 / 5

Progressive Disclosure

The body is well-sectioned and defers detail to authoritative source files (theme.ts:53-119 for variable naming, media.ts for breakpoints, componentConfig.ts for registration), which is appropriate for a skill with no bundle files. It is not 5 because token values and breakpoint ranges are duplicated inline where the referenced files are authoritative, a minor organization gap that risks drift.

4 / 5

Total

14

/

20

Passed

Description

47%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 a strong, explicit trigger clause and a well-scoped, distinctive niche, but it never says what the skill actually does. Adding a concrete 'what' clause naming the key capabilities would move it from a mere trigger to a complete description.

Suggestions

Add a 'what' clause, e.g., "Provides styling, theming, and component-config conventions for building CDS web components. Use when asked to create or edit a (WEB) CDS React component in packages/web."

Name concrete actions (adopt useComponentConfig defaults, style with Linaria theme CSS variables, expose className/style/classNames props) to raise specificity beyond the generic "work on".

Include a few trigger synonyms such as "design system component", "UI component", or "CDS web package" so users phrasing the request differently still match.

DimensionReasoningScore

Specificity

The description names the domain ("CDS React component in packages/web") but the only action is the generic "work on"; no concrete capabilities such as styling, theming, or component-config adoption are stated, matching the anchor 'Names the domain but actions are minimal or generic'. It is not 3 because that anchor requires 1-2 concrete actions, which are absent.

2 / 5

Completeness

The 'when' is explicit ("USE THIS when asked to work on a new or existing (WEB) CDS React component in packages/web") but the 'what' is entirely absent — the description never states it provides coding/styling/config conventions for these components. This matches anchor 2 ('only when is present without what'), and cannot be 3 since that requires a clear 'what'.

2 / 5

Trigger Term Quality

"new or existing (WEB) CDS React component in packages/web" covers the natural phrases a user would say (CDS component, React component, packages/web, new vs. existing). It is not 5 because synonyms and variations like "design system", "UI component", or "CDS web package" are missing.

4 / 5

Distinctiveness Conflict Risk

The "(WEB)" qualifier plus the concrete "packages/web" scope carve a clear niche that is unlikely to trigger for unrelated skills. It is not 5 because the generic "work on" action leaves minor overlap risk with closely related skills (e.g., a general React or sibling CDS-package skill).

4 / 5

Total

12

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

coinbase/cds

Path

.claude/skills/dev-cds-web/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.