Comprehensive performance optimization and best practices guide for Uniwind - the fastest Tailwind CSS bindings for React Native. Contains 45+ rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
When to Apply
Reference these guidelines when:
Setting up Uniwind in a new React Native project
Configuring Metro plugin and CSS entry points
Building theme systems with CSS variables
Integrating third-party components with className support
Creating responsive layouts for mobile and tablet
Optimizing styling performance
Migrating from NativeWind to Uniwind
Rule Categories by Priority
Priority
Category
Impact
Prefix
1
Build-Time Configuration
CRITICAL
build-
2
Theme Architecture
CRITICAL
theme-
3
Component Integration
HIGH
comp-
4
Responsive Design
HIGH
resp-
5
Performance Optimization
MEDIUM-HIGH
perf-
6
Platform Patterns
MEDIUM
plat-
7
State & Interaction
MEDIUM
state-
8
Migration & Compatibility
LOW-MEDIUM
compat-
Quick Reference
1. Build-Time Configuration (CRITICAL)
build-metro-config - Configure Metro Plugin with Required Options
build-css-entry - Place CSS Entry File in App Root Directory
compat-tailwind-4-syntax - Use Tailwind 4 CSS-First Configuration
compat-rem-default - Account for Different rem Default Values
compat-cssinterop-replacement - Replace cssInterop with withUniwind
compat-safe-area-changes - Replace *-safe Classes with Safe Area Context
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
Reference Files
File
Description
AGENTS.md
Complete compiled guide with all rules
references/_sections.md
Category definitions and ordering
assets/templates/_template.md
Template for new rules
metadata.json
Version and reference information
1---2name: uniwind3description: Uniwind Best Practices4---5# Uniwind Best Practices67Comprehensive performance optimization and best practices guide for Uniwind - the fastest Tailwind CSS bindings for React Native. Contains 45+ rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.89## When to Apply1011Reference these guidelines when:12- Setting up Uniwind in a new React Native project13- Configuring Metro plugin and CSS entry points14- Building theme systems with CSS variables15- Integrating third-party components with className support16- Creating responsive layouts for mobile and tablet17- Optimizing styling performance18- Migrating from NativeWind to Uniwind1920## Rule Categories by Priority2122| Priority | Category | Impact | Prefix |23|----------|----------|--------|--------|24| 1 | Build-Time Configuration | CRITICAL | `build-` |25| 2 | Theme Architecture | CRITICAL | `theme-` |26| 3 | Component Integration | HIGH | `comp-` |27| 4 | Responsive Design | HIGH | `resp-` |28| 5 | Performance Optimization | MEDIUM-HIGH | `perf-` |29| 6 | Platform Patterns | MEDIUM | `plat-` |30| 7 | State & Interaction | MEDIUM | `state-` |31| 8 | Migration & Compatibility | LOW-MEDIUM | `compat-` |3233## Quick Reference3435### 1. Build-Time Configuration (CRITICAL)3637- [`build-metro-config`](references/build-metro-config.md) - Configure Metro Plugin with Required Options38- [`build-css-entry`](references/build-css-entry.md) - Place CSS Entry File in App Root Directory39- [`build-typescript-types`](references/build-typescript-types.md) - Configure TypeScript Definition File Location40- [`build-restart-metro`](references/build-restart-metro.md) - Restart Metro After Configuration Changes41- [`build-debug-mode`](references/build-debug-mode.md) - Enable Debug Mode During Development42- [`build-rem-polyfill`](references/build-rem-polyfill.md) - Configure rem Base Value for Design System Consistency4344### 2. Theme Architecture (CRITICAL)4546- [`theme-css-variables`](references/theme-css-variables.md) - Define Theme Variables with @theme Directive47- [`theme-variant-blocks`](references/theme-variant-blocks.md) - Use @variant Blocks for Theme Definitions48- [`theme-consistent-variables`](references/theme-consistent-variables.md) - Define Identical Variables Across All Themes49- [`theme-custom-registration`](references/theme-custom-registration.md) - Register Custom Themes in Metro Config50- [`theme-oklch-colors`](references/theme-oklch-colors.md) - Use OKLCH Color Space for Perceptual Uniformity51- [`theme-light-dark-function`](references/theme-light-dark-function.md) - Use light-dark() Function for Adaptive Colors52- [`theme-no-provider`](references/theme-no-provider.md) - Remove ThemeProvider Wrapper from App5354### 3. Component Integration (HIGH)5556- [`comp-with-uniwind`](references/comp-with-uniwind.md) - Use withUniwind for Third-Party Components57- [`comp-module-level`](references/comp-module-level.md) - Define Wrapped Components at Module Level58- [`comp-prop-mapping`](references/comp-prop-mapping.md) - Use Custom Prop Mappings for Non-Style Props59- [`comp-accent-colors`](references/comp-accent-colors.md) - Use accent-* Classes for Color Prop Extraction60- [`comp-reanimated`](references/comp-reanimated.md) - Reanimated Components Work Without withUniwind61- [`comp-custom-css`](references/comp-custom-css.md) - Use Custom CSS Classes for Complex Reusable Styles6263### 4. Responsive Design (HIGH)6465- [`resp-mobile-first`](references/resp-mobile-first.md) - Design Mobile-First with Progressive Enhancement66- [`resp-limit-breakpoints`](references/resp-limit-breakpoints.md) - Limit Breakpoints to 3-5 for Maintainability67- [`resp-visibility-toggle`](references/resp-visibility-toggle.md) - Use hidden/flex for Responsive Visibility68- [`resp-custom-breakpoints`](references/resp-custom-breakpoints.md) - Define Custom Breakpoints with Semantic Names69- [`resp-responsive-spacing`](references/resp-responsive-spacing.md) - Scale Spacing and Typography Responsively7071### 5. Performance Optimization (MEDIUM-HIGH)7273- [`perf-static-classnames`](references/perf-static-classnames.md) - Use Complete Static Class Names for Build-Time Resolution74- [`perf-use-resolve-sparingly`](references/perf-use-resolve-sparingly.md) - Use useResolveClassNames Sparingly75- [`perf-memoize-variants`](references/perf-memoize-variants.md) - Memoize Variant Style Objects76- [`perf-tailwind-merge`](references/perf-tailwind-merge.md) - Use tailwind-merge for Class Deduplication77- [`perf-avoid-inline-styles`](references/perf-avoid-inline-styles.md) - Prefer className Over Inline style Prop78- [`perf-combine-styles`](references/perf-combine-styles.md) - Combine className and style Prop Correctly7980### 6. Platform Patterns (MEDIUM)8182- [`plat-ios-android-selectors`](references/plat-ios-android-selectors.md) - Use Platform Selectors for iOS/Android Differences83- [`plat-safe-area-context`](references/plat-safe-area-context.md) - Use react-native-safe-area-context for Safe Areas84- [`plat-yoga-layout`](references/plat-yoga-layout.md) - Understand Yoga Layout Engine Differences85- [`plat-web-selector`](references/plat-web-selector.md) - Use web: Selector for Cross-Platform Apps86- [`plat-font-families`](references/plat-font-families.md) - Configure Font Families Without Fallbacks8788### 7. State & Interaction (MEDIUM)8990- [`state-pressable-states`](references/state-pressable-states.md) - Use Pressable with active:/focus:/disabled: States91- [`state-data-selectors`](references/state-data-selectors.md) - Use Data Selectors for Component State Styling92- [`state-no-hover`](references/state-no-hover.md) - Avoid hover: on Native - Use active: Instead93- [`state-group-variants`](references/state-group-variants.md) - Use Group Variants for Parent-Child Styling (WIP)94- [`state-dark-mode`](references/state-dark-mode.md) - Use dark: Variant for Dark Mode Styles9596### 8. Migration & Compatibility (LOW-MEDIUM)9798- [`compat-nativewind-migration`](references/compat-nativewind-migration.md) - Follow NativeWind Migration Checklist99- [`compat-tailwind-4-syntax`](references/compat-tailwind-4-syntax.md) - Use Tailwind 4 CSS-First Configuration100- [`compat-rem-default`](references/compat-rem-default.md) - Account for Different rem Default Values101- [`compat-cssinterop-replacement`](references/compat-cssinterop-replacement.md) - Replace cssInterop with withUniwind102- [`compat-safe-area-changes`](references/compat-safe-area-changes.md) - Replace *-safe Classes with Safe Area Context103104## How to Use105106Read individual reference files for detailed explanations and code examples:107108- [Section definitions](references/_sections.md) - Category structure and impact levels109- [Rule template](assets/templates/_template.md) - Template for adding new rules110111## Reference Files112113| File | Description |114|------|-------------|115| [AGENTS.md](AGENTS.md) | Complete compiled guide with all rules |116| [references/_sections.md](references/_sections.md) | Category definitions and ordering |117| [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules |118| [metadata.json](metadata.json) | Version and reference information |
Run npx skillmds@latest add comeonoliver/uniwind in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Uniwind Best Practices It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ComeOnOliver (@comeonoliver) published this skill. Their other Agent Skills are listed on their SkillMD profile.