responsive-testing — Claude Code skill: check layouts at every breakpoint
A skill that loads your app in Cursor's browser at five viewport widths, screenshots each one and flags broken layout.
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a claude-codeWhat responsive-testing does
Run this after a UI change and the agent walks the page through five widths: 375px, 428px, 768px, 1280px and 1536px. At each step it resizes the viewport, grabs a screenshot with browser_take_screenshot and reads the aria tree via browser_snapshot.
What it looks for: content spilling past the edge or buried under other blocks, nav bars that should collapse into a hamburger on phones, text too small to read, buttons sitting too close together, scrollbars that have no business being there. Flex and grid children that refuse to stack get checked too, along with modals, sticky headers and images that never shrink.
You get a per-width report with PASS or WARN plus a note on what went wrong. The agent then fixes the problem and re-runs the viewports it touched. A dev server has to be up: the skill points at http://localhost:3000 unless you give it another address.
What it helps with
- check layout after a UI change across five screen widths
- catch horizontal scroll that should not be there
- spot nav that fails to collapse into a hamburger on mobile
- find modals and sticky headers that break on small screens
- collect screenshots from every breakpoint into one report
Example prompts for the agent
- Run responsive-testing against the page at
http://localhost:3000 - Check the layout at 375px and 768px and show me the screenshots
- Re-test the mobile viewports after my header changes
How to install responsive-testing
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a claude-code2Manually: put the files in place
~/.claude/skills/responsive-testing/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/responsive-testing/
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a codex2Manually: put the files in place
.agents/skills/responsive-testing/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a cursor2Manually: put the files in place
.cursor/skills/responsive-testing/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install spencerpauly/awesome-cursor-skills responsive-testing2Manually: put the files in place
.github/skills/responsive-testing/SKILL.md1Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a gemini-cli2Platform CLI
gemini skills install https://github.com/spencerpauly/awesome-cursor-skills --path resources/responsive-testingManually: put the files in place
.devin/skills/responsive-testing/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about responsive-testing
How do I install responsive-testing in Claude Code?
Run npx skills add spencerpauly/awesome-cursor-skills --skill responsive-testing -a claude-code. The skill lands in ~/.claude/skills/responsive-testing/SKILL.md.
What does responsive-testing do?
It opens the app in Cursor's browser at five viewport sizes, screenshots each and inspects the aria tree for overflow, cramped buttons and stray scrollbars. The run ends with a report of PASS and WARN lines.
Which platforms can run this skill?
Besides Claude it installs into Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
Source text
SKILL.md · CC0-1.0
--- name: responsive-testing description: Open the app in Cursor's browser at multiple viewport sizes, screenshot each, and report any layout breakage. user-invocable: true --- # Responsive Testing After a UI change, verify the app looks correct at all standard breakpoints. ## Viewports to Test | Name | Width | Tailwind | |------|-------|----------| | Mobile (small) | 375px | default | | Mobile (large) | 428px | default | | Tablet | 768px | `md:` | | Desktop | 1280px | `xl:` | | Ultrawide | 1536px | `2xl:` | ## Workflow ### 1. Navigate to the Page Use `browser_navigate` to open the target URL (usually `http://localhost:3000` or whatever the dev server is running on). ### 2. Test Each Viewport For each viewport size: 1. Resize the viewport using `browser_navigate` with viewport parameters, or use `browser_snapshot` to inspect the layout 2. Take a screenshot with `browser_take_screenshot` 3. Check `browser_snapshot` for the aria tree — look for: - Content overflowing or hidden behind other elements - Navigation that should collapse into a hamburger menu - Text that's too small to read - Buttons/links too close together (touch target issues) - Horizontal scrollbars that shouldn't exist ### 3. Check for Common Breakage - **Overflow**: Elements wider than the viewport causing horizontal scroll - **Collapsed layout**: Flex/grid items that should stack on mobile but don't - **Hidden content**: Elements that disappear at certain sizes without a menu toggle - **Font scaling**: Text that's readable on desktop but tiny on mobile - **Fixed positioning**: Modals, toasts, or sticky headers that break on small screens - **Images**: Oversized images that don't scale down ### 4. Report ``` Responsive Test Results: 375px (mobile): PASS — layout stacks correctly 428px (mobile): PASS 768px (tablet): WARN — nav items overlap, need hamburger menu 1280px (desktop): PASS 1536px (ultrawide): WARN — content not centered, stretched too wide ``` Fix any issues found, then re-test the affected viewports.
© spencerpauly · CC0-1.0 · spencerpauly/awesome-cursor-skills