components-build
77
总安装量
77
周安装量
#2909
全站排名
安装命令
npx skills add https://github.com/nolly-studio/components-build-skill --skill components-build
Agent 安装分布
claude-code
56
opencode
38
codex
35
antigravity
34
gemini-cli
28
Skill 文档
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:
rules/composition/SKILL.md
rules/accessibility/SKILL.md
rules/styling/SKILL.md
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.