BXUP Track progress & test yourself — free
UI/UX & Agent-Experience Design · Hands-on lab · ~4 min read
UI/UX & AGENT-EXPERIENCE DESIGN · HANDS-ON LAB

Lab 06 · Figma AI Gauntlet

A timed run through the 2026 Figma AI surface: first-draft a screen from a brief, restyle it with Weave, build one generative helper for a repetitive op, and write your team's AI-allowed-zones convention. The brief you are handed contains spec errors that AI tools will happily reproduce — shipping them is the fail state.

Noor is a product designer at Loopline, a fictional team-standup tool, and the design org has declared this quarter's rule: everyone ships one screen through the full Figma AI workflow so the team can write its conventions from experience instead of vibes. The gauntlet has a catch her design director added deliberately: the brief comes from a PM in a hurry, and like most PM briefs it contains mistakes — a contrast spec that fails WCAG, a claimed AI capability that does not exist, and a component instruction that contradicts the design system. First Draft will render whatever it is told. The designer is the gate.

You will need

  • Figma (free/Starter tier works; First Draft and AI features need AI enabled in your account settings — usage limits apply on free plans).
  • A chat AIfree ChatGPT, Claude, or Gemini — for the helper script and the convention doc.
  • A contrast checkerany free WCAG contrast tool.
  • Timeabout 60 minutes. Run it timed; the pressure is part of the lab.

The brief

Exactly as the fictional PM wrote it. Do not fix it yet — read it, then hunt.

BRIEF — "Daily Digest" screen, Loopline mobile app
From: Priti (PM) · To: design · Due: today pls

Screen: a daily digest a user sees each morning. Sections:
1) Greeting + date
2) "Your 3 blockers" — list, each with owner avatar + one-line
   status
3) "Team pulse" — sentiment summary of yesterday's standups
4) CTA button "Start my standup"

Style notes:
- Use our brand grey #9AA0A6 on white #FFFFFF for all body and
  status text. Verified it, looks clean.
- CTA: brand green #0E8345 fill, white label, 16px text.
- Section headers 14px, brand grey.
- Weave's auto-contrast mode will fix any color issues at
  export time anyway, so don't burn time on ratios.
- Use the "Card/Elevated" component from our DS for blockers.
  If it doesn't exist just detach something similar and
  restyle it, that's what AI is for lol.
- Team pulse: show a red/green dot per teammate based on the
  AI sentiment score. Dot only, keep it minimal.

Repetitive op for the plugin bit: our files have hundreds of
layers named "Frame 427" etc. We want them renamed by content.

Steps

  1. Audit the brief before generating anything — ten minutes. Check every factual claim: run the two color pairs through your contrast checker at the stated sizes, verify whether "Weave auto-contrast at export" is a real capability (check Figma's own documentation, not a chat model's memory), and note any instruction that violates design-system discipline or accessibility. Write your corrections as a short "brief errata" list. This gate is the lab's core; everything downstream inherits what you let through.

  2. First-draft the screen. In a Figma design file, use First Draft (AI menu) with a prompt built from the corrected brief: "Mobile daily-digest screen for a team standup app: greeting with date; a 'Your 3 blockers' list with avatar, title, one-line status per row; a team-pulse summary section; primary CTA 'Start my standup'. Clean, minimal, light theme." Generate, pick the best of the options, and note what it got structurally right and wrong.

  3. Make it real. First Draft output is a starting point in detached-from-your-system components. Spend ten minutes: fix spacing rhythm, apply your corrected text colors, restructure the team-pulse display per your errata (not dot-only — see step 1), and make the CTA meet target-size guidance (44pt minimum touch target).

  4. Restyle with Weave. Use Figma's AI restyle capability to try one alternative visual direction on a duplicate of the screen — e.g., "denser, data-forward, dark theme." Then audit the restyle: re-run contrast checks on the dark variant (AI restyles routinely produce sub-AA text) and note every place the restyle changed semantics, not just style — reordered sections, dropped labels, altered emphasis.

  5. Build the layer-renaming helper. Select a messy frame (First Draft output is conveniently messy). Ask your chat AI: "Write a short Figma Scripter/console script that renames selected layers based on their content: text layers take their text content (truncated to 30 chars), image fills become 'img/', auto-layout frames with a text child take that text as a prefix." Paste and run it via a scripting plugin (e.g., Scripter). Copy-paste is fine; reading before running is mandatory — check what scope it touches (selection only, or whole page?) before you execute.

  6. Verify the rename. Spot-check 10 layers. Log failures (emoji-only text layers, nested instances, layers renamed to their placeholder content). If it renamed layers outside your selection, that is a finding about AI-generated scripts, not a shrug — record it.

  7. Write the AI-allowed-zones convention. With your AI, draft then hand-tighten a one-pager with three zones. Green — AI output may ship after normal review: e.g., layer renaming, first-pass layout exploration, restyle ideation. Amber — AI output allowed as draft, must be rebuilt on-system before ship: e.g., First Draft screens, Weave restyles, generated copy. Red — AI must not decide: e.g., final color/contrast values, component detachment, accessibility semantics, anything user-facing that claims a capability. Every zone entry cites a moment from today's run.

  8. Close the loop on the brief. Send your errata back "to the PM": three bullet corrections with evidence (the measured ratios, the doc link on the capability claim, the DS rule on detaching). One timed hour should end with a shippable screen and an upstream correction.

