responsive-mobile-testing
Skill1 starsChanged 2 months agoMITView on GitHub
Test responsive web across breakpoints and real mobile behavior — touch targets, safe areas, virtual keyboard, orientation, offline — plus native/React Native flows with Appium or Detox. Use when asked about mobile testing, responsive layout, breakpoints, or app testing.
In this repository34 other files it gives its agents.
- a11y-auditSkill
- api-contract-testingSkill
- autonomous-explorationSkill
- bug-reproSkill
- chaos-resilienceSkill
- ci-wiringSkill
- contract-testing-pactSkill
- coverage-ratchetSkill
- database-testingSkill
- e2e-authoringSkill
- environment-paritySkill
- exploratory-chartersSkill
- false-positive-hunterSkill
- flake-forensicsSkill
- i18n-l10n-testingSkill
- load-and-stressSkill
- mutation-proofSkill
- never-break-prodSkill
- payment-testingSkill
- perf-budgetSkill
- qa-triageSkill
- regression-curationSkill
- release-gateSkill
- risk-mapSkill
- root-cause-protocolSkill
- security-regressionSkill
- smoke-and-sanitySkill
- state-machine-testingSkill
- test-data-managementSkill
- test-strategySkill
- tracking-testingSkill
- transactional-email-testingSkill
- unit-test-authoringSkill
- visual-regressionSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Test the boundaries, not the middles — bugs live at the edges of media queries:
- Distinctive: line 41
Pull-to-refresh and back gesture: must not destroy unsaved form state.
- Very specific: line 43
Use Playwright device descriptors (devices['iPhone 14']) for shape and touch, but remember they emulate — final verification of gestures, …
- Distinctive: line 52
Always cover: cold start, background/resume with state, permission denied paths, deep links, offline launch, and …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Responsive & Mobile
Breakpoint matrix
Test the boundaries, not the middles — bugs live at the edges of media queries:
| Width | Represents | Check |
| 320px | smallest supported phone | no horizontal scroll, nothing clipped |
| 375 / 390px | common phone | primary flow completable one-handed |
| 768px | tablet portrait / breakpoint edge | layout switches cleanly, no duplicate nav |
| 1024px | tablet landscape / small laptop | — |
| 1440px+ | desktop | no absurd line lengths |
for (const vp of [{ width: 320, height: 568 }, { width: 390, height: 844 }, { width: 768, height: 1024 }]) {
test(`checkout at ${vp.width}px`, async ({ page }) => {
await page.setViewportSize(vp)
await expect(page.getByRole('button', { name: 'Place order' })).toBeVisible()
const overflow = await page.evaluate(() => document.documentElement.scrollWidth > document.documentElement.clientWidth)
expect(overflow, 'horizontal overflow at this breakpoint').toBe(false)
})
}Mobile-specific behavior the desktop suite never catches
- Touch targets: 24x24 CSS px minimum (WCAG 2.2), 44x44 recommended; check spacing between adjacent targets too.
- Virtual keyboard: does it cover the submit button? Does the focused field scroll into view?
- Safe areas: notch and home indicator —
env(safe-area-inset-*). - Orientation change mid-flow: state must survive.
- Real touch events:
page.tap()withhasTouch: true, notclick(). Hover-only affordances are invisible on touch — flag every one. - Network reality: throttle to Fast 3G and test the offline/reconnect path.
- Pull-to-refresh and back gesture must not destroy unsaved form state.
Use Playwright device descriptors (devices['iPhone 14']) for shape and touch, but remember
they emulate — final verification of gestures, permissions and push belongs on a real device
or a device cloud.
Native apps
- Detox (React Native): gray-box, synchronizes with the app's own idle state — far less flaky than black-box waits.
- Appium: cross-platform, black-box; use accessibility ids as locators, never coordinates.
- Always cover: cold start, background/resume with state, permission denied paths, deep links, offline launch, and upgrade-over-existing-install (the most skipped and most damaging).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

