nolly-studio/components-build-skill/components-build
Claude Code and agent skill by nolly-studio/components-build-skill
- community
Checking that the SKILL.md file is still in the repository.
Build modern, composable, and accessible React UI components following the components.build specification. Use when creating, reviewing, or refactoring component libraries, design systems, or any reusable UI components. Triggers on tasks involving component APIs, composition patterns, accessibility, styling systems, or TypeScript props.
Install
npx vskill@latest install nolly-studio/components-build-skill/components-buildSKILL.md
Components.build Specification
Comprehensive guidelines for building modern, composable, and accessible UI components. Contains 16 rule categories covering everything from core principles to distribution, co-authored by Hayden Bleasel and shadcn.
When to Apply
Reference these guidelines when:
- Creating new React components or component libraries
- Designing component APIs and prop interfaces
- Implementing accessibility features (keyboard, ARIA, focus management)
- Building composable component architectures
- Styling components with Tailwind CSS and CVA
- Publishing components to registries or npm
Rule Categories by Priority
| Priority | Category | Focus | Prefix | |
|---|---|---|---|---|
| 1 | Overview | Specification scope and goals | overview | |
| 2 | Principles | Core design philosophy | principles | |
| 3 | Definitions | Common terminology | definitions | |
| 4 | Composition | Breaking down complex components | composition | |
| 5 | Accessibility | Keyboard, screen readers, ARIA | accessibility | |
| 6 | State | Controlled/uncontrolled patterns | state | |
| 7 | Types | TypeScript props and interfaces | types | |
| 8 | Polymorphism | Element switching with as prop | polymorphism | |
| 9 | As-Child | Radix Slot composition pattern | as-child | |
| 10 | Data Attributes | data-state and data-slot | data-attributes | |
| 11 | Styling | Tailwind CSS, cn utility, CVA | styling | |
| 12 | Design Tokens | CSS variables and theming | design-tokens | |
| 13 | Documentation | Component documentation | documentation | |
| 14 | Registry | Component registries | registry | |
| 15 | NPM | Publishing to npm | npm | |
| 16 | Marketplaces | Component marketplaces | marketplaces |
Quick Reference
1. Overview
overview- Specification scope, goals, and philosophy
2. Principles
principles- Composability, accessibility, customization, transparency
3. Definitions
definitions- Common terminology (primitive, compound, headless, etc.)
4. Composition
composition-root- Root component with Context for shared statecomposition-item- Item wrapper componentscomposition-trigger- Interactive trigger componentscomposition-content- Content display componentscomposition-export- Namespace export pattern
5. Accessibility
accessibility-semantic-html- Use appropriate HTML elementsaccessibility-keyboard- Full keyboard navigation supportaccessibility-aria- Proper ARIA roles, states, and propertiesaccessibility-focus- Focus management and restorationaccessibility-live-regions- Screen reader announcementsaccessibility-contrast- Color contrast requirements
6. State
state-uncontrolled- Internal state managementstate-controlled- External state delegationstate-controllable- Support both patterns with useControllableState
7. Types
types-extend-html- Extend native HTML attributestypes-export- Export prop types for consumerstypes-single-element- One component wraps one element
8. Polymorphism
polymorphism-as-prop- Change rendered element typepolymorphism-typescript- Type-safe polymorphic componentspolymorphism-defaults- Semantic element defaults
9. As-Child
as-child-slot- Radix Slot for prop mergingas-child-composition- Compose with child components
10. Data Attributes
data-attributes-state- Usedata-statefor styling statesdata-attributes-slot- Usedata-slotfor targeting sub-components
11. Styling
styling-cn-utility- Combine clsx and tailwind-mergestyling-order- Base → Variants → Conditionals → User overridesstyling-cva- Class Variance Authority for variantsstyling-css-variables- Dynamic values with CSS variables
12. Design Tokens
design-tokens-css-variables- Define tokens as CSS variablesdesign-tokens-theming- Support light/dark modes and themes
13. Documentation
documentation-props- Document all props with JSDocdocumentation-examples- Provide usage examples
14. Registry
registry-structure- Registry file structureregistry-schema- Component metadata schema
15. NPM
npm-package-json- Package configurationnpm-exports- Module exports
16. Marketplaces
marketplaces-distribution- Component distribution strategies
How to Use
Read individual rule files for detailed explanations and code examples:
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Best practices and common pitfalls
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
Key Principles
- Composition over Configuration - Break components into composable sub-components
- Accessibility by Default - Not an afterthought, but a requirement
- Single Element Wrapping - Each component wraps one HTML element
- Extend HTML Attributes - Always extend native element props
- Export Types - Make prop types available to consumers
- Support Both State Patterns - Controlled and uncontrolled
- Intelligent Class Merging - Use
cn()utility with tailwind-merge
Authors
Co-authored by:
- Hayden Bleasel (@haydenbleasel)
- shadcn (@shadcn)
Adapted as an AI skill by:
- Jordan Gilliam (@nolansym)
Based on the components.build specification.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/components-build/SKILL.md
Popularity
- Repository stars
- 46
- Repository forks
- 5
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nolly-studio/components-build-skill/components-build)