expo-design-system

Builds and audits token-based design systems for Expo React Native apps.

Updated Sep 11, 2026
One-click install
npx skills add https://github.com/CYRUS-pinto/pi-bot --skill expo-design-system-cyrus-pinto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: expo-design-system
Source: https://github.com/CYRUS-pinto/pi-bot/tree/main/.agents/skills/expo-design-system
Command: npx skills add https://github.com/CYRUS-pinto/pi-bot --skill expo-design-system-cyrus-pinto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Expo apps often accumulate hardcoded colors, arbitrary spacing values, and inconsistent component styles across screens, making the UI look unpolished and hard to maintain. This Skill establishes a single visual source of truth through design tokens and reusable components, and audits existing apps for design-system 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. - Reusable Component Conventions: Defines a component contract with variant/size/state props, pressed-state feedback via Pressable, style overrides merged last, and rules for when a repeated view earns promotion into src/components/. - Drift Auditing: Provides grep-based checks, a per-100-SLOC scoring rubric, and an incremental adoption plan to migrate apps with hardcoded hex values, raw fontSize, and legacy shadow props. - Use Case: When an AI-generated screen uses hardcoded #5B21B6 and padding: 13, use this Skill to move those values into theme tokens and standardize the screen against the app's design system. ## Quick Start Use the expo-design-system skill to set up a token theme in src/theme and audit my screens for hardcoded style values.

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 src/theme directory with token files for colors, spacing, typography, radius, shadows, and motion, exported through a single index entry point. Build reusable components in src/components with variant, size, and state props that consume those tokens.

How to audit a React Native app for hardcoded style values?

Run grep checks for hex colors, raw fontSize, non-scale spacing values, borderRadius, and legacy shadow props outside the theme directory. Score each category as escapes per 100 source lines to prioritize which token class to migrate first.

Does this work with NativeWind, Tamagui, or Restyle?

Yes, but the existing styling library remains the source of truth and is extended in its own idiom. For Tailwind projects, tokens live in global.css as CSS variables; never introduce a second competing theme system beside an existing one.

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 stepwise from inline JSX to screen-local component to src/components, never speculatively.

Why should shadows use boxShadow instead of elevation in Expo?

The skill mandates boxShadow strings for all shadows and bans legacy shadowColor, shadowOffset, and elevation props. Define two or three elevation levels as token strings in theme/shadows.ts so shadows stay consistent across the app.