skills/dev-figma-capture/SKILL.md
Capture web pages and send them to Figma as editable design files. Use when: (1) User wants to capture a webpage to Figma, (2) User says 'figma capture', 'send to figma', 'capture to figma', (3) User provides URLs to convert to Figma designs
npx skillsauth add takazudo/claude-resources dev-figma-captureInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Capture web pages and convert them to editable Figma design files via Figma MCP.
claude mcp add --transport http figma https://mcp.figma.com/mcpplaywright npm package available (global or local)$ARGUMENTS contains one or more URLs and optional flags--existing <fileKey> means add to existing file instead of creating newFor each URL, decide the capture approach:
Is the page a local dev server (localhost, 127.0.0.1)?
|
+-- Yes: Does the page have Figma capture script embedded?
| | (Check by fetching the page source and looking for
| | "mcp.figma.com/mcp/html-to-design/capture.js")
| |
| +-- Yes → URL Fragment method (lightweight, no Playwright)
| +-- No → Playwright injection method
|
+-- No (external site): → Playwright injection method
Call mcp__figma__generate_figma_design to get a capture ID.
outputMode: "newFile" (unless --existing flag)outputMode: "existingFile" with the fileKey from first captureOpen the URL with hash parameters:
open "<URL>#figmacapture=<CAPTURE_ID>&figmaendpoint=https%3A%2F%2Fmcp.figma.com%2Fmcp%2Fcapture%2F<CAPTURE_ID>%2Fsubmit&figmadelay=1000"
Wait 5-10 seconds, then poll capture status.
Run the bundled capture script:
node $HOME/.claude/skills/dev-figma-capture/scripts/figma-capture.mjs \
--url <URL> \
--capture-id <CAPTURE_ID>
The script:
captureForDesign() and submits DOM to FigmaOptions: --headless false (show browser), --delay <ms>, --selector <css>, --viewport-w <px>, --viewport-h <px>
Playwright dependency: The script requires playwright as a Node.js module. If not available in the current project, install it temporarily or check for a global install. The script imports playwright directly (not via npx).
Call mcp__figma__generate_figma_design with the captureId to check status. On success, it returns a claim URL. Open it for the user:
open "<claim-url>"
For multiple URLs:
newFile → get fileKeygenerate_figma_design with outputMode: "existingFile" and the fileKey to get a new capture IDcaptureForDesign() promise often doesn't resolve even when capture succeeds. The script handles this with a timeout. Check browser console logs for [Figma Capture] Success! confirmation.--headless false to debug.--selector.tools
Acceptance gate for a branch produced by an OpenAI Codex CLI run — usually Codex implementing a /big-plan epic that was handed off to it. Codex reports the work 'done' (or the user flags it WIP with corrections); this skill confirms the branch actually fulfils the original spec, fixes what falls short, and routes larger discoveries into GitHub issues. Use when: (1) User says '/finalize-codex-work', 'finalize codex work', 'confirm the codex work', 'check the codex branch', or 'codex said it's done', (2) A branch is the result of a Codex CLI session and needs verification against its spec issue/PR, (3) After assigning a /big-plan epic to Codex CLI. Pass -m/--merge to run /pr-complete -c at the end.
tools
Read a Figma design node directly from a share URL via the Figma REST API — no Dev Mode subscription, no MCP, no desktop app. Renders the node to PNG and dumps its full style/layout JSON so the design can be described, compared, or implemented. Use whenever the user gives a Figma design URL (figma.com/design/... or /file/...) and wants to see, read, inspect, reference, or implement that node — including `/fig-url-refer <url>`. This is the URL-based counterpart to `/figrefer` (which needs a Dev-plan desktop MCP); prefer this one when the input is a URL rather than a live desktop selection.
tools
Sync the user's Claude Code workflow skills into the OpenAI Codex CLI settings repo ($HOME/.codex) as Codex-native ports, fix the Codex .gitignore for new local state, then commit and push. Use when: (1) user says '/dev-codex-sync-settings-from-claude', 'sync codex settings', 'sync claude skills to codex', 'port skills to codex', or 'update codex from claude'; (2) after updating ~/.claude workflow skills (big-plan, x, x-as-pr, x-wt-teams) and Codex should catch up; (3) the $HOME/.codex repo has drifted behind $HOME/.claude. The ports are condensed Codex-native REWRITES, never file copies.
development
Analyze a video file (mov, mp4, webm, etc.) or a YouTube video by extracting still frames with ffmpeg and reading them chronologically with vision — Claude cannot ingest video files directly. Use whenever the user provides a video file path or YouTube URL and wants to know what happens in it: "read this video", "watch this video", "check this recording", "what happens in this .mov/.mp4", analyzing a screen recording of a UI bug, or verifying UI behavior captured in a video, even if they don't name this skill.