Warning

Generative tools inherit every error in their input with total confidence — a wrong hex code in the brief becomes a wrong hex code on sixty layers, faster than any human could propagate a mistake.

Verify your work

  • A brief-errata list produced before generation, catching all three planted errors.
  • A First Draft screen, corrected and componentized, plus one Weave restyle with its own contrast audit.
  • A working rename script run, with a 10-layer verification log including at least one recorded failure or scope note.
  • An AI-allowed-zones one-pager where every rule cites evidence from this run.
  • Your errata note to the PM with measured evidence.
▸Answer key — the planted brief errors and expected resultsoptional deep dive — click to expand

Planted error 1 — failing contrast spec. #9AA0A6 on #FFFFFF is roughly 2.6:1. Body and status text at typical sizes needs 4.5:1 (WCAG 1.4.3 AA); even large text needs 3:1. The 14px section headers in the same grey also fail. "Verified it, looks clean" is the trap phrase — visual inspection is not verification. The CTA (#0E8345 green with white 16px label, ~4.6:1) passes — if you flagged the CTA too, you guessed instead of measuring; the lab wants measured ratios in the errata. Fix: darken the grey (e.g., #5F6368 on white ≈ 5.9:1) or use your DS text tokens.

Planted error 2 — hallucinated capability. "Weave's auto-contrast mode will fix any color issues at export time" describes a feature that does not exist. Figma's AI restyle capabilities generate and restyle designs; nothing automatically remediates contrast at export. This is the brief laundering wishful thinking as a tool fact — and if you asked a chat model "does Figma Weave have auto-contrast?", some will cheerfully confirm it, which is why step 1 says check Figma's documentation. Accepting this claim would have justified skipping the contrast work entirely; that is exactly how inaccessible specs ship.

Planted error 3 — detach-and-restyle instruction. "If it doesn't exist just detach something similar and restyle it" breaks the design system: detached instances stop receiving updates, drift from tokens, and poison future AI generation (Lab 08 is entirely about this). Correct move: use the closest published component, or file the gap with the DS team — never ship detached one-offs. The red/green dot-only team pulse is the same color-only failure from Lab 05 (WCAG 1.4.1) plus an unexamined "AI sentiment score" being surfaced as a traffic light on people — your errata should question both the encoding and the ethics of per-teammate sentiment dots.

Expected script findings. Typical honest log entries: renamed only within selection (good) or walked the whole page (scope bug worth recording); text layers truncated mid-word; instances renamed when they should be left canonical; empty frames left as "Frame 427." Any of these recorded = the verification habit worked.

Grading yourself. All three planted errors in the errata before generation: excellent — you gated the input, which is the whole discipline. Errors found only after generation while auditing output: acceptable, but note the cost — you fixed sixty layers instead of one sentence. Shipped the grey text or cited "auto-contrast" in your convention doc: rerun step 1; the tools did exactly what they were told, and that is the lesson.

Key Takeaway:

In an AI-accelerated design workflow the scarce skill moves upstream — auditing the brief, the spec, and the claimed capabilities before generation — because every error you fail to catch at the input gets manufactured at scale on the output.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in