gluestack-ui-v5:components

Enforces gluestack-ui v5 component usage patterns for React Native apps using NativeWind v5 or UniWind.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/sombek/fitness-guidance-app --skill gluestack-ui-v5-components-sombek
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: gluestack-ui-v5:components
Source: https://github.com/sombek/fitness-guidance-app/tree/main/mobile/.agents/skills/gluestack-ui-v5/components
Command: npx skills add https://github.com/sombek/fitness-guidance-app --skill gluestack-ui-v5-components-sombek

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers building React Native apps with gluestack-ui v5 often misuse components by importing React Native primitives directly, using className utilities instead of built-in props, or breaking compound component structures, which leads to inconsistent styling and broken rendering. ## Core Features & Use Cases - Component Selection Rules: Maps React Native primitives (View, Text, TouchableOpacity) to their gluestack-ui equivalents (Box, Text, Pressable) so all UI uses the design system. - Props Over className Enforcement: Documents when to use built-in props like space, variant, and size instead of Tailwind utility classes for type safety and consistency. - Compound Component Patterns: Defines required sub-component structures for Input, Button, FormControl, Card, Checkbox, and Select, including the mandatory InputSlot wrapper around InputIcon. - Use Case: When building a login form, apply these rules to compose a FormControl with Input, InputSlot-wrapped icons, and FormControlError using only semantic color tokens like text-foreground and bg-card. ## Quick Start Ask the assistant to build a login form with email and password inputs using gluestack-ui v5 component patterns.

Frequently Asked Questions about gluestack-ui-v5:components

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use gluestack-ui v5 components instead of React Native primitives?

Import gluestack equivalents from your local components directory, such as Box instead of View, Text instead of RN Text, and Pressable instead of TouchableOpacity. Style them with className utilities or built-in props rather than inline style objects.

Should I use component props or className in gluestack-ui?

Use built-in props when the component provides them, such as space on VStack/HStack, variant and size on Button, and size or bold on Text and Heading. Reserve className for layout utilities and styling that has no prop equivalent.

Why is my InputIcon not rendering correctly in gluestack-ui Input?

InputIcon must always be wrapped in an InputSlot inside the Input component, whether it appears on the left or right side. Using InputIcon directly as a child of Input breaks styling, positioning, and interaction handling.

How do I add icons in gluestack-ui v5 components?

First check for pre-built icons exported from components/ui/icon, then use Lucide icons via the Icon component's as prop if unavailable. For anything else, build a custom icon with the createIcon function and react-native-svg Path elements.

Can I use color classes like bg-blue-600 or text-gray-900 in gluestack-ui v5?

No, generic and numbered color tokens are prohibited. Use only semantic tokens such as bg-background, bg-card, bg-primary, text-foreground, text-muted-foreground, and border-border, with alpha modifiers like bg-primary/10 when needed.

How does theme switching work in gluestack-ui v5?

Wrap your app in GluestackUIProvider, then use Appearance.setColorScheme with NativeWind v5 or Uniwind.setTheme with UniWind. The provider handles theme switching automatically for whichever styling engine your project uses.