CtrlK
BlogDocsLog inGet started
Tessl Logo

shadcn

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".

73

Quality

92%

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

The canonical home for this skill is shadcn in shadcn-ui/ui

SKILL.md
Quality
Evals
Security

Quality

Content

85%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 highly actionable, well-sequenced operational guide with exact CLI commands, concrete code patterns, and strong validation/confirmation checkpoints for destructive operations. Its one material flaw is that its progressive-disclosure layer is broken in practice — all seven referenced detail files are missing from the bundle, leaving the detailed-reference links pointing nowhere.

Suggestions

Ship the referenced rule and reference files (rules/styling.md, rules/forms.md, rules/composition.md, rules/icons.md, rules/base-vs-radix.md, cli.md, customization.md) in the skill bundle — every detailed-reference link in the body currently points to a file that does not exist, so progressive disclosure cannot function.

Deduplicate the two composition.md-linked Critical Rules sections ("Component Structure" and "Use Components, Not Custom Markup") into one section, and trim Key Patterns entries that restate Critical Rules bullets verbatim (gap-* vs space-y-*, size-* vs w-*/h-*, icon sizing).

Either reference assets/shadcn.png (e.g. for visual identification of the current style) in the body or remove the unused asset from the bundle.

DimensionReasoningScore

Conciseness

The body is dense with shadcn-specific rules Claude would not know (FieldGroup/InputGroup conventions, data-icon, preset subcommands), so nearly every token earns its place — but there is mild duplication: the Key Patterns code block restates Critical Rules bullets ("gap-*", "size-*", icon sizing appear in both), and two separate rule sections both link to composition.md. This fits "efficient; minor instances of over-explanation that could be trimmed" rather than the lean 5 anchor, and is well above the noticeably-verbose 2/3 anchors.

4 / 5

Actionability

Guidance is fully executable throughout: exact CLI invocations with flags ("npx shadcn@latest add <component> --diff <file>", "apply <code> --only theme,font"), copy-paste TSX snippets for the common cases, a component-selection table, and a Quick Reference command block. Specific commands and examples cover the common workflows, matching the top anchor.

5 / 5

Workflow Clarity

The 9-step Workflow is clearly sequenced with explicit validation checkpoints and feedback loops: check installed components before add, use --dry-run/--diff before updating, "always read the added files and verify they are correct" and "Fix all issues before moving on" (a validate-fix-retry loop), plus confirm-first rules for destructive operations ("Never use --overwrite without the user's explicit approval", asking before preset switches). This matches the anchor with explicit validation steps and error-recovery loops.

5 / 5

Progressive Disclosure

The in-body structure is well designed — a Detailed References section with one-level-deep, clearly signaled links, each with a scope description — but none of the referenced files exist in the bundle: rules/styling.md, rules/forms.md, rules/composition.md, rules/icons.md, rules/base-vs-radix.md, cli.md, and customization.md are all absent (the bundle contains only two unreferenced PNGs in assets/). Since every reference target is broken, the disclosure structure does not actually function, which is a larger-than-minor organization gap (below the 4 anchor) though the SKILL.md itself is more structured than the 2 anchor's inlined monolith.

3 / 5

Total

17

/

20

Passed

Description

100%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.

This is an exemplary skill description: it states concrete capabilities in third person, provides explicit and varied trigger conditions including a file-based marker (components.json), and remains tight at three sentences with no fluff. It reads like the reference good examples in the rubric.

DimensionReasoningScore

Specificity

The description enumerates multiple concrete, domain-specific actions — "adding, searching, fixing, debugging, styling, and composing UI" plus "Provides project context, component docs, and usage examples" — giving comprehensive coverage comparable to the anchor example listing extraction/filling/merging/converting. It is not below this level because no action category of the skill is left unmentioned, and not above because 5 is the maximum.

5 / 5

Completeness

Both questions are explicitly answered: the "what" is the full action list in the first two sentences, and the "when" is a dedicated trigger clause ("Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for...") with concrete trigger phrases. This mirrors the anchor example that pairs a full capability list with an explicit "Use when..." clause.

5 / 5

Trigger Term Quality

Trigger terms are comprehensive and natural: "shadcn/ui", "component registries", "presets", "--preset codes", "components.json", and quoted phrases users would actually say ("shadcn init", "create an app with --preset", "switch to --preset"). Coverage includes synonyms and concrete file/flag markers, matching the top anchor; nothing significant is missing.

5 / 5

Distinctiveness Conflict Risk

shadcn is a clear niche with distinct triggers — the "components.json file" marker and "--preset" codes are unambiguous shadcn signals with minimal conflict risk against other skills. While "styling, and composing UI" is slightly broad in isolation, the trigger clause gates activation to shadcn-specific contexts, so this fits the top anchor rather than the "minor overlap risk" anchor at 4.

5 / 5

Total

20

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

relative_links

Relative link issues: 14 missing

Warning

Total

14

/

16

Passed

Repository
different-ai/openwork
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.