defuss-shadcn / Introduction / vibe-coding
Vibe Coding / Agentic Engineering
defuss-shadcn is written for agents as much as for people: every component documents its exact HTML in a component skill, and one Agent Skill ties them together. Install it into your coding agent, describe the UI you want, and the agent composes it from the real components - no framework, no build step.
On this page (4)
§How the agent knows the system
The skill is one file - skills/defuss-shadcn/SKILL.md - with the install paths, the rules, a map of every documentation page and an index of every component skill. From there the agent reads the component skills it needs (structure, attributes, variants, ARIA) and copies the pattern - the same files you would read.
Vibe coding gets you a first draft fast; agentic engineering keeps it right. The system itself is built that way - every claim in these docs is checked by the verifier, see Verified Agentic Engineering (VAE).
§Install as an AI Agent Skill
defuss-shadcn can be installed directly into Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Windsurf, and other Agent Skills-compatible coding agents.
Claude Code
Claude Code can install defuss-shadcn directly from its native plugin marketplace. Inside Claude Code:
/plugin marketplace add kyr0/defuss-shadcn/plugin install defuss-shadcn@defuss-shadcnOr from your shell:
claude plugin marketplace add kyr0/defuss-shadcnclaude plugin install defuss-shadcn@defuss-shadcnStart a new Claude Code session after installation.
Codex, Cursor, Gemini CLI, Copilot, Windsurf, and others
The repository also exposes defuss-shadcn as a standard Agent Skill. The simplest cross-agent installation uses the open skills CLI:
npx skills add kyr0/defuss-shadcn --skill defuss-shadcnThe installer detects/selects supported coding agents interactively.
Install specifically for Codex:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent codexFor Claude Code:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent claude-codeFor Cursor:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent cursorFor Gemini CLI:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent gemini-cliFor GitHub Copilot:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent github-copilotFor Windsurf:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent windsurfInstall for several agents at once:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent claude-code \ --agent codex \ --agent cursor \ --agent gemini-cliGlobal installation
By default, skills installs into the current project. Use --global / -g to make defuss-shadcn available across projects:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent codex \ --globalOr interactively choose an agent and global scope:
npx skills add kyr0/defuss-shadcnNon-interactive installation
Useful for bootstrap scripts and development environments:
npx skills add kyr0/defuss-shadcn \ --skill defuss-shadcn \ --agent codex \ --global \ --yesUpdate installed skills
npx skills updateFor Claude Code's native marketplace:
/plugin marketplace update defuss-shadcnUsing the skill
Once installed, simply ask the agent to build UI with defuss-shadcn. Codex can also invoke the skill explicitly:
$defuss-shadcn build a settings page with a sidebar, tabs and a form§Task skills: plan, theme, review
The defuss-shadcn skill teaches the markup. Three task skills ship next to it, for three jobs. They add only what is specific to defuss-shadcn and leave the process - evidence, tests, gates - to the method a project already uses, such as defuss-vae. Their names carry a shadcn- prefix so they install next to defuss-vae's plan and review in harnesses that copy skills by folder name. Each folder is self-contained and generated from the release it ships with: the catalog, the token roles and the checkers' vocabulary cannot drift from the components.
| Skill | What it does | What checks it |
|---|---|---|
shadcn-plan | Plans a page, a whole frontend or a new component: it first finds the reusable units across the whole plan and composes the larger parts from them, prefers an existing component or one of its variants over a new one, and gives every unit a type (ATM to TPL), its tokens, states, APIs, boundaries, docs and examples. | A plan names a check for every invariant. |
shadcn-theme | Creates or updates a theme from text, colours, a design guide or images (when the agent can read them): every token in light and dark, in the format the Theme Designer imports. | scripts/theme-check.mjs: unknown and missing tokens, one radius, WCAG contrast per pair - with the nearest lightness that passes. |
shadcn-review | Reviews markup or a new component against the guides: native elements first, the data-attribute API, the State API, composition and boundaries, tokens, accessibility - and fixes what it confirms. | scripts/markup-check.mjs: modifier classes, parts and values a component does not have, invented tokens, loading order, globals, unnamed icon buttons. |
How the two skill families divide - defuss-shadcn's tell the agent what to build, defuss-vae's how to work:
§How the skills divide
defuss-shadcn's skills tell the agent what to build - the components as their documented markup, a plan from reusable units, a checked theme, a review - and lead to a consistent UI. defuss-vae's skills tell it how to work - plan, implement, the gate, finalize - and lead to quality that scales. Play the steps, or click a node.
The checkers run with Node 18 or later (or Bun) and have no dependencies. In Claude Code the plugin installs all four skills; plan and review run when you ask for them:
/defuss-shadcn:shadcn-theme a calm Nordic theme: slate blues, a teal brand, soft corners/defuss-shadcn:shadcn-plan an issue tracker with a board, a list and a detail sheet/defuss-shadcn:shadcn-review src/pages/settings.htmlWith the skills CLI, add all four, or one by name:
npx skills add kyr0/defuss-shadcn --skill '*'npx skills add kyr0/defuss-shadcn --skill shadcn-themeComments, ideas or improvements? Edit this page's source on GitHub