From figma-differ
Fetches the current state of a Figma node and diffs it against the latest stored snapshot. Runs both structural diff (JSON node tree) and visual comparison (PNG via Claude vision). Use when the user runs /figma-differ:diff with a Figma URL, or says "diff this Figma frame", "what changed in Figma", "compare to snapshot", or "check Figma for changes".
How this skill is triggered — by the user, by Claude, or both
Slash command
/figma-differ:diff <figma-url> [--notify]<figma-url> [--notify]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Extract `fileKey` and `nodeId` from the Figma URL (same as snapshot skill).
Extract fileKey and nodeId from the Figma URL (same as snapshot skill).
Check for --notify flag in arguments.
bash scripts/auth.sh status (if it fails, tell the user to run bash scripts/auth.sh set and stop)ls -t ~/.figma-differ/<fileKey>/<nodeId_safe>/ — take the first result/figma-differ:snapshot <url> first, then stop~/.figma-differ/)CURRENT_DIR=$(mktemp -d /tmp/figma-diff-XXXX)
bash $CLAUDE_PLUGIN_ROOT/scripts/figma-api.sh fetch_node_json <fileKey> <nodeId> > "$CURRENT_DIR/node.json"
NODE_TYPE=$(jq -r '.nodes["<nodeId>"].document.type // .document.type // empty' "$CURRENT_DIR/node.json")
bash $CLAUDE_PLUGIN_ROOT/scripts/figma-api.sh fetch_node_png <fileKey> <nodeId> "$CURRENT_DIR/screenshot.png" "${NODE_TYPE:-}"
If NODE_TYPE is CANVAS, treat the PNG step as an expected graceful skip. Structural diff still runs; visual comparison only runs when both screenshots exist.
Dispatch the structural-differ agent with:
~/.figma-differ/<fileKey>/<nodeId_safe>/<latest_timestamp>/node.json$CURRENT_DIR/node.jsonWait for the agent's JSON output.
Dispatch the vision-analyzer agent with:
~/.figma-differ/<fileKey>/<nodeId_safe>/<latest_timestamp>/screenshot.png$CURRENT_DIR/screenshot.pngWait for the agent's JSON output.
Format and display:
Structural Diff — <summary from structural-differ>
Severity: <severity>
Added: <count> nodes
Removed: <count> nodes
Changed: <count> nodes
<list top 5 changes with field + before/after>
Visual Fidelity — <overall_fidelity>/5
<summary from vision-analyzer>
Action items:
- <action_item_1>
- <action_item_2>
Snapshot baseline: ~/.figma-differ/<fileKey>/<nodeId_safe>/<timestamp>/
Write the combined result to ~/.figma-differ/<fileKey>/<nodeId_safe>/latest-diff.md.
This is what /figma-differ:notify will post.
If --notify was in the arguments, run the notify workflow (see notify skill).
Otherwise, remind user: Run /figma-differ:notify to post this to Slack.
npx claudepluginhub tokyo-megacorp/figma-differ --plugin figma-differCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.