Skip to content
Development
Skill

/building-components

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.

From plugin
componentsbuild
8021 skill1 hook

Claude Code

$ npx -y skills add vercel/components.build --skill building-components --agent claude-code

SKILL.md

building-components.SKILL.md
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
Read more
@vercel
Ships withcomponentsbuild

An open-source standard for building modern, composable, and accessible UI components.

Stars on GitHub

Momentum

stars in total
802
Star history of vercel/components.build on GitHub, a chart by star-history.com

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about building-components.

Which coding agents can use building-components?
building-components installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.