building-components

Design accessible React UI components with composable, type-safe APIs.

Updated May 28, 2026
One-click install
npx skills add https://github.com/haryelramalho/skills --skill building-components-haryelramalho
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: building-components
Source: https://github.com/haryelramalho/skills/tree/main/skills/community/building-components
Command: npx skills add https://github.com/haryelramalho/skills --skill building-components-haryelramalho

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you design, implement, and document reusable UI components without sacrificing accessibility, flexibility, or consistency. It reduces the guesswork involved in choosing element structure, state handling, and styling patterns for modern component libraries.

Core Features & Use Cases

  • Composable component architecture: Break complex UI into focused root, trigger, content, and slot-based pieces that are easier to extend.
  • Accessibility-first guidance: Apply semantic HTML, keyboard navigation, focus management, and ARIA patterns correctly from the start.
  • Type-safe and style-friendly APIs: Extend native element props, support polymorphism, and use data attributes or design tokens for predictable theming.
  • Use case: Build a dialog, accordion, form control, or button system that can be copied into a codebase, customized safely, and documented for reuse.

Quick Start

Ask the skill to help you design a new accessible UI component and it will guide the structure, API, styling, and documentation choices.

Frequently Asked Questions about building-components

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build accessible UI components with composable APIs in React?

To build accessible UI components with composable APIs, structure your UI into focused root, trigger, and slot-based pieces. Apply semantic HTML, ARIA patterns, and keyboard navigation from the start to ensure flexibility and accessibility.

What is the best way to manage state in a component library using TypeScript?

The best way to manage state in a component library using TypeScript is supporting both controlled and uncontrolled patterns. Extend native element props and use type-safe props to ensure predictable, flexible state handling across your components.

How do you style React components with design tokens and Tailwind?

To style React components with design tokens and Tailwind, use data attributes and design tokens for predictable theming. Extend native element props to maintain a style-friendly API that integrates seamlessly with your existing setup.

Does this approach support polymorphic elements for component libraries?

Yes, this approach supports polymorphic elements for component libraries. You can extend native element props and use type-safe configurations to create flexible, polymorphic components that render as different HTML tags while maintaining accessibility.

When do I need ARIA support and semantic HTML for UI components?

You need ARIA support and semantic HTML for UI components when ensuring keyboard navigation and focus management. Applying these accessibility-first patterns correctly from the start prevents guesswork and ensures compliance with modern web standards.

What are the limitations of building design systems without registry-ready distribution patterns?

Building design systems without registry-ready distribution patterns limits your ability to copy components into a codebase and customize them safely. It hinders consistent documentation, reuse, and predictable theming across your component library.