From frontend
Enforces Playwright MCP rules for ad-hoc screenshots in /tmp/, browser verification of changes, CSS/layout debugging with measurements and before/after shots. Auto-invokes with Playwright tools.
npx claudepluginhub fubits1/svelte-skills --plugin frontendThis skill uses the workspace's default tool permissions.
- **Ad-hoc screenshots (browser_take_screenshot): ALWAYS use `filename` with `/tmp/` path. NEVER relative paths. NEVER save to the project directory.** Every ad-hoc screenshot filename MUST start with `/tmp/`. Example: `/tmp/tabs-before.png`. Saving screenshots without `/tmp/` prefix pollutes the project with untracked files. This applies to screenshots YOU take for debugging/verification — NOT...
Suggests manual /compact at logical task boundaries in long Claude Code sessions and multi-phase tasks to avoid arbitrary auto-compaction losses.
Share bugs, ideas, or general feedback.
filename with /tmp/ path. NEVER relative paths. NEVER save to the project directory. Every ad-hoc screenshot filename MUST start with /tmp/. Example: /tmp/tabs-before.png. Saving screenshots without /tmp/ prefix pollutes the project with untracked files. This applies to screenshots YOU take for debugging/verification — NOT to automated test screenshots, which follow their own conventions (e.g. tests/**/screenshots/).run_code sandbox: use page.waitForTimeout(ms), never setTimeout.mcp-chrome-*). It has auth cookies.browser_evaluate to measure actual element positions, sizes, and computed styles. Compare measured values against expected values. A 5-minute investigation with JS measurements beats hours of blind CSS tweaking. NEVER change formulas or constants without first understanding WHY the current values produce wrong results.browser_evaluate to MEASURE, not just screenshot. When debugging layout issues, use JS to read actual getBoundingClientRect() positions, getComputedStyle() values, scrollHeight, clientWidth etc. Comparing measured numbers reveals the root cause instantly — screenshots only show symptoms. This is the difference between 5 minutes of investigation and hours of blind guessing.frontend:pixel-perfect. It has the mandatory measurement workflow: measure BEFORE with browser_evaluate, apply change, measure AFTER, report a diff table. Screenshots supplement measurements — they are NOT the comparison. The numbers from getBoundingClientRect() and getComputedStyle() ARE the comparison. Never claim "looks the same" from eyeballing screenshots.browser_evaluate to read errors or check the console log file from the navigation event. A page that renders but throws console errors is NOT working. Console errors are bugs until proven otherwise.