plugins/smedjen/skills/expo-dev-client/SKILL.md
Custom Expo dev client setup, native module debugging, and development build workflows for projects that need native code beyond Expo Go's scope.
npx skillsauth add hjemmesidekongen/ai expo-dev-clientInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
expo-dev-client replaces Expo Go with a custom native runtime that includes your app's native modules and config plugin modifications. Required as soon as you add any package with a native layer.
Expo Go: sandboxed, zero-build, Expo SDK modules only. No third-party native modules, no custom native code. Start here. Dev Client: a real development build of your app — includes your native dependencies, config plugin results, and custom native code. Requires a one-time build per native change; JS changes reload instantly without rebuilding.
Switch from Expo Go to dev client the moment you need a native module.
npx expo install expo-dev-client
npx expo start --dev-client # after building and installing the dev client app
EAS Build development profile:
{ "build": { "development": { "developmentClient": true, "distribution": "internal",
"ios": { "simulator": true }, "android": { "buildType": "apk" } } } }
Build: eas build --profile development --platform ios|android
Native directories are managed by expo prebuild — never edit android/ or ios/ by hand. Apply all native customizations through config plugins in app.config.js. Run npx expo prebuild --clean to regenerate.
j in Metro terminal or shake devicereact-native-flipper; Network, Layout, and DB plugins work in dev client buildsSee references/process.md for native module integration, config plugin authoring, team distribution via EAS, error handling patterns, and anti-patterns.
development
Creates a brand from scratch through market research and interactive sparring. Runs competitive research via Perplexity, then guides the user through positioning, audience, voice, values, and content pillars. Produces the full brand guideline set at .ai/brand/{name}/. Use when building a new brand, defining brand strategy for a product, or when /våbenskjold:create is invoked.
testing
Loads brand guidelines from .ai/brand/{name}/ and makes them available to the current context. Progressive disclosure: L1 confirms brand exists, L2 loads summary, L3 loads specific files on demand. Use when a downstream skill or user needs brand context, or when /våbenskjold:apply is invoked.
documentation
Guided reinvention of an existing brand guideline. Loads current brand from .ai/brand/{name}/, identifies what to keep vs change, and walks the user through targeted evolution. Preserves brand equity while updating positioning, voice, or values. Use when refreshing a brand or when /våbenskjold:evolve is invoked.
development
Codifies an existing brand from materials, samples, and references. Analyzes provided content to extract voice patterns, values, and positioning. Produces the same guideline format as brand-strategy. Use when a brand already exists but isn't documented, or when /våbenskjold:audit is invoked.