figma-blame-node
Find which Figma version introduced a specific change — a component property or a child node — via a binary search over version history (~log2(N) API calls instead of N). Answers 'who added this and when'. Use when the user wants git-blame-style attribution for a Figma design — triggers: 'when was this component property added', 'which version introduced this variant', 'who added this node', 'blame this Figma element', 'find when this was created', 'git blame for Figma', 'when did this property first appear'. Uses the Figma REST API + a personal access token because version history is NOT reac
npx skills add southleft/figma-console-mcp-skills --skill figma-blame-node --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# figma-blame-node — binary-search which version introduced a change Like `git blame`, but for Figma. Given a node and a target (a `componentPropertyDefinitions` key or a descendant child node id), this localizes the **version that first introduced** the target and returns that version's label, author handle, and timestamp. > **Setup — terminal + token required.** This skill runs shell commands, so it works in **Claude Code** (including the "Code" tab inside Claude Desktop), Cursor, Codex, or Gemini CLI — it does **not** run in plain Claude Desktop or claude.ai chat (no shell). The Figma connector's OAuth login does **not** authorize these REST calls, so you must supply your own **Figma personal access token**: in Figma go to **Settings → Security → Personal access tokens**, generate one with scope *File content: read* (plus *File versions: read*), then set it in your shell: `export FIGMA_TOKEN="figd_…"`. The script reads it from the environment at runtime — never put the token in a skill file. ## Why binary search A naive walk would fetch the node at every version — `N` API calls for `N` versions. Existence of a target is **monotonic** (added once, then present in every newer vers
- Why binary search
- Setup & skill boundaries
- Derive the file key
- Workflow
- Reading the result
- Notes & caveats
node scripts/blame-node.mjs --file ABC123def456 --node 695:313 --property 'Disabled#1:2' node scripts/blame-node.mjs --file ABC123def456 --node 695:313 --child 695:340 node scripts/blame-node.mjs --file ABC123def456 --node 695:313 --property 'Size#9:0' \
What does the figma-blame-node skill do?
Find which Figma version introduced a specific change — a component property or a child node — via a binary search over version history (~log2(N) API calls instead of N). Answers 'who added this and when'. Use when the user wants git-blame-style attribution for a Figma design — triggers: 'when was this component property added', 'which version introduced this variant', 'who added this node', 'blame this Figma element', 'find when this was created', 'git blame for Figma', 'when did this property first appear'. Uses the Figma REST API + a personal access token because version history is NOT reac
How do I install it?
Run `npx skills add southleft/figma-console-mcp-skills --skill figma-blame-node --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From southleft/figma-console-mcp-skills, a repository with 67 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
