Mmcp.market

understand-figma skill

by Egonex-AI·Egonex-AI/Understand-Anything·84k stars·MIT

Analyze a Figma file via the Figma REST API and generate an interactive design knowledge graph (pages, screens, components, component sets, instances, design tokens) with a kind:"design" dashboard.

A100/100content scan

Is the understand-figma skill safe?

Clean: nothing in its files matched our rules. We read 3 files in the folder on 2026-09-28.

No findings.

Install the understand-figma skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/Egonex-AI/Understand-Anything.git /tmp/Understand-Anything
mkdir -p ~/.claude/skills
cp -r /tmp/Understand-Anything/understand-anything-plugin/skills/understand-figma ~/.claude/skills/understand-figma
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

/understand-figma

Analyzes a Figma file and produces an interactive design knowledge graph in the existing dashboard.

Prerequisites

  • FIGMATOKEN** environment variable — a Figma personal access token (create one at https://www.figma.com/settings). If it is missing, STOP and tell the user:

Set a Figma token first: create one at figma.com/settings, then export FIGMA_TOKEN=.

  • Node ≥ 22, pnpm ≥ 10.

Security: the token is read only from the environment and travels only in the X-Figma-Token request header. Never write it to the graph, meta.json, logs, or intermediate files. This skill makes outbound calls to api.figma.com — unlike /understand, it is not fully offline. Tell the user this once.

Phase 0 — Pre-flight

  1. Parse $ARGUMENTS for a Figma URL or bare file key (the non-flag token) and an optional --language .
  2. Resolve PROJECTROOT to the current working directory. Resolve the data directory $UADIR once and reuse it for every read and write below: UADIR="$PROJECTROOT/$([ -d "$PROJECTROOT/.understand-anything" ] && echo .understand-anything || echo .ua)" — the legacy .understand-anything/ when it already exists, otherwise the new .ua/. Because each phase may run in a fresh shell, carry $UADIR forward like $PROJECT_ROOT, re-resolving it with the same line if a later command block needs it.
  3. Resolve PLUGIN_ROOT and ensure core is built (same logic as /understand Phase 0.1.5). If packages/core/dist/figma/index.js is missing, run:
cd "$PLUGIN_ROOT" && (pnpm install --frozen-lockfile 2>/dev/null || pnpm install) && pnpm --filter @understand-anything/core build
  1. mkdir -p $UA_DIR/intermediate.

Phase 1 — FETCH & PARSE (deterministic)

Run the bundled scan script ( is this skill's directory):

FIGMA_TOKEN="$FIGMA_TOKEN" node <SKILL_DIR>/figma-scan.mjs "$PROJECT_ROOT" "<url-or-key>"

It writes $UA_DIR/intermediate/scan-manifest.json and prints the node counts. Relay the counts to the user. If it exits non-zero, relay stderr and STOP.

If the scan prints UPTODATE, report "Design graph is already up to date for this Figma file version" and STOP. To force a full rebuild, re-run with UNDERSTANDFIGMAFORCE=1 set in the environment.

Phase 2 — ANALYZE (LLM enrichment)

  1. Read scan-manifest.json. Group nodes into batches of ~15, grouped by page when possible.
  2. For each batch, dispatch a subagent using the design-analyzer agent definition (agents/design-analyzer.md). Pass:

The agent writes analysis-batch-.json. Append $LANGUAGE_DIRECTIVE if --language was provided (reuse /understand's directive text).

  • the batch of nodes (id, type, name, figmaMeta, child names, token usage),
  • the full list of existing node IDs,
  • $INTERMEDIATEDIR = $UADIR/intermediate,
  • the batch number for output naming.
  1. Run up to 5 batches concurrently. If a batch fails, log a warning and continue — the manifest is a solid base.

Phase 3 — MERGE

node <SKILL_DIR>/figma-merge.mjs "$PROJECT_ROOT"

It combines scan-manifest.json + analysis-batch-*.json, runs mergeDesignGraph (validates, re-attaches kind:"design"), and writes knowledge-graph.json + meta.json. Relay the printed stats and any non-auto-corrected issues.

Phase 4 — SAVE & LAUNCH

  1. Clean up intermediate files except scan-manifest.json:
INTER="$UA_DIR/intermediate"
   find "$INTER" -mindepth 1 -maxdepth 1 -not -name 'scan-manifest.json' -exec rm -rf {} +
  1. Report a summary: project name, counts by node type, edges by type, layers, tour steps, and the path $UA_DIR/knowledge-graph.json.
  2. Auto-launch the dashboard by invoking the /understand-dashboard skill.

More skills from Egonex-AI/Understand-Anything

  • AunderstandAnalyze a codebase to produce an interactive knowledge graph for understanding architecture, components, and relationships
  • Aunderstand-chatUse when you need to ask questions about a codebase or understand code using a knowledge graph
  • Aunderstand-dashboardLaunch the interactive web dashboard to visualize a codebase's knowledge graph
  • Aunderstand-diffUse when you need to analyze git diffs or pull requests to understand what changed, affected components, and risks
  • Aunderstand-domainExtract business domain knowledge from a codebase and generate an interactive domain flow graph. Works standalone (lightweight scan) or derives from an existing /understand knowledge graph.
  • Aunderstand-explainUse when you need a deep-dive explanation of a specific file, function, or module in the codebase
  • Aunderstand-knowledgeAnalyze a Karpathy-pattern LLM wiki knowledge base and generate an interactive knowledge graph with entity extraction, implicit relationships, and topic clustering.
  • Aunderstand-onboardUse when you need to generate an onboarding guide for new team members joining a project

All agent skills → · MCP servers