● Communauté
zaferayan
⚡ Instantané
skills
par zaferayan · zaferayan/skills
Expo + React Native skill for Claude Code — scaffolds screens, wires navigation, and respects the Expo way instead of reinventing it.
An Expo-flavored skill for Claude Code. Teaches Claude to build mobile apps the Expo way: expo-router for navigation, proper EAS config, Expo SDK modules over random npm packages. Avoids the common trap of LLMs suggesting outdated RN-CLI patterns.
Pourquoi l'utiliser
Fonctionnalités clés
- Expo SDK-aware scaffolding
- expo-router file-based navigation patterns
- EAS Build + Submit config guidance
- TypeScript + Zustand defaults
- Avoids RN-CLI era advice
Démo en direct
Aperçu en pratique
skills-skill-7.replay
▶ prêt
Cas d'usage
Usages concrets : skills
Quand l'utiliser : Day zero of a new project — you want tabs, stack, and a sign-in flow without reading three blog posts.
Déroulement
-
Create the app
Use the Expo skill. Start a new app 'TaskFlow' with expo-router, TypeScript, and the tabs template. Include a login screen with email/password.✓ Copié
→ npx create-expo-app run, then file structure with app/(tabs)/ and app/(auth)/
-
Add state
Wire up Zustand for the auth store and persist to SecureStore.✓ Copié
→ stores/auth.ts with zustand + persist middleware using expo-secure-store
-
Test on device
Start the dev server and give me the QR code to scan.✓ Copié
→ npx expo start output
Résultat : A running app on your phone with tabs, auth, and persistence in under an hour.
Pièges
- Claude suggests react-native-cli patterns — Explicitly say 'Expo SDK, expo-router only' in prompts
Quand l'utiliser : First time submitting to TestFlight/Play.
Déroulement
-
Generate eas.json
Use the Expo skill. Generate eas.json with preview (internal) and production profiles, correct bundle identifier patterns, and env var injection.✓ Copié
→ Valid eas.json with both profiles
-
Wire secrets
Add my Sentry DSN and API base URL as EAS secrets for preview and production separately.✓ Copié
→ eas secret:create commands listed
-
Trigger the build
Now trigger a preview build for iOS.✓ Copié
→ eas build --profile preview --platform ios command
Résultat : EAS builds running, secrets managed.
Pièges
- Committing app.json with secrets inline — Secrets go in EAS env, not app.json; let Claude use expo-constants to read them
Integrate a native module using Expo config plugins
👤 Devs adding functionality that requires native code (camera, biometrics, push)
⏱ ~20 min
intermediate
Quand l'utiliser : You need functionality beyond JS, but don't want to eject.
Déroulement
-
Identify the right package
Use the Expo skill. I need biometric auth. What's the right Expo SDK module and how do I configure it?✓ Copié
→ expo-local-authentication named with config plugin entries
-
Wire config plugin
Add the config plugin entries and required iOS usage strings.✓ Copié
→ app.json diff with plugins array and NSFaceIDUsageDescription
Résultat : Native module integrated via managed workflow.
Pièges
- Adding raw native code and breaking managed workflow — Prefer Expo SDK modules and config plugins; eject only if truly needed
Combinaisons
Associez-le à d'autres MCPs pour un effet X10
Bulk-apply Expo idioms across an existing RN project
Migrate my RN-CLI app to Expo managed workflow; point at the source tree.✓ Copié
Commit each step separately so EAS setup changes are auditable
Commit the EAS config changes as a distinct commit before adding secrets.✓ Copié
Coût et limites
Coût d'exécution
- Quota d'API
- None built-in
- Tokens par appel
- Moderate
- Monétaire
- Expo is free; EAS Build has a free tier with paid scaling
- Astuce
- Use EAS local builds during dev; cloud builds only for preview/prod.
Sécurité
Permissions, secrets, portée
Stockage des identifiants : No direct creds; EAS secrets are managed by Expo
Sortie de données : None from skill itself
- Never commit eas.json with inline secrets; use eas secret:create.
- Treat expo-secure-store data as sensitive; it's encrypted but not invincible.
Dépannage
Erreurs courantes et correctifs
Metro can't find module after install
Run npx expo install rather than npm install so SDK-compatible versions are picked
Vérifier : npx expo-doctor
Build fails with 'unrecognized bundle identifier'
Bundle ID mismatch between app.json and Apple Developer portal; align them
Native module not found at runtime
Config plugin didn't run; rebuild with eas build or npx expo prebuild --clean
Alternatives
skills vs autres
| Alternative | Quand l'utiliser | Compromis |
| React Native CLI | You need maximum native control and don't mind managing Xcode/Gradle | Much more setup burden |
| Flutter | Cross-platform with Dart | Different language, different ecosystem |