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.
Pro scans all 16 files and shows the line behind each finding
Scanned 9/19/2026
npx -y skills add jgamaraalv/delivery-loop --skill building-components --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Building Components?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jgamaraalv-building-components)More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.
---
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
## References
Each file is loaded on demand — read one only when the task needs that depth (progressive disclosure).
- `references/definitions.mdx` — artifact taxonomy: primitives, components, blocks, templates and when to use each · read when choosing the right abstraction level for a new component.
- `references/principles.mdx` — core component design principles: single responsibility, composition over configuration, minimal API surface · read when designing a new component's API.
- `references/accessibility.mdx` — ARIA roles/attributes, keyboard navigation, focus management, WCAG compliance patterns · read when implementing interactive or custom-widget components.
- `references/composition.mdx` — slot patterns, render props, controlled/uncontrolled state, compound components · read when designing composable component APIs.
- `references/as-child.mdx` — the Radix-style `asChild` pattern for element polymorphism without wrapper divs · read when implementing `asChild` or polymorphic roots.
- `references/polymorphism.mdx` — `as` prop, generic polymorphic components, TypeScript inference for polymorphic types · read when a component must render as different HTML elements.
- `references/types.mdx` — TypeScript typing patterns: discriminated unions, generic props, `ComponentPropsWithoutRef`, `forwardRef` · read when typing component props or forwarding refs.
- `references/state.mdx` — controlled vs uncontrolled state, `useControllableState`, default value patterns · read when deciding how a component should own or delegate its state.
- `references/data-attributes.mdx` — using `data-*` attributes for CSS state, testing hooks, and styling variants · read when styling component states or wiring tests.
- `references/design-tokens.mdx` — CSS custom property token systems, theming, dark mode, token naming conventions · read when setting up or extending a design token layer.
- `references/styling.mdx` — CSS Modules, Tailwind, CSS-in-JS, class variance authority (CVA), style encapsulation · read when choosing or implementing a component styling approach.
- `references/registry.mdx` — shadcn/ui-style registry distribution, `components.json`, CLI-installable components · read when publishing via a component registry.
- `references/npm.mdx` — npm package publishing: entry points, bundling, peer deps, package.json fields · read when shipping a component library to npm.
- `references/marketplaces.mdx` — component marketplace distribution (Shadcn registry, v0, etc.) · read when distributing components via a marketplace.
- `references/docs.mdx` — writing component documentation: prop tables, usage examples, Storybook stories · read when documenting a component for end users.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!