Agent skill

Expo Native UI

by arcboxlabs in arcboxlabs/linkcode

Framework (OSS). An agent skill from arcboxlabs/linkcode.

MITAuto-check passedMobile

Install Expo Native UI

skills CLI
$ npx skills add arcboxlabs/linkcode --skill expo-native-ui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install arcboxlabs/linkcode expo-native-ui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/arcboxlabs/linkcode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/expo-native-ui .claude/skills/expo-native-ui && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
expo-native-ui
GitHub stars
156
Token cost
~2.2k tokens
SKILL.md length
863 words
Files
10 (incl. references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Framework (OSS). An agent skill from arcboxlabs/linkcode.

  • Works in 3 steps: Start with Expo Go: Run npx expo start… → Check if features work: Test your app… → Only create custom builds when required…
  • Tasks that involve Cross-platform mobile apps
  • SKILL.md covers References, Running the App, Code Style and Library Preferences, plus 7 more sections
  • Calls npx and eas

What it does

Expo Native UI is an agent skill from arcboxlabs/linkcode. Framework (OSS). Build beautiful, native-feeling Expo screens. Covers Apple HIG styling, semantic colors, native controls, SF Symbols, media, animations, visual effects, gradients, storage, and responsive layout. For routing and navigation, use the expo-router skill.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `agents/openai.yaml`, `references/animations.md` and `references/controls.md`).

It sits in Mobile, covering Cross-platform mobile apps and Mobile UI design. It works with Expo and React Native. The repository describes itself as: Open-source alternative to Codex App / Workbuddy, supporting Codex, Claude Code, OpenCode, Pi, and Grok Build. Codex App / WorkBuddy 的开源平替,支持 Codex、Claude Code、OpenCode、Pi 和 Grok… The licence is MIT.

When your agent uses it

  • Tasks that involve Cross-platform mobile apps
  • Tasks that involve Mobile UI design

Example prompts

  • “/expo-native-ui”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Start with Expo Go: Run npx expo start and scan the QR code with Expo Go
  2. Check if features work: Test your app thoroughly in Expo Go
  3. Only create custom builds when required - see below

What it can do on your machine

Read from SKILL.md and the folder at commit 22c337f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx
    • eas

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Expo Native UI loads about 2.2k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 863 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~14k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from arcboxlabs/linkcode at commit 22c337f, republished under its MIT licence (© arcboxlabs). 863 words, ~2,203 tokens.

Download SKILL.mdSave it as .claude/skills/expo-native-ui/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
expo-native-ui
description
Framework (OSS). Build beautiful, native-feeling Expo screens. Covers Apple HIG styling, semantic colors, native controls, SF Symbols, media, animations, visual effects, gradients, storage, and responsive layout. For routing and navigation, use the expo-router skill.
version
1.1.1
license
MIT

Expo Native UI Guidelines

For routes, links, stacks, tabs, modals, sheets, and headers, use the expo-router skill.

References

Consult these resources as needed:

references/
  animations.md          Reanimated: entering, exiting, layout, scroll-driven, gestures
  controls.md            Native iOS: Switch, Slider, SegmentedControl, DateTimePicker, Picker
  gradients.md           CSS gradients via experimental_backgroundImage (New Arch only)
  icons.md               SF Symbols via expo-image (sf: source), names, animations, weights
  media.md               Camera, audio, video, and file saving
  storage.md             SQLite, AsyncStorage, SecureStore
  visual-effects.md      Blur (expo-blur) and liquid glass (expo-glass-effect)
  webgpu-three.md        3D graphics, games, GPU visualizations with WebGPU and Three.js

Running the App

CRITICAL: Always try Expo Go first before creating custom builds.

Most Expo apps work in Expo Go without any custom native code. Before running npx expo run:ios or npx expo run:android:

  1. Start with Expo Go: Run npx expo start and scan the QR code with Expo Go
  2. Check if features work: Test your app thoroughly in Expo Go
  3. Only create custom builds when required - see below
When Custom Builds Are Required

