Agent skill
detox
Provides comprehensive guidance for Detox mobile testing framework including React Native testing, E2E testing, and test synchronization. Use when the user asks about Detox, needs to test React Native applications, write E2E tests for mobile apps, or configure Detox.
Install this agent skill to your Project
npx add-skill https://github.com/partme-ai/full-stack-skills/tree/main/skills/testing-skills/detox
SKILL.md
When to use this skill
Use this skill whenever the user wants to:
- Write end-to-end tests for React Native applications using Detox
- Configure Detox for iOS simulators and Android emulators
- Use element matchers, actions, and assertions in Detox tests
- Integrate Detox tests into CI/CD pipelines
- Debug synchronization and timing issues in mobile tests
How to use this skill
Workflow
- Set up the environment: install Detox CLI, configure
.detoxrc.js, ensure Xcode/Android SDK are ready - Write test cases: use
element(by.id(...)),tap(),typeText(), andexpect() - Build and test:
detox buildthendetox test - Run in CI: save artifacts (logs, screenshots) on failure
1. Configuration (.detoxrc.js)
module.exports = {
testRunner: { args: { config: 'e2e/jest.config.js' } },
apps: {
'ios.debug': {
type: 'ios.app',
binaryPath: 'ios/build/MyApp.app',
build: 'xcodebuild -workspace ios/MyApp.xcworkspace -scheme MyApp -configuration Debug -sdk iphonesimulator',
},
'android.debug': {
type: 'android.apk',
binaryPath: 'android/app/build/outputs/apk/debug/app-debug.apk',
build: 'cd android && ./gradlew assembleDebug',
},
},
devices: {
simulator: { type: 'ios.simulator', device: { type: 'iPhone 15' } },
emulator: { type: 'android.emulator', device: { avdName: 'Pixel_6' } },
},
configurations: {
'ios.sim.debug': { device: 'simulator', app: 'ios.debug' },
'android.emu.debug': { device: 'emulator', app: 'android.debug' },
},
};
2. Test Example
describe('Login Flow', () => {
beforeAll(async () => {
await device.launchApp();
});
it('should login successfully', async () => {
await element(by.id('username-input')).typeText('testuser');
await element(by.id('password-input')).typeText('secret');
await element(by.id('login-button')).tap();
await expect(element(by.id('welcome-message'))).toBeVisible();
});
});
3. Running Tests
# Build the app
detox build --configuration ios.sim.debug
# Run tests
detox test --configuration ios.sim.debug
# With artifacts on failure
detox test --configuration ios.sim.debug --artifacts-location ./artifacts
Best Practices
- Use
testIDprops for stable element identification; avoid matching on text or animations - Keep build and device configurations consistent between local development and CI
- Save artifacts (logs, screenshots, videos) on failure for debugging
- Use environment variables for sensitive operations; configure retry and parallelization strategies
- Disable animations in test builds to avoid synchronization issues
Resources
- Official documentation: https://wix.github.io/Detox/
- GitHub: https://github.com/wix/Detox
Keywords
detox, React Native, E2E, end-to-end testing, mobile testing, iOS simulator, Android emulator, testID, synchronization, Wix Detox
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ocrmypdf-batch
OCRmyPDF batch processing skill — process multiple PDFs, Docker automation, shell scripting, and CI/CD integration. Use when the user needs to OCR many PDFs, set up automated OCR pipelines, or integrate OCR into workflows.
ocrmypdf-optimize
OCRmyPDF optimization skill — compress PDFs, configure PDF/A output, JBIG2 encoding, and lossless optimization. Use when the user needs to reduce PDF file size, create archival PDF/A files, or optimize OCR output.
ocrmypdf-image
OCRmyPDF image processing skill — deskew, rotate, clean, despeckle, remove border from scanned documents. Use when the user needs to improve scanned PDF quality, fix skewed pages, remove noise, or clean up scanned documents before OCR.
ocrmypdf-api
OCRmyPDF Python API and plugin skill — use OCRmyPDF programmatically from Python, integrate with applications, and extend with plugins (EasyOCR, PaddleOCR, AppleOCR). Use when the user needs to call OCRmyPDF from Python code, build OCR pipelines, or use alternative OCR engines.
ocrmypdf
OCRmyPDF core skill — add searchable OCR text layer to scanned PDFs, convert images to searchable PDFs, support 100+ languages via Tesseract. Use when the user needs to OCR a PDF, make a scanned PDF searchable, or extract text from scanned documents.
svelte
Guides Svelte and SvelteKit development including reactive components, stores, transitions, lifecycle hooks, SSR, file-based routing, and deployment. Use when the user needs to build Svelte components, create SvelteKit applications, implement reactivity patterns, or configure Svelte with Vite.
Didn't find tool you were looking for?