Skip to content

SKILL guidance: route Figma audits through lumo-figma render, never hand-parse the node tree #2

Description

@viktor-savchik-idf

Context

Doing a real design audit from Figma, the model bypassed lumo-figma render and instead called the Figma REST text/nodes endpoints directly, reading layer characters out of the node tree by hand.

What went wrong

A repeated assist text ("De manera cómoda y segura") existed in the node JSON for all three action rows and was reported as a UX finding ("repeated subtitle, no value"). It was wrong — that layer is hidden / not rendered in the final screen, so the user never sees it. The node tree's characters carries content for hidden and zero-height layers; it is not a source of truth for visible content.

lumo-figma render already handles this correctly — the roadmap states "Hidden / null-bbox nodes are skipped, not faked" (v0.2.0). The gap is not the tool; it's that nothing in SKILL.md tells the agent to use the tool instead of improvising against the raw API.

Proposed fix (docs only, no code)

Add to SKILL.md:

  1. A Decision Tree row: "Audit a screen from Figma" → run lumo-figma render (+ lumo-theory / lumo-wcag on its output), then lumo-figma annotate for the report. Never hand-parse /v1/files/.../nodes.
  2. A short rule under the Figma section: the rendered image is the source of truth for visible content; the node tree is only reliable for geometry and tokens. Never raise a content-level finding (copy, repeated/missing labels) from the tree without confirming against the render. Check visible !== false and non-zero bbox before treating a text node as shown.

Why it matters

Without this, every ad-hoc Figma audit can resurface the same false-positive class. The tool already encodes the right behaviour — the skill just needs to point at it.

Acceptance

  • SKILL.md Decision Tree has the Figma-audit row.
  • SKILL.md states the render-vs-tree source-of-truth rule + visibility check.
  • No tool change required (verify lumo-figma render still drops hidden/null-bbox nodes; add a regression test if missing).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions