building-components — Claude Code skill: what it does, install
Guidance for accessible UI components, composable APIs, design tokens, documentation, and package distribution.
npx skills add vercel/components.build --skill building-components -a claude-codeWhat building-components does
This skill guides the creation of UI primitives, components, blocks, and templates. It covers accessibility with ARIA, keyboard navigation, and focus management, plus composable APIs built around slots, render props, and controlled or uncontrolled state.
Its reference material covers polymorphic components, the as-child pattern, TypeScript typing, data attributes, styling, and design tokens. Other sections address npm publishing, registry and marketplace distribution, and component documentation.
The skill supports Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and OpenCode. The guidance is split across reference files, so the relevant file should be checked for the component concern being changed.
What it helps with
- build an accessible UI component with ARIA and keyboard navigation
- design a composable API with slots or render props
- choose controlled or uncontrolled state handling
- set up design tokens and theming
- prepare a component for npm or registry distribution
Example prompts for the agent
- Create a `Dialog` with focus management, ARIA attributes, and keyboard navigation.
- Design a composable `Select` API with controlled and uncontrolled state, using `as-child` where appropriate.
- Prepare component documentation and npm publishing using `references/npm.mdx` and `references/docs.mdx`.
How to install building-components
1Skills CLI (Vercel)
npx skills add vercel/components.build --skill building-components -a claude-code2Manually: put the files in place
~/.claude/skills/building-components/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/building-components/
1Skills CLI (Vercel)
npx skills add vercel/components.build --skill building-components -a codex2Manually: put the files in place
.agents/skills/building-components/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add vercel/components.build --skill building-components -a cursor2Manually: put the files in place
.cursor/skills/building-components/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install vercel/components.build building-components2Manually: put the files in place
.github/skills/building-components/SKILL.md1Skills CLI (Vercel)
npx skills add vercel/components.build --skill building-components -a gemini-cli2Platform CLI
gemini skills install https://github.com/vercel/components.build --path skills/building-componentsManually: put the files in place
.devin/skills/building-components/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add vercel/components.build --skill building-components -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Similar
Questions about building-components
How do I install building-components in Claude Code?
Run npx skills add vercel/components.build --skill building-components -a claude-code, then run npx skills add vercel/components.build --skill building-components -a claude-code again. The skill file is placed at ~/.claude/skills/building-components/SKILL.md.
What does building-components do?
It guides accessible and composable UI component work, including API design, design tokens, documentation, and distribution through npm, registries, or marketplaces.
Which platforms support building-components?
The skill supports Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, and OpenCode.
Source text
SKILL.md · Apache-2.0
--- name: building-components description: Guide for building modern, accessible, and composable UI components. Use when building new components, implementing accessibility, creating composable APIs, setting up design tokens, publishing to npm/registry, or writing component documentation. --- # Building Components ## When to use this skill Use when the user is: - Building new UI components (primitives, components, blocks, templates) - Implementing accessibility features (ARIA, keyboard navigation, focus management) - Creating composable component APIs (slots, render props, controlled/uncontrolled state) - Setting up design tokens and theming systems - Publishing components to npm or a registry - Writing component documentation - Implementing polymorphism or as-child patterns - Working with data attributes for styling/state ## References - [definitions.mdx](./references/definitions.mdx) - Artifact taxonomy (primitives, components, blocks, templates) - [principles.mdx](./references/principles.mdx) - Core principles for component design - [accessibility.mdx](./references/accessibility.mdx) - ARIA, keyboard navigation, WCAG compliance - [composition.mdx](./references/composition.mdx) - Composable component patterns - [as-child.mdx](./references/as-child.mdx) - The as-child pattern for element polymorphism - [polymorphism.mdx](./references/polymorphism.mdx) - Polymorphic component patterns - [types.mdx](./references/types.mdx) - TypeScript typing patterns for components - [state.mdx](./references/state.mdx) - Controlled vs uncontrolled state management - [data-attributes.mdx](./references/data-attributes.mdx) - Using data attributes for styling and state - [design-tokens.mdx](./references/design-tokens.mdx) - Design token systems and theming - [styling.mdx](./references/styling.mdx) - Component styling approaches - [registry.mdx](./references/registry.mdx) - shadcn-style registry distribution - [npm.mdx](./references/npm.mdx) - Publishing components to npm - [marketplaces.mdx](./references/marketplaces.mdx) - Component marketplace distribution - [docs.mdx](./references/docs.mdx) - Writing component documentation
© vercel · Apache-2.0 · vercel/components.build