skills/enrich/SKILL.md
Re-fetch and enrich thin Figma frames that have shallow data (1 node, generic description like "dark mode screen", or description under 30 chars). Uses REST API to fetch full node JSON and regenerates frame.md for each thin frame. Use when the user runs /figma-differ:enrich, says "enrich thin frames", "improve frame descriptions", or "deep-fetch all frames".
npx skillsauth add tokyo-megacorp/figma-differ enrichInstall 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.
Extract fileKey from $ARGUMENTS:
https://www.figma.com/design/<fileKey>/...bash $CLAUDE_PLUGIN_ROOT/scripts/auth.sh status
If it fails, tell the user to run bash $CLAUDE_PLUGIN_ROOT/scripts/auth.sh set and stop.
Verify the fileKey has local data:
ls ~/.figma-differ/<fileKey>/
If missing, tell the user to run /figma-differ:track <url> first.
TaskCreate("Scan thin frames", activeForm: "Detecting frames with shallow data...")
TaskCreate("Re-fetch & enrich", activeForm: "Fetching full node JSON for thin frames...")
TaskCreate("Rebuild frame docs", activeForm: "Regenerating frame.md documents...")
TaskCreate("Update search index", activeForm: "Re-indexing enriched frames in QMD...")
Task lifecycle:
TaskUpdate(taskId, status: "in_progress")Agent(model: "haiku") — agent reports only counts, never raw outputTaskUpdate(taskId, status: "completed")Dispatch a haiku agent to run the script:
Prompt: Run enrich-thin-frames.sh for fileKey <fileKey>.
Command: bash $CLAUDE_PLUGIN_ROOT/scripts/enrich-thin-frames.sh <fileKey>
Write stdout to /tmp/enrich-<fileKey>-result.txt.
Report only: total frames scanned, enriched count, skipped count, QMD status.
Enrich complete: <fileKey>
Frames scanned: N
Enriched: M (were thin — re-fetched and frame.md regenerated)
Already rich: K (skipped)
QMD index: updated | unchanged
Run /figma-differ:search "query" to verify enriched frames are now findable.
testing
Subscribe to a Figma file for automatic syncing and semantic search. Adds the file to tracked.json, runs initial index + snapshot-all + frame.md generation, and initializes the QMD search collection. Use when the user runs /figma-differ:track or says "track this Figma file", "subscribe to Figma", "watch this design file", or "add to tracked files".
documentation
Refresh snapshots and search index for tracked Figma files. Fetches current state from Figma, generates frame.md documents, and updates the QMD search index. Use when the user runs /figma-differ:sync or says "sync Figma", "refresh snapshots", "update the Figma index", or "re-sync tracked files".
tools
Takes a snapshot of a Figma node — fetches its JSON structure and PNG screenshot and stores both to ~/.figma-differ/ for later diffing. Use when the user runs /figma-differ:snapshot with a Figma URL, or says "snapshot this Figma frame", "save a Figma baseline", or "take a Figma snapshot".
development
Bulk snapshots every frame in a Figma file — fetches all node JSONs, exports PNGs, and stores comments. Uses a single API call for the tree and batched image exports. Use when the user runs /figma-differ:snapshot-all with a Figma file URL, or says "snapshot all frames", "bulk snapshot", "baseline the whole file", or "snapshot everything in this Figma file".