gluestack-ui-v4
Enforces constrained, opinionated styling patterns for gluestack-ui v4. Main overview skill that coordinates specialized sub-skills for setup, components, styling, variants, performance, and validation.
What this skill does
# Gluestack UI v4 Design Patterns
This skill enforces constrained, opinionated styling patterns for gluestack-ui v4 that reduce decision fatigue, improve performance, enable consistent theming, and limit the solution space to canonical patterns.
## Core Principles
1. **Gluestack components over React Native primitives** - Gluestack wraps RN with theming, accessibility, and cross-platform consistency
2. **Component props over className utilities** - Use built-in props (size, variant, space) instead of className when available
3. **Semantic tokens ONLY - NO EXCEPTIONS** - NEVER use generic tokens (`typography-*`, `neutral-*`, `gray-*`) or numbered colors (`red-500`, `blue-600`). ONLY use semantic tokens (`text-foreground`, `bg-primary`, `border-border`, etc.) with optional alpha values
4. **className over inline styles** - Inline styles bypass optimization and consistency
5. **Spacing scale over pixel values** - Arbitrary values create unsustainable exceptions
6. **Copy-paste philosophy** - Components are copied into your codebase, not installed as dependencies
7. **Composable sub-components** - Use compound component patterns for flexibility
8. **Remove dead code** - Unused patterns mislead AI and increase cognitive load
## When to Use This Skill
- Creating new components with styling
- Reviewing existing component styles
- Refactoring styles to follow the design system
- Fixing styling inconsistencies
- Adding dark mode support
- Theming components
- Copying components from gluestack-ui into your project
**Before using any component, always verify the latest usage patterns at `https://v4.gluestack.io/ui/docs/components/${componentName}/`**
## Sub-Skills Organization
This skill is organized into specialized sub-skills for better token efficiency:
### 1. gluestack-ui-v4:setup
**Use for:** Initial project setup, installation, configuration, adding components
Covers:
- Using the official CLI (`npx gluestack-ui@alpha init -y` and `npx gluestack-ui@alpha add --all -y`)
- Project initialization for Expo, React Native CLI, and Next.js
- Dependency management
- Configuration files (tailwind, metro, babel, etc.)
- GluestackUIProvider setup
- Adding individual components
- Troubleshooting setup issues
**Invoke when:** Setting up gluestack-ui in a new or existing project, adding components via CLI, or troubleshooting installation issues
### 2. gluestack-ui-v4:creating-components
**Use for:** Step-by-step component creation, templates, recipes
Covers:
- Component creation workflow
- 6 ready-to-use templates (simple, variants, compound, form, interactive, loading)
- Common component recipes (profile cards, badges, search, lists)
- Best practices checklist
- Quick start guide
**Invoke when:** Creating new components from scratch or need component templates
### 3. gluestack-ui-v4:components
**Use for:** Component usage, compound patterns, icons, provider setup
Covers:
- Using Gluestack components over React Native primitives
- Component props vs className utilities
- Compound component patterns (Input, Button, FormControl, etc.)
- Icon usage hierarchy
- Provider setup
**Invoke when:** Working with component structure, props, and composition
### 4. gluestack-ui-v4:styling
**Use for:** Colors, spacing, dark mode, variants, className
Covers:
- Semantic color tokens
- Spacing scale adherence
- Dark mode with CSS variables
- Variant-based styling with tva
- className merging
**Invoke when:** Styling components, theming, or working with colors and spacing
### 5. gluestack-ui-v4:variants
**Use for:** Creating custom variants for components, extending design system
Covers:
- When and how to create variants
- Using tva for variant management
- Extending existing Gluestack components
- Parent-child variant relationships
- Compound variants for complex combinations
- Common variant patterns (badges, alerts, cards)
- Converting repeated styles to variants
**Invoke when:** Need to create custom variants for components, extend component styling options, or standardize repeated style patterns
### 6. gluestack-ui-v4:performance
**Use for:** Cross-platform, performance optimization, best practices
Covers:
- Cross-platform rendering (Native & Web)
- TypeScript usage
- Component memoization
- Animations with Reanimated
- Safe area handling
- FlatList for lists
- Platform-specific code
**Invoke when:** Optimizing performance, ensuring cross-platform compatibility, or following React Native best practices
### 7. gluestack-ui-v4:validation
**Use for:** Code review, anti-patterns, validation checklist
Covers:
- Complete validation checklist
- Anti-patterns to avoid
- Common mistakes
- Escalation guidance
**Invoke when:** Reviewing code, validating implementation, or checking for anti-patterns
## Quick Reference
### Resolution Hierarchy (in order of preference)
1. **Component props** - Use built-in props (size, variant, space)
2. **className utilities** - Use existing Tailwind/NativeWind classes
3. **Gluestack component variants** - Use built-in component variants
4. **tva (Tailwind Variant Authority)** - Create reusable variant patterns
5. **NativeWind interop** - Enable className on third-party components
6. **Inline styles** - Only as absolute last resort with documented justification
### Common Patterns
```tsx
// Component usage with props
<VStack space="lg" className="p-4">
<Heading size="xl" bold>Title</Heading>
<Text size="md" className="text-muted-foreground">Description</Text>
</VStack>
// Button with compound components
<Button variant="outline" size="lg">
<ButtonText>Click Me</ButtonText>
<ButtonIcon as={ChevronRightIcon} />
</Button>
// Input with icon (InputIcon MUST be in InputSlot)
<Input>
<InputSlot>
<InputIcon as={MailIcon} className="text-muted-foreground" />
</InputSlot>
<InputField placeholder="Enter email" />
</Input>
// Semantic color tokens
<Box className="bg-primary text-primary-foreground">
<Text className="text-foreground">Content</Text>
</Box>
```
## Key Rules Summary
1. **Always use Gluestack components** instead of React Native primitives
2. **Use component props** (space, size, variant) instead of className when available
3. **CRITICAL: ONLY semantic tokens for colors** - NEVER use `typography-*`, `neutral-*`, `gray-*`, `slate-*`, or numbered colors (`red-500`, `blue-600`). ONLY use semantic tokens: `text-foreground`, `text-muted-foreground`, `bg-primary`, `bg-card`, `border-border`, etc. with optional alpha values (`/70`, `/90`)
4. **No inline styles** unless absolutely necessary
5. **Follow spacing scale** (0, 0.5, 1, 2, 3, 4, etc.) - no arbitrary values
6. **Compound components required** - ButtonText, InputSlot, FormControlLabel, etc.
7. **InputIcon MUST be wrapped in InputSlot** - this is critical
8. **Use tva for variants** when creating custom components with multiple styles
9. **Dark mode with dark: prefix** - uses CSS variables
10. **Cross-platform compatible** - use Gluestack wrappers, not direct React Native imports
## Reference Documentation
**IMPORTANT: Always verify component usage and patterns in the official v4 documentation before using components.**
- **Component Docs**: `https://v4.gluestack.io/ui/docs/components/${componentName}/`
- **Complete Documentation**: https://v4.gluestack.io/ui/docs
- **Import Path**: `@/components/ui/${componentName}`
## How to Use Sub-Skills
When working on specific tasks, invoke the appropriate sub-skill for detailed guidance:
- **Setting up gluestack-ui or adding components?** → Use `gluestack-ui-v4:setup`
- **Creating a new component?** → Use `gluestack-ui-v4:creating-components`
- **Component structure questions?** → Use `gluestack-ui-v4:components`
- **Styling and theming questions?** → Use `gluestack-ui-v4:styling`
- **Creating or extending component variants?** → Use `gluestack-ui-v4:variants`
- **Performance or cross-platform questions?** → Use `gluestack-ui-v4:performance`
- **Need to validate or review code?** → Use `gluestack-ui-v4:valRelated in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.