From partme-ai-full-stack-skills
Guides Detox E2E testing for React Native apps including iOS/Android configuration, element matchers/actions/assertions, CI/CD integration, and synchronization debugging.
npx claudepluginhub partme-ai/full-stack-skills --plugin t2ui-skillsThis skill uses the workspace's default tool permissions.
Use this skill whenever the user wants to:
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Use this skill whenever the user wants to:
.detoxrc.js, ensure Xcode/Android SDK are readyelement(by.id(...)), tap(), typeText(), and expect()detox build then detox testmodule.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' },
},
};
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();
});
});
# 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
testID props for stable element identification; avoid matching on text or animationsdetox, React Native, E2E, end-to-end testing, mobile testing, iOS simulator, Android emulator, testID, synchronization, Wix Detox