Agent skill
mui-base
MUI Base UI style guidelines for building headless React component libraries (formerly headless-ui-style). This skill should be used when creating unstyled UI components, compound components with render props, accessibility-first patterns, or component libraries that separate logic from styling. Extracted from the MUI Base UI codebase (github.com/mui/base-ui).
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/mui-base
SKILL.md
MUI Headless UI Best Practices
Comprehensive style guide for building headless React component libraries following MUI Base UI patterns. Contains 48 rules across 5 categories, prioritized by impact.
When to Apply
Reference these guidelines when:
- Building headless/unstyled component libraries
- Creating compound components with context-based composition
- Implementing accessible UI primitives with ARIA patterns
- Using render props and className callbacks for styling flexibility
- Writing components that support both controlled and uncontrolled modes
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Component Patterns | CRITICAL | comp- |
| 2 | Naming Conventions | HIGH | name- |
| 3 | Organization | HIGH | org- |
| 4 | Error Handling | HIGH | err- |
| 5 | Style | MEDIUM | style- |
Quick Reference
1. Component Patterns (CRITICAL)
comp-forward-ref-named- Use forwardRef with Named Functioncomp-props-parameter-naming- Name Props Parameter componentPropscomp-use-render-element- Use useRenderElement for DOM Renderingcomp-context-undefined-default- Create Context with Undefined Defaultcomp-context-error-message- Context Error Messages with Hierarchycomp-use-controlled- Use useControlled Hook for Dual Modescomp-state-memoization- Memoize State Objectscomp-context-value-memo- Memoize Context Provider Valuescomp-plain-function-root- Plain Function for Non-DOM Rootscomp-hook-namespace-exports- Hook Namespace Exportscomp-props-destructure-order- Props Destructuring Ordercomp-use-client-directive- Add use client Directive
2. Naming Conventions (HIGH)
name-component-naming- Component Naming as ParentPartname-file-matches-export- File Name Matches Primary Exportname-directory-kebab-case- Directory Naming kebab-casename-part-directory-lowercase- Part Directory Naming lowercasename-context-suffix- Context Naming with Suffixname-context-hook- Context Hook as useComponentContextname-props-interface- Props Interface as ComponentPropsname-state-interface- State Interface as ComponentStatename-namespace-type-exports- Namespace Type Exportsname-event-type- Event Type Naming Conventionname-constants- Constant Naming SCREAMING_SNAKE_CASEname-data-attributes- Data Attribute Naming lowercasename-hooks- Hook Naming with use Prefixname-refs- Ref Variable Naming with Suffixname-handlers- Handler Naming Convention
3. Organization (HIGH)
org-component-directory- Component Directory Structureorg-dual-barrel-exports- Dual Barrel Export Patternorg-test-colocation- Test File Colocationorg-context-placement- Context File Placementorg-data-attributes-file- Data Attributes Documentation Fileorg-state-attributes-mapping- State Attributes Mapping Fileorg-css-vars-file- CSS Variables Documentation Fileorg-package-exports- Package-Level Wildcard Exports
4. Error Handling (HIGH)
err-dev-only-warnings- Development-Only Warningserr-deduplicated-warnings- Deduplicated Warning Messageserr-message-prefix- Message Prefix Standarderr-context-error-guidance- Context Error Guidanceerr-prop-validation-timing- Prop Validation Timingerr-cancelable-events- Cancelable Event Patternerr-event-reason-constants- Event Reason Constantserr-typed-event-reasons- Type-Safe Event Reasons
5. Style (MEDIUM)
style-react-import- React Import as Namespacestyle-internal-imports- Internal Import Pathsstyle-explicit-undefined- Explicit Undefined in Prop Typesstyle-default-values- Default Values in Destructuringstyle-jsdoc-documentation- JSDoc Documentation
How to Use
Read individual reference files for detailed explanations and code examples:
- Section definitions - Category structure and impact levels
- Rule template - Template for adding new rules
- Example: comp-forward-ref-named
- Example: org-component-directory
Source
Extracted from MUI Base UI codebase on 2026-01-17.
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?