Check a design for defects
figma_check_layoutAfter each section and before calling anything done: a designer's last look, in numbers (figma_export_node shows the picture).
Instructions
After each section and before calling anything done: a designer's last look, in numbers (figma_export_node shows the picture). Per node, with a number and fix: text overflowing, collapsed, overlapping or covered; content clipped or sticking out; a fill child in a hug parent; stacked frames; placeholder copy; low contrast (WCAG); zero-size, empty or default-named nodes; text off or cut by a slide. audit adds: tokens (unbound values), names (duplicates), fonts (expectFonts), board (FigJam), craft (finish: sizes, edges, near-touches, contrast; safeArea, minTextSize), tells (generated look; warning if the brief avoids it), handoff (share bound), a role's: a11y (targets, focus, labels), states, copy, system (format, scale, grid), deck (words, headlines, floor), mark (size, versions, clear space), icons (canvas, stroke, pixels), library (modes, aliases). briefId: against that brief's numbers. ok: true = no errors or warnings. Default: the selection, then the page (Slides: focused slide). Reads only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audit | No | QA passes to add: tokens, names, fonts, board, craft (finish defects), tells (the generated look; info, a warning where a page or top brief avoids it, and run by default under one), handoff (how much is bound to the system), a11y, states, copy, system, deck, mark, icons, library (a role's sign-off checks; with briefId, the brief's numbers). | |
| limit | No | Max findings returned. Default 100. | |
| nodeId | No | The frame or section to check. Defaults to every selected node, then the page. | |
| briefId | No | The node a brief is stored on (figma_set_brief returns it): the role audits measure against its platform, viewport, screens, system, room, applications, grid and platforms, and craft takes its minTextSize and safeArea. At page or top gear its `avoid` kinds are warnings, and tells run by default where its role's sign-off judges them or it avoids one. A motion brief judges layout where the viewer sees it (restPose). Default: the brief in force, unless the checked node is another brief's work (its own record, its top-level frame's, or a brief listing it), which wins; audit.brief names the one used. | |
| nodeIds | No | Several roots in one call, e.g. a batch of 3–5 slides. Not with nodeId. | |
| session | No | Optional sessionId or file name, to pick a Figma file when more than one is connected. | |
| maxNodes | No | Stop after this many nodes. Default 3000. | |
| safeArea | No | "x,y,width,height" in the root's coordinates (its top-left is 0,0), from the brief — no presets. Text, logos and CTAs outside it are flagged. Implies craft. | |
| expectFonts | No | Font families the design should use, e.g. ["Inter"]; implies the fonts audit. | |
| minSeverity | No | Hide findings below this level. Default "info". | |
| minTextSize | No | Smallest readable text in px of the frame: the device's floor × frame width ÷ device width, e.g. 28 or more on a 1080-wide story. Implies craft. |