{"id":"f63dedb2-6ebd-4c75-8294-f095dd7622cb","shortId":"E8wPtf","kind":"skill","title":"expo-dev-client","tagline":"Build and distribute Expo development clients locally or via TestFlight","description":"Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.\n\n## When to Use\n- You need an Expo development client because the app depends on custom native code or targets not supported by Expo Go.\n- The task involves building, distributing, or testing EAS development builds on physical devices.\n- You need guidance on when to choose a dev client versus staying on plain Expo Go.\n\n## Important: When Development Clients Are Needed\n\n**Only create development clients when your app requires custom native code.** Most apps work fine in Expo Go.\n\nYou need a dev client ONLY when using:\n- Local Expo modules (custom native code)\n- Apple targets (widgets, app clips, extensions)\n- Third-party native modules not in Expo Go\n\n**Try Expo Go first** with `npx expo start`. If everything works, you don't need a dev client.\n\n## EAS Configuration\n\nEnsure `eas.json` has a development profile:\n\n```json\n{\n  \"cli\": {\n    \"version\": \">= 16.0.1\",\n    \"appVersionSource\": \"remote\"\n  },\n  \"build\": {\n    \"production\": {\n      \"autoIncrement\": true\n    },\n    \"development\": {\n      \"autoIncrement\": true,\n      \"developmentClient\": true\n    }\n  },\n  \"submit\": {\n    \"production\": {},\n    \"development\": {}\n  }\n}\n```\n\nKey settings:\n- `developmentClient: true` - Bundles expo-dev-client for development builds\n- `autoIncrement: true` - Automatically increments build numbers\n- `appVersionSource: \"remote\"` - Uses EAS as the source of truth for version numbers\n\n## Building for TestFlight\n\nBuild iOS dev client and submit to TestFlight in one command:\n\n```bash\neas build -p ios --profile development --submit\n```\n\nThis will:\n1. Build the development client in the cloud\n2. Automatically submit to App Store Connect\n3. Send you an email when the build is ready in TestFlight\n\nAfter receiving the TestFlight email:\n1. Download the build from TestFlight on your device\n2. Launch the app to see the expo-dev-client UI\n3. Connect to your local Metro bundler or scan a QR code\n\n## Building Locally\n\nBuild a development client on your machine:\n\n```bash\n# iOS (requires Xcode)\neas build -p ios --profile development --local\n\n# Android\neas build -p android --profile development --local\n```\n\nLocal builds output:\n- iOS: `.ipa` file\n- Android: `.apk` or `.aab` file\n\n## Installing Local Builds\n\nInstall iOS build on simulator:\n\n```bash\n# Find the .app in the .tar.gz output\ntar -xzf build-*.tar.gz\nxcrun simctl install booted ./path/to/App.app\n```\n\nInstall iOS build on device (requires signing):\n\n```bash\n# Use Xcode Devices window or ideviceinstaller\nideviceinstaller -i build.ipa\n```\n\nInstall Android build:\n\n```bash\nadb install build.apk\n```\n\n## Building for Specific Platform\n\n```bash\n# iOS only\neas build -p ios --profile development\n\n# Android only\neas build -p android --profile development\n\n# Both platforms\neas build --profile development\n```\n\n## Checking Build Status\n\n```bash\n# List recent builds\neas build:list\n\n# View build details\neas build:view\n```\n\n## Using the Dev Client\n\nOnce installed, the dev client provides:\n- **Development server connection** - Enter your Metro bundler URL or scan QR\n- **Build information** - View native build details\n- **Launcher UI** - Switch between development servers\n\nConnect to local development:\n\n```bash\n# Start Metro bundler\nnpx expo start --dev-client\n\n# Scan QR code with dev client or enter URL manually\n```\n\n## Troubleshooting\n\n**Build fails with signing errors:**\n```bash\neas credentials\n```\n\n**Clear build cache:**\n```bash\neas build -p ios --profile development --clear-cache\n```\n\n**Check EAS CLI version:**\n```bash\neas --version\neas update\n```\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["expo","dev","client","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding"],"capabilities":["skill","source-sickn33","skill-expo-dev-client","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/expo-dev-client","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34793 github stars · SKILL.md body (4,009 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:50:54.471Z","embedding":null,"createdAt":"2026-04-18T21:36:53.580Z","updatedAt":"2026-04-24T00:50:54.471Z","lastSeenAt":"2026-04-24T00:50:54.471Z","tsv":"'/path/to/app.app':376 '1':248,280 '16.0.1':179 '2':256,289 '3':263,301 'aab':350 'adb':398 'android':333,337,347,395,414,419 'apk':348 'app':43,55,109,115,138,260,292,363 'appl':135 'appversionsourc':180,212 'ask':565 'autoincr':184,187,206 'automat':208,257 'bash':238,322,360,384,397,405,431,481,507,513,527 'boot':375 'boundari':573 'branch':40 'build':5,17,71,77,182,205,210,224,227,240,249,270,283,313,315,327,335,342,354,357,370,379,396,401,409,417,425,429,434,436,439,442,465,469,502,511,515 'build.apk':400 'build.ipa':393 'bundl':198 'bundler':307,460,484 'cach':512,522 'chang':26 'check':428,523 'choos':87 'clarif':567 'clear':510,521,540 'clear-cach':520 'cli':177,525 'client':4,10,21,37,52,90,100,106,125,167,202,230,252,299,318,447,452,490,496 'clip':139 'cloud':255 'code':25,60,113,134,312,493 'command':237 'configur':169 'connect':262,302,456,477 'creat':19,33,104 'credenti':509 'criteria':576 'custom':34,58,111,132 'depend':56 'describ':544 'detail':440,470 'dev':3,89,124,166,201,229,298,446,451,489,495 'dev-client':488 'develop':9,20,51,76,99,105,174,186,193,204,244,251,317,331,339,413,421,427,454,475,480,519 'developmentcli':189,196 'devic':29,80,288,381,387 'distribut':7,72 'download':281 'ea':16,75,168,215,239,326,334,408,416,424,435,441,508,514,524,528,530 'eas.json':171 'email':267,279 'ensur':170 'enter':457,498 'environ':556 'environment-specif':555 'error':506 'everyth':159 'expert':561 'expo':2,8,35,50,66,95,119,130,148,151,156,200,297,486 'expo-dev-cli':1,199,296 'extens':140 'fail':503 'file':346,351 'find':361 'fine':117 'first':153 'go':36,67,96,120,149,152 'guidanc':83 'ideviceinstal':390,391 'import':97 'increment':209 'inform':466 'input':570 'instal':352,355,374,377,394,399,449 'involv':70 'io':228,242,323,329,344,356,378,406,411,517 'ipa':345 'json':176 'key':194 'launch':290 'launcher':471 'limit':532 'list':432,437 'local':11,129,305,314,332,340,341,353,479 'machin':321 'manual':500 'match':541 'metro':306,459,483 'miss':578 'modul':131,145 'nativ':24,59,112,133,144,468 'need':48,82,102,122,164 'npx':155,485 'number':211,223 'one':236 'output':343,367,550 'p':241,328,336,410,418,516 'parti':143 'permiss':571 'physic':28,79 'plain':94 'platform':404,423 'product':183,192 'profil':175,243,330,338,412,420,426,518 'provid':453 'qr':311,464,492 'readi':272 'receiv':276 'recent':433 'remot':181,213 'requir':110,324,382,569 'review':562 'safeti':572 'scan':309,463,491 'scope':543 'see':294 'send':264 'server':455,476 'set':195 'sign':383,505 'simctl':373 'simul':359 'skill':535 'skill-expo-dev-client' 'sourc':218 'source-sickn33' 'specif':403,557 'start':157,482,487 'status':430 'stay':92 'stop':563 'store':261 'submit':191,232,245,258 'substitut':553 'success':575 'support':64 'switch':473 'tar':368 'tar.gz':366,371 'target':62,136 'task':69,539 'test':23,39,74,559 'testflight':14,226,234,274,278,285 'third':142 'third-parti':141 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':548 'tri':150 'troubleshoot':501 'true':185,188,190,197,207 'truth':220 'ui':300,472 'updat':531 'url':461,499 'use':15,30,46,128,214,385,444,533 'valid':558 'version':178,222,526,529 'versus':91 'via':13 'view':438,443,467 'widget':137 'window':388 'work':116,160 'xcode':325,386 'xcrun':372 'xzf':369","prices":[{"id":"feafffea-ba95-40cc-820e-35e0acd35b97","listingId":"f63dedb2-6ebd-4c75-8294-f095dd7622cb","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:36:53.580Z"}],"sources":[{"listingId":"f63dedb2-6ebd-4c75-8294-f095dd7622cb","source":"github","sourceId":"sickn33/antigravity-awesome-skills/expo-dev-client","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/expo-dev-client","isPrimary":false,"firstSeenAt":"2026-04-18T21:36:53.580Z","lastSeenAt":"2026-04-24T00:50:54.471Z"}],"details":{"listingId":"f63dedb2-6ebd-4c75-8294-f095dd7622cb","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"expo-dev-client","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34793,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T00:28:59Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"81cf32d2ab9d12e0e63795d88a322a36d3664ef2","skill_md_path":"skills/expo-dev-client/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/expo-dev-client"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"expo-dev-client","license":"MIT","description":"Build and distribute Expo development clients locally or via TestFlight"},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/expo-dev-client"},"updatedAt":"2026-04-24T00:50:54.471Z"}}