expo-design-system

Build and audit design token themes and reusable components in Expo apps.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/gmackie/agent-skills --skill expo-design-system-gmackie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: expo-design-system
Source: https://github.com/gmackie/agent-skills/tree/main/skills/expo-design-system
Command: npx skills add https://github.com/gmackie/agent-skills --skill expo-design-system-gmackie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Expo apps often accumulate design-system drift: hardcoded hex colors, arbitrary spacing values, and inconsistent component APIs scattered across screens. This Skill establishes a single visual source of truth through a token theme and reusable component conventions, and provides grep-based audits to measure and fix drift. ## Core Features & Use Cases - Token Theme Setup: Creates a src/theme/ structure covering colors (platform semantic colors via Platform.select), spacing on a 4-point grid, typography ramps, radius, boxShadow strings, and motion durations. - Component Contract: Defines reusable primitives with explicit variant, size, state (pressed/disabled/loading), and style-override props, plus rules for when a repeated view earns extraction into src/components/. - Drift Auditing: Ships references/audit.md with grep checks, a per-100-SLOC scoring rubric, an incremental adoption order, and templates for documenting or proposing components. - Use Case: When AI-generated screens look inconsistent, run the audit to find hardcoded values, derive tokens from the most frequent ones, and migrate screens one commit at a time. ## Quick Start Use the expo-design-system skill to audit my app for hardcoded style values and set up a token theme under src/theme.

Frequently Asked Questions about expo-design-system

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

FAQPage Schema
How do I create a design system in an Expo app?▼

Create a single theme entry point under src/theme/ with token files for colors, spacing, typography, radius, shadows, and motion. Build the palette from platform semantic colors via Platform.select, use a 4-point spacing grid, and expose text styles through one ThemedText component.

How do I audit an Expo app for hardcoded style values?▼

Run the grep-based checks in references/audit.md to find hex colors, raw fontSize, non-scale spacing values, and legacy shadow props outside the theme directory. Score each category as escapes per 100 source lines to prioritize migration targets.

Does this work with NativeWind, Tamagui, or Restyle?▼

Yes, but an existing styling library is treated as the source of truth and extended in its own idiom rather than replaced. For Tailwind projects, tokens live in global.css as CSS variables while the same scales and naming apply.

When should I extract a view into a shared component?▼

Extract only when the view appears in two or more screens, has a nameable role like Card or EmptyState, and its props API is smaller than its implementation. Move one step at a time from inline JSX to screen-colocated component to src/components/.

Why should I avoid legacy shadow props in React Native?▼

Legacy shadowColor, shadowOffset, and elevation props are banned in favor of boxShadow strings, which provide consistent cross-platform rendering. Define two or three elevation levels as boxShadow tokens in theme/shadows.ts.