You need npx expo run:ios/android or eas build ONLY when using:

  • Local Expo modules (custom native code in modules/)
  • Apple targets (widgets, app clips, extensions via @bacons/apple-targets)
  • Third-party native modules not included in Expo Go
  • Custom native configuration that can't be expressed in app.json
When Expo Go Works

Expo Go supports a huge range of features out of the box:

  • All expo-* packages (camera, location, notifications, etc.)
  • Expo Router navigation
  • Most UI libraries (reanimated, gesture handler, etc.)
  • Push notifications, deep links, and more

If you're unsure, try Expo Go first. Creating custom builds adds complexity, slower iteration, and requires Xcode/Android Studio setup.

Code Style

  • Be cautious of unterminated strings. Ensure nested backticks are escaped; never forget to escape quotes correctly.
  • Always use import statements at the top of the file.
  • Always use kebab-case for file names, e.g. comment-card.tsx
  • Never use special characters in file names
  • Configure tsconfig.json with path aliases, and prefer aliases over relative imports for refactors.

Library Preferences

  • Never use modules removed from React Native such as Picker, WebView, SafeAreaView, or AsyncStorage
  • Never use legacy expo-permissions
  • expo-audio not expo-av
  • expo-video not expo-av
  • expo-image with source="sf:name" for SF Symbols, not expo-symbols or @expo/vector-icons
  • react-native-safe-area-context not react-native SafeAreaView
  • process.env.EXPO_OS not Platform.OS
  • React.use not React.useContext
  • expo-image Image component instead of intrinsic element img
  • expo-glass-effect for liquid glass backdrops
  • Color from expo-router for native semantic colors, not raw PlatformColor (type-safe, auto-adapts to light/dark)
  • In SDK 56+, never import from @react-navigation/* directly — use expo-router/react-navigation instead (covers @react-navigation/native, /core, /elements, /routers)

Responsiveness

  • Always wrap root component in a scroll view for responsiveness
  • Use <ScrollView contentInsetAdjustmentBehavior="automatic" /> instead of <SafeAreaView> for smarter safe area insets
  • contentInsetAdjustmentBehavior="automatic" should be applied to FlatList and SectionList as well
  • Use flexbox instead of Dimensions API
  • ALWAYS prefer useWindowDimensions over Dimensions.get() to measure screen size

Behavior

  • Use expo-haptics conditionally on iOS to make more delightful experiences
  • Use views with built-in haptics like <Switch /> from React Native and @react-native-community/datetimepicker
  • When a route belongs to a Stack, its first child should almost always be a ScrollView with contentInsetAdjustmentBehavior="automatic" set
  • When adding a ScrollView to the page it should almost always be the first component inside the route component
  • Use the <Text selectable /> prop on text containing data that could be copied
  • Consider formatting large numbers like 1.4M or 38k
  • Never use intrinsic elements like 'img' or 'div' unless in a webview or Expo DOM component

Styling

Follow Apple Human Interface Guidelines.

Show full SKILL.md (365 more words)Show less

General Styling Rules

  • Prefer flex gap over margin and padding styles
  • Prefer padding over margin where possible
  • Always account for safe area, either with stack headers, tabs, or ScrollView/FlatList contentInsetAdjustmentBehavior="automatic"
  • Ensure both top and bottom safe area insets are accounted for
  • Inline styles not StyleSheet.create unless reusing styles is faster
  • Add entering and exiting animations for state changes
  • Use { borderCurve: 'continuous' } for rounded corners unless creating a capsule shape
  • ALWAYS use a navigation stack title instead of a custom text element on the page
  • When padding a ScrollView, use contentContainerStyle padding and gap instead of padding on the ScrollView itself (reduces clipping)
  • CSS and Tailwind are not supported - use inline styles

Colors

Use the Color API from expo-router for native semantic colors. It is a type-safe wrapper over PlatformColor that exposes iOS UIKit colors through Color.ios.* and Android Material 3 colors through Color.android.material.* (static) or Color.android.dynamic.* (adapts to the user's wallpaper on Android 12+). These resolve on-device and automatically adapt to light/dark mode and accessibility settings, so you no longer maintain separate light/dark hex tables or a colors.web.ts file.

Color is platform-specific, so wrap each value in Platform.select with a default hex fallback for web. Centralize the palette in theme/colors.ts and import colors everywhere:

tsx
// theme/colors.ts
import { Platform } from "react-native";
import { Color } from "expo-router";

export const colors = {
  label: Platform.select({
    ios: Color.ios.label,
    android: Color.android.dynamic.onSurface,
    default: "#000000",
  })!,
  secondaryLabel: Platform.select({
    ios: Color.ios.secondaryLabel,
    android: Color.android.dynamic.onSurfaceVariant,
    default: "#3c3c43",
  })!,
  separator: Platform.select({
    ios: Color.ios.separator,
    android: Color.android.dynamic.outlineVariant,
    default: "#c6c6c8",
  })!,
  systemBackground: Platform.select({
    ios: Color.ios.systemBackground,
    android: Color.android.dynamic.surface,
    default: "#ffffff",
  })!,
  systemBlue: Platform.select({
    ios: Color.ios.systemBlue,
    android: Color.android.dynamic.primary,
    default: "#007aff",
  })!,
};
tsx
import { colors } from "@/theme/colors";

<View style={{ backgroundColor: colors.systemBackground }}>
  <Text style={{ color: colors.label }}>Title</Text>
</View>;
  • iOS re-resolves these colors automatically when the system theme changes. On Android, call useColorScheme() inside any component that renders them so it re-renders when the theme flips (required when React Compiler memoizes the component).
  • Don't pass Color / PlatformColor values into Reanimated styles — use static colors there (see references/animations.md).
  • Platform.select({...})! returns string | OpaqueColorValue. Most React Native style props accept ColorValue (string | OpaqueColorValue) so this works fine. But some third-party props only accept string (e.g. tintColor on expo-image). Cast when needed: colors.label as string.

Text Styling

  • Add the selectable prop to every <Text/> element displaying important data or error messages
  • Counters should use { fontVariant: 'tabular-nums' } for alignment

Shadows

Use CSS boxShadow style prop. NEVER use legacy React Native shadow or elevation styles.

tsx
<View style={{ boxShadow: "0 1px 2px rgba(0, 0, 0, 0.05)" }} />

'inset' shadows are supported.

Submitting Feedback

If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:

bash
npx --yes submit-expo-feedback@latest --category skills --subject "expo-native-ui" "<actionable feedback>"

Only submit when you have something specific and actionable to report. Include as much relevant context as possible.

© arcboxlabs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (references) in .agents/skills/expo-native-ui of arcboxlabs/linkcode.

  • SKILL.md
  • agents/openai.yaml
  • references/animations.md
  • references/controls.md
  • references/gradients.md
  • references/icons.md
  • references/media.md
  • references/storage.md
  • references/visual-effects.md
  • references/webgpu-three.md

Open the folder on GitHubat commit 22c337f

Compare with similar skills

Expo Native UI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Expo Native UI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Expo Native UI this skillarcboxlabs/linkcode156—~2.2kAutomated safety check: PassMIT
Appllama App Design SkillAppllama/appllama-skills2.5k1 repos~5kAutomated safety check: PassMIT
Appllama UsageAppllama/appllama-skills2.5k1 repos~1.6kAutomated safety check: PassMIT
React Native Experttech-leads-club/agent-skills7k—~3.2kAutomated safety check: PassCC-BY-4.0
Mobile AccessibilityCommunity-Access/accessibility-agents423—~1.1kAutomated safety check: PassMIT
Kb Mobile AccessibilityCommunity-Access/accessibility-agents423—~3.8kAutomated safety check: PassMIT

Similar skills

  • Appllama App Design Skill

    Appllama/appllama-skills

    Build native-feeling, benchmark-quality mobile app screens (Expo / React Native).

    2.5k GitHub starsUsed in 1 repo~5k tokens
    MobileAuto-check passed
  • Appllama Usage

    Appllama/appllama-skills

    Use the Appllama MCP (mcp.appllama.io) well — research real top-grossing mobile apps, their screens, flows, and UI elements, then build from what you learn.

    2.5k GitHub starsUsed in 1 repo~1.6k tokens
    MobileAuto-check passed
  • React Native Expert

    tech-leads-club/agent-skills

    Guides React Native and Expo work for cross-platform apps: Expo Router navigation, fast lists, Reanimated animation, platform-specific code and project structure.

    7k GitHub stars~3.2k tokensUpdated yesterday
    MobileAuto-check passed
  • Mobile Accessibility

    Community-Access/accessibility-agents

    React Native, Expo, iOS and Android: labels, roles and touch targets.

    423 GitHub stars~1.1k tokensUpdated 16 days ago
    MobileAuto-check passed
  • Kb Mobile Accessibility

    Community-Access/accessibility-agents

    Reference data, not a reviewer. An agent skill from Community-Access/accessibility-agents.

    423 GitHub stars~3.8k tokensUpdated 16 days ago
    MobileAuto-check passed
  • React Native Best Practices

    vercel-labs/openreview

    Official

    A prioritized rule set for React Native and Expo apps covering list performance, animation, navigation, UI patterns, state, rendering, monorepos and configuration.

    1.7k GitHub starsUsed in 17 repos~1.1k tokens
    MobileAuto-check passed

More from arcboxlabs/linkcode

  • Expo UI

    arcboxlabs/linkcode

    Framework (OSS). An agent skill from arcboxlabs/linkcode.

    156 GitHub stars~1.2k tokensUpdated 11 days ago
    Auto-check passed
  • Effect TS

    arcboxlabs/linkcode

    A skill your agent uses whenever working in a repository that uses Effect, even if the current task is in a new file or the user does not explicitly ask for Effect help.

    156 GitHub stars~2.5k tokensUpdated 11 days ago
    Auto-check passed
  • Linear

    arcboxlabs/linkcode

    ArcBox's Linear workflow. An agent skill from arcboxlabs/linkcode.

    156 GitHub stars~990 tokensUpdated 11 days ago
    Auto-check passed

Categories

Questions about Expo Native UI

What does Expo Native UI do?

Framework (OSS). An agent skill from arcboxlabs/linkcode. Expo Native UI is an agent skill from arcboxlabs/linkcode. Framework (OSS).

When should I use Expo Native UI?

Expo Native UI fits situations like: tasks that involve Cross-platform mobile apps; tasks that involve Mobile UI design.

How do I install Expo Native UI in Claude Code?

Run `npx skills add arcboxlabs/linkcode --skill expo-native-ui -a claude-code`. Or copy the skill folder (.agents/skills/expo-native-ui in arcboxlabs/linkcode) into .claude/skills/expo-native-ui in your project. Claude Code loads it when a task matches its description.

How do I install Expo Native UI in Codex?

Run `npx skills add arcboxlabs/linkcode --skill expo-native-ui -a codex`. Or copy the skill folder (.agents/skills/expo-native-ui in arcboxlabs/linkcode) into .agents/skills/expo-native-ui in your project. Codex loads it when a task matches its description.

Can I use Expo Native UI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add arcboxlabs/linkcode --skill expo-native-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/expo-native-ui, .gemini/skills/expo-native-ui, .github/skills/expo-native-ui and .opencode/skills/expo-native-ui in your project.

What does Expo Native UI need to run?

Going by SKILL.md and its folder, Expo Native UI needs the command-line tools its instructions call (npx and eas). Our summary lists: Node.js.

Does Expo Native UI access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Expo Native UI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Expo Native UI use?

Expo Native UI is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Expo Native UI use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 11k tokens, read only when the agent opens those files.

What are the alternatives to Expo Native UI?

Skills that share tags, products or a category with Expo Native UI: Appllama App Design Skill (Appllama/appllama-skills, 2.5k stars), Appllama Usage (Appllama/appllama-skills, 2.5k stars), React Native Expert (tech-leads-club/agent-skills, 7k stars) and Mobile Accessibility (Community-Access/accessibility-agents, 423 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Expo Native UI?

arcboxlabs (a GitHub organization) maintains it in arcboxlabs/linkcode, which has 156 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 28, 2026.

Source: arcboxlabs/linkcode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.