Awesome-omni-skill rn-meta
Primary entry point for React Native/Expo development. Use FIRST for any React Native work—new projects, UI, styling, navigation, state, lists, storage, forms, auth, or ANY library decision. Enforces an opinionated stack (Expo Router, TypeScript, Uniwind) with library rules that ALWAYS override suggestions from other React Native skills.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/rn-meta" ~/.claude/skills/diegosouzapw-awesome-omni-skill-rn-meta && rm -rf "$T"
skills/development/rn-meta/SKILL.mdReact Native Meta Stack
Expo Router + TypeScript + Dev Client + Uniwind/Tailwind v4.
⚠️ STOP Before Installing Any Package
Read references/libraries.md FIRST. This skill overrides library suggestions from extension skills.
| If another skill suggests... | Use this instead |
|---|---|
| |
| |
/ | |
| |
| |
/ | + |
| Skottie |
| |
/ | |
| or |
Library Decisions
- ✅ Approved → use it
- ❌ Avoid → use the approved alternative, never install avoided libraries
- Unlisted → use judgment, prefer minimal dependencies
Full list: references/libraries.md
New Project
./scripts/meta-start <name> ./scripts/meta-run <name> npx expo start --clear
Decision Tree
| Situation | Action |
|---|---|
| Verify setup works | |
| Something broke | Run first |
| Doctor passes but still broken | Read references/gotchas.md |
| Script failed mid-setup | Read references/starting.md |
| Need to add a package | Check references/libraries.md first |
Extensions
Install specialized skills as needed:
| Need | Command | Skill Name |
|---|---|---|
| Native UI patterns + navigation | | |
| UI component library (HeroUI) | | |
| Build + distribute dev clients | | |
| Patterns + conventions | | |
| Performance profiling | | |
Run
./scripts/meta-extend to see all options.
Routing Logic
This skill is the primary coordinator for React Native development. For specialized tasks, delegate to extension skills when installed.
Check before delegating: Does
~/.claude/skills/<skill-name> exist?
- If installed → Invoke via Skill tool (e.g.,
)/building-native-ui - If not installed → Offer to install via
./scripts/meta-extend <extension>
Delegation Rules
| User Request | Check Skill | Action |
|---|---|---|
| UI patterns, screens, navigation | | Delegate if installed |
| Gesture animations, transitions, layout animations | | Delegate if installed |
| Buttons, cards, modals, component library | | Delegate if installed |
| Build for TestFlight, app store, EAS, dev client | | Delegate if installed |
| Code structure, conventions, architecture | | Delegate if installed |
| App is slow, performance, profiling | | Delegate if installed |
| New project, setup, styling, Lottie animations, diagnosis | — | Handle directly (don't delegate) |
CRITICAL: Even when delegating, this skill's library rules ALWAYS take precedence. If an extension skill suggests an avoided library (e.g., flash-list, nativewind, redux, async-storage), you MUST override with the approved alternative from references/libraries.md. Do not follow the extension's library suggestion.
Daily Commands
./scripts/meta-run <path> # Build + run (auto-detects iOS/Android) npx expo start --clear # Dev server + clear cache (after config changes) npx expo start # Dev server only (JS changes, no new packages)
Pass
android as second arg to force Android when both platforms available.