CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

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".

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 guide with strong validation gates on destructive operations, and it wastes few tokens on known concepts. Its main defects are duplicated content between Critical Rules, Key Patterns, and Detailed References, and that all seven referenced markdown files are absent from the bundle, breaking the progressive-disclosure structure the skill depends on for edge cases.

Suggestions

Ship the referenced rule files (rules/styling.md, rules/forms.md, rules/composition.md, rules/icons.md, rules/base-vs-radix.md, cli.md, customization.md) in the bundle, or inline the minimal essential content — every 'see linked file' path currently dead-ends.

Deduplicate Key Patterns against Critical Rules: drop the repeated gap-*/size-*/data-icon snippets and keep code only for patterns not already shown as rules, or fold the illustrations into the rule bullets.

Merge the inline Critical Rules links with the bottom Detailed References list into one reference index to remove the repeated composition.md and rules/ links.

DimensionReasoningScore

Conciseness

The body is dense and imperative — rules, commands, and do/don't pairs with no explanation of concepts Claude already knows (no 'what is Tailwind' padding). It is not a 5 because there is real duplication: Key Patterns re-illustrates rules already stated in Critical Rules (gap-* vs space-y-*, size-*, data-icon), the composition.md link appears twice in Critical Rules, and Detailed References repeats links already given inline.

4 / 5

Actionability

Every section gives executable material: exact CLI invocations ("npx shadcn@latest add button --diff button.tsx"), copy-paste TSX snippets with correct/wrong pairs, a component-selection table, and concrete field-to-behavior mappings ("iconLibrary → use lucide-react for lucide..."). Fully executable and covering the common cases; not a 4 because there are no gaps in the primary flows.

5 / 5

Workflow Clarity

The 9-step Workflow is clearly sequenced with explicit checkpoints: check installed components before add, --dry-run/--diff previews, "always read the added files and verify they are correct", and confirmation gates on risky actions ("Never use --overwrite without the user's explicit approval", "do not guess the registry... ask which registry"). Updating Components adds a validate-diff-then-decide loop with recovery paths, matching the level-5 anchor including feedback loops for destructive/batch operations.

5 / 5

Progressive Disclosure

The layout itself is well designed — one-level-deep references clearly signaled from Critical Rules and a Detailed References index. However, every referenced bundle file (rules/styling.md, rules/forms.md, rules/composition.md, rules/icons.md, rules/base-vs-radix.md, cli.md, customization.md) is missing from the bundle; only unreferenced assets/*.png files exist. Scoring against the actual bundle structure, the navigation is broken in practice: a reader following any link hits nothing, so this sits between 'references present but not clearly signaled' and 'good structure' — below the 4 anchor.

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.

An exemplary description: concrete third-person capability list, explicit 'use when' triggers with both technical terms and natural user phrasings, and a file-based trigger (components.json) that disambiguates it from generic frontend skills. No fluff or over-claims.

DimensionReasoningScore

Specificity

"Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples." lists multiple specific concrete actions with comprehensive coverage of the skill's capabilities, matching the level-5 anchor. It is not a 4 because coverage spans the full task surface (add/search/fix/debug/style/compose plus context and docs) with no minor gaps; it is not below 5 because nothing is generic.

5 / 5

Completeness

Both questions are answered explicitly: the 'what' ("Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI") and the 'when' ("Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for..."). This matches the level-5 anchor exactly; the 'when' clause is explicit with concrete trigger phrases, so it cannot be a 4.

5 / 5

Trigger Term Quality

Natural trigger phrases include "shadcn/ui", "component registries", "presets", "--preset codes", "components.json", and quoted user phrasings like "shadcn init", "create an app with --preset", and "switch to --preset" — comprehensive coverage including synonyms and config-file triggers. It exceeds the level-4 anchor ("a few natural terms missing") because both jargon and exact user phrasings are present.

5 / 5

Distinctiveness Conflict Risk

The niche is clear — shadcn/ui component management — and every trigger is ecosystem-specific (shadcn/ui, --preset codes, components.json is a shadcn-only config file), giving minimal conflict risk with generic UI or Tailwind skills. It is not a 4 because the triggers are distinct rather than merely 'mostly distinct' with overlap risk.

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

202780181/lingxiData

Path

.agents/skills/shadcn/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.