Our review
Captures a live webpage and converts it into a Figma design using Playwright and a configured Figma MCP.
Strengths
- Works with both external and local sites
- Automates design capture without manual screenshots
- Integrates with Figma for direct design import
Limitations
- Requires Playwright and Figma MCP to be set up
- Polling may be slow or time out after 10 attempts
- May not perfectly capture highly dynamic pages
Use when you need to quickly convert an existing webpage layout into an editable Figma design.
Not suitable for highly dynamic or interactive pages that require manual design adjustments after capture.
Security analysis
CautionThe skill uses Playwright to launch a browser, intentionally disables CSP, and injects external scripts. While the purpose is legitimate (exporting a webpage to Figma), these actions weaken browser security and could be risky if applied to sensitive pages or if the external script is compromised.
- •Instructs stripping of Content-Security-Policy headers, a security bypass.
- •Injects and executes external JavaScript (from Figma's capture script) into the target page.
- •Uses Playwright (a powerful browser automation tool) with node, which could be misused.
Examples
Capture page https://example.com into Figma file https://www.figma.com/file/abc123/MyDesignCapture page http://localhost:3000 and add to Figma file https://www.figma.com/file/xyz789/Projectname: capture-webpage description: Capture a live webpage as a Figma design using Playwright and the configured Figma design MCP (for this repo, Figma Console MCP). Use when user says "capture page", "to Figma", or /capture-webpage. In Claude Code and Cursor, /skills lists all.
Capture Webpage
Capture a live webpage as a Figma design using Playwright and the configured Figma design MCP.
Inputs
You need two things from the user before starting:
- Webpage URL - The page to capture (e.g.,
https://example.com) - Figma file URL - Where to put the generated design (e.g.,
https://www.figma.com/file/abc123/...)
If either is missing, ask the user before proceeding.
External Sites
For sites you don't control (e.g., ryanallen.com, competitor.com). Uses .claude/skills/capture-webpage/scripts/capture.js to bypass CSP and inject Figma's capture script.
1. Generate Capture ID
Use the Figma Console MCP (or other configured Figma design MCP) with the target Figma file details to get a capture ID and endpoint URL.
2. Run Capture Script
node .claude/skills/capture-webpage/scripts/capture.js "https://example.com" "CAPTURE_ID" 1920 1080
The script handles:
- Launching browser with specified viewport
- Stripping CSP headers
- Fetching and injecting Figma's capture script
- Calling
window.figma.captureForDesign()to send page data to Figma - Cleanup
3. Poll for Completion
- Wait 5 seconds after script starts
- Call
generate_figma_designwith the captureId to check status - Repeat until status is
completed(max 10 polls)
Local Sites
For localhost or dev servers where you can modify the HTML.
1. Generate Capture ID
Same as external sites - call generate_figma_design to get a capture ID and endpoint.
2. Add Capture Script to HTML
<script src="https://mcp.figma.com/mcp/html-to-design/capture.js" async></script>
3. Open Browser with Capture URL
open "http://localhost:3000#figmacapture=ID&figmaendpoint=ENDPOINT&figmadelay=1000"
4. Poll for Completion
Same polling process as external sites.
Requirements
- Playwright installed (
npm install playwright) - for capture.js script - Figma Console MCP (
figma-console-mcp) or another Figma design MCP configured and authenticated for this project
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.