playwright-responsive-screenshots
Captures screenshots at multiple viewport breakpoints for responsive design validation and documentation. Use when you need to test responsive layouts, validate mobile/tablet/desktop views, document design system breakpoints, or create visual regression test baselines. Triggers on "test responsive design", "screenshot at breakpoints", "capture mobile and desktop views", "responsive design testing", or "multi-device screenshots". Works with Playwright MCP tools (browser_navigate, browser_resize, browser_take_screenshot).
What this skill does
# Playwright Responsive Screenshots
## Quick Start
Capture screenshots across standard breakpoints in one command:
```
Capture responsive screenshots of https://example.com at mobile, tablet, and desktop breakpoints
```
This skill automates:
- Browser window resizing to standard breakpoints
- Layout settling wait times
- Full-page screenshot capture
- Organized file naming with breakpoint identifiers
- Optional comparison report generation
## Table of Contents
1. When to Use This Skill
2. What This Skill Does
3. Standard Breakpoints
4. Instructions
4.1. Basic Screenshot Capture
4.2. Custom Breakpoints
4.3. Multiple Pages
4.4. With Comparison Report
5. Supporting Files
6. Expected Outcomes
7. Requirements
8. Red Flags to Avoid
## When to Use This Skill
**Explicit Triggers:**
- "Test responsive design for [URL]"
- "Screenshot at breakpoints"
- "Capture mobile and desktop views of [page]"
- "Validate responsive layout"
- "Generate screenshots for design review"
**Implicit Triggers:**
- User mentions testing across devices
- Request for multi-device validation
- Need to document responsive behavior
- Visual regression testing setup
- Design system breakpoint validation
**Debugging Scenarios:**
- Layout breaks at certain viewport widths
- Media query verification needed
- CSS breakpoint testing
- Responsive component validation
## What This Skill Does
This skill provides an automated workflow for capturing screenshots at multiple viewport sizes:
1. **Define breakpoints** - Use standard or custom viewport dimensions
2. **Navigate to target** - Open the URL in Playwright browser
3. **Resize and capture** - For each breakpoint: resize window, wait for layout, screenshot
4. **Organize output** - Name files with breakpoint identifiers (e.g., `homepage-mobile.png`)
5. **Generate report** - Optional comparison table with screenshot paths
**Key Benefits:**
- Consistent viewport sizes across captures
- Proper layout settling before screenshots
- Organized file naming convention
- Full-page screenshots by default
- Reproducible test results
## Standard Breakpoints
This skill uses industry-standard breakpoints by default:
| Device Category | Width × Height | Common Devices |
|----------------|----------------|----------------|
| **Mobile** | 375 × 667 | iPhone SE, iPhone 12/13/14 |
| **Tablet** | 768 × 1024 | iPad, iPad Mini, Android tablets |
| **Desktop** | 1920 × 1080 | Standard HD desktop/laptop |
**Breakpoint Selection Rationale:**
- Mobile: Most common iPhone viewport (covers ~40% of mobile traffic)
- Tablet: Standard iPad portrait orientation
- Desktop: 1080p standard (most common desktop resolution)
**When to Use Custom Breakpoints:**
- Testing specific device models
- Validating custom media query breakpoints
- Client-specific device requirements
- Edge case viewport testing (ultra-wide, small tablets, etc.)
## Instructions
### 4.1. Basic Screenshot Capture
**Workflow:**
1. **Define target and breakpoints**
```
URL: https://example.com/page
Breakpoints: mobile, tablet, desktop (standard)
```
2. **Navigate to page**
- Use `browser_navigate` to open URL
- Verify page loads successfully
3. **For each breakpoint:**
- **Resize browser window** using `browser_resize`
- **Wait for layout to settle** using `browser_wait_for` (1 second minimum)
- **Capture full-page screenshot** using `browser_take_screenshot` with `fullPage: true`
- **Name file descriptively**: `{page-name}-{breakpoint}.png`
4. **Organize screenshots**
- Save to predictable location (e.g., `screenshots/`)
- Group by page or breakpoint as appropriate
5. **Confirm completion**
- Report number of screenshots captured
- List file paths for user verification
**Example:**
```
User: "Capture responsive screenshots of https://myapp.dev/dashboard"
Assistant workflow:
1. browser_navigate to https://myapp.dev/dashboard
2. browser_resize(375, 667) → wait 1s → browser_take_screenshot("dashboard-mobile.png", fullPage: true)
3. browser_resize(768, 1024) → wait 1s → browser_take_screenshot("dashboard-tablet.png", fullPage: true)
4. browser_resize(1920, 1080) → wait 1s → browser_take_screenshot("dashboard-desktop.png", fullPage: true)
5. Report: "Captured 3 screenshots: dashboard-mobile.png, dashboard-tablet.png, dashboard-desktop.png"
```
### 4.2. Custom Breakpoints
**When user specifies custom viewport sizes:**
1. **Parse breakpoint specifications**
- Accept formats: "414x896" or "414 x 896" or "width: 414, height: 896"
- Validate dimensions are reasonable (width 200-3840, height 200-2160)
2. **Name custom breakpoints descriptively**
- Use width for identifier: "homepage-414w.png"
- Or use user-provided labels: "homepage-iphone14pro.png"
3. **Follow same workflow**
- Navigate → Resize → Wait → Capture
- Apply 1-second wait minimum after resize
**Example:**
```
User: "Screenshot https://app.com at 414x896 (iPhone 14 Pro) and 393x851 (Pixel 7)"
Assistant workflow:
1. browser_navigate to https://app.com
2. browser_resize(414, 896) → wait 1s → browser_take_screenshot("app-iphone14pro.png", fullPage: true)
3. browser_resize(393, 851) → wait 1s → browser_take_screenshot("app-pixel7.png", fullPage: true)
```
### 4.3. Multiple Pages
**For testing multiple pages at standard breakpoints:**
1. **Create page list**
- Extract page names from URLs for file naming
- Examples: "/dashboard" → "dashboard", "/settings/profile" → "settings-profile"
2. **Nested loop structure**
- Outer loop: pages
- Inner loop: breakpoints
- Alternative: breakpoints outer, pages inner (user preference)
3. **Naming convention**
- `{page-name}-{breakpoint}.png`
- Example: `dashboard-mobile.png`, `dashboard-tablet.png`, `settings-mobile.png`
4. **Optimize navigation**
- Navigate once per page (before breakpoint loop)
- Resize/capture without re-navigating
**Example:**
```
User: "Capture responsive screenshots for /home, /products, and /about pages on https://shop.com"
Assistant workflow:
For each page in ["/home", "/products", "/about"]:
1. browser_navigate to https://shop.com{page}
2. For each breakpoint in [mobile, tablet, desktop]:
- browser_resize(width, height)
- browser_wait_for(1 second)
- browser_take_screenshot("{page-name}-{breakpoint}.png", fullPage: true)
Result: 9 screenshots (3 pages × 3 breakpoints)
```
### 4.4. With Comparison Report
**Generate markdown report after screenshot capture:**
1. Capture screenshots (as above)
2. Create markdown table with embedded images and metadata
3. Save to `screenshots/report.md` (or user-specified location)
4. Include timestamp, URL, dimensions, and layout notes
See `examples/examples.md` for full report template example.
## Supporting Files
### references/playwright-api.md
Playwright MCP tool reference for screenshot operations:
- `browser_navigate` - Navigation and URL handling
- `browser_resize` - Viewport dimension control
- `browser_wait_for` - Waiting strategies for layout settling
- `browser_take_screenshot` - Screenshot capture options
### examples/examples.md
Comprehensive screenshot capture examples:
- Standard breakpoint captures
- Custom device viewports
- Multi-page workflows
- Report generation
- Edge cases (ultra-wide, mobile landscape, etc.)
### scripts/validate_screenshots.py
Python utility to validate screenshot dimensions match expected breakpoints.
## Expected Outcomes
### Successful Screenshot Capture
```
✅ Responsive Screenshots Captured
URL: https://example.com/homepage
Breakpoints: mobile, tablet, desktop
Pages: 1
Screenshots:
✓ homepage-mobile.png (375×667, 234KB)
✓ homepage-tablet.png (768×1024, 512KB)
✓ homepage-desktop.png (1920×1080, 1.2MB)
Location: /Users/username/screenshots/
Total time: 8.3 seconds
All screenshots captured successfully. Full-page screenshots enabled.
```
### With Comparison Report
```
✅ Responsive Screenshots Captured with Report
URL: https://shop.com
Breakpoints: Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.