[Bug]: shadcn-vue skill prescribes data-icon and add --dry-run/--diff, which the Vue registry and CLI do not implement
Author: doutatsuCreated Sep 10, 2026Updated Sep 10, 2026
Reproduction
pnpm dlx skills add unovue/shadcn-vuein a project with acomponents.json(style: new-york,tailwind v4,base: reka).- Ask the assistant to add an icon to a
Button. Followingskills/shadcn-vue/rules/icons.mdit writes<SearchIcon data-icon="inline-start" />. - Inspect the rendered button: the icon gets no
data-icontreatment.grep -r "data-icon" apps/v4/registry apps/v4/stylesfinds the attribute only in the preset styles'PaginationNext/PaginationLast, not in anybutton/index.ts(registry/new-york-v4,registry/bases/reka,styles/reka-*). The Vue buttons size and space icons throughgap-2+[&_svg:not([class*='size-'])]:size-4+has-[>svg]:px-*; thedata-iconselectors exist only in shadcn/ui's React button. - Ask the assistant to preview an update. Following
SKILL.md("Updating Components") it runspnpm dlx shadcn-vue@latest add button --dry-run, which prints:
The --dry-run, --diff and --view options are not yet supported in shadcn-vue.
Follow https://github.com/unovue/shadcn-vue for updates.Describe the bug
skills/shadcn-vue was ported from shadcn/ui's React skill (#1790) and keeps a few rules that the Vue registry and CLI do not implement, so an assistant that follows the skill writes code that silently does nothing:
rules/icons.mdand the "Key Patterns" block inSKILL.mdprescribedata-icon="inline-start|inline-end"on icons insideButton. No Vuebuttonin the registry has the matching selectors.SKILL.md("Updating Components", "Workflow" step 5,cli.md) describesadd --dry-runandadd --diff <file>as the way to preview an upstream update, andviewfor browsing registry items.packages/cli/src/commands/add.tsguards all three with "not yet supported in shadcn-vue".rules/styling.md"Never override colours with manualdark:" assumes the React token set. Minor, but same origin.
Expected: the skill's rules match what the Vue registry ships. Either drop the data-icon rule (and the pattern example) and note that Vue buttons size icons through the svg selector, or add the data-icon selectors to the Vue buttons; and either remove the --dry-run/--diff/view guidance or note that they are not yet available.
System Info
shadcn-vue 2.8.2 (latest), skills/shadcn-vue as of 2026-09-04
components.json: style new-york, tailwind v4, typescript false, iconLibrary lucide
macOS 25.6, Node 24.18.0, pnpm 11.21.0Contributes
- I am willing to submit a PR to fix this issue
- I am willing to submit a PR with failing tests
Source: unovue/shadcn-vue