Install any skill in seconds. Free to start, no credit card required.
Get Started Free →tryghost/Shade ShadCN install
Guardrails for running `pnpm dlx shadcn@latest add` in Shade — never overwrite existing components, fresh branch first, swap raw colours for semantic tokens after integrating.
Passed 17 of 20 test cases with the skill, and 9 of 20 without it.
and 7 more in the full report
9 fixed10 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
When cleaning up a raw imported component from ShadCN, it uses bg-white and text-zinc-500. What specific Shade semantic tokens replace these raw color utility classes?
| Checked | Without skill | With skill |
|---|---|---|
| Replaces bg-white with bg-surface-elevated. | Missed | Passed |
| Replaces text-zinc-500 with text-muted-foreground. | Passed | Passed |
The instructions your model reads when the skill loads.
Most new Shade components start from a ShadCN install. The CLI is destructive by default — follow these guardrails.
pnpm dlx shadcn@latest add <component-name>
(Use pnpm, not npx / yarn / bunx. Ghost is pnpm.)
apps/shade/src/components/ui/. If it does, do not run the CLI against the repo — generate into a scratch repo and manually port the parts you want. The CLI will offer to overwrite, and you'd lose Shade customisations.@/.Raw ShadCN output is not Shade-quality yet. Do all of these:
bg-white, border-gray-200, text-zinc-500. Replace with bg-surface-elevated, border-border-default, text-muted-foreground, etc. See the shade-tokens-not-hex skill for the inventory.dark: colour variants. Semantic tokens flip automatically. See shade-no-dark-variants.@/ alias for internal imports (@/lib/utils, @/components/ui/...) — not relative paths.focus-visible: only — never focus:.)isMembersPage, layoutMode), it doesn't belong on a generic Component — extract a Pattern instead.inputSurface recipe instead of duplicating the chrome. See shade-input-surface-recipe.<name>.stories.tsx if one isn't already there. Copy useful examples from https://ui.shadcn.com/docs/components/<name> into stories. See shade-new-component.cn() — both are required.| ShadCN default | Shade convention |
|---|---|
bg-background dark:bg-background | bg-background (token already flips) |
test cases passed, vs 9 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.