The repetitive ops eating your design week — layer renaming, spacing normalization, page scaffolds — can be automated by describing them to Figma's AI in plain language, no code required. Add a notes-to-decision-log route for your meetings, and the ops layer of your practice starts running itself.
Workflow area: Design Ops · Tier: Foundation · Hands-on time: ~30 minutes
Design ops debt accumulates in five-minute increments: the pre-handoff rename, the page setup for every new project, the spacing cleanup after a messy exploration. None of it is design. All of it used to be either manual or "learn to code a plugin," and the second option cost more than the debt. Prompt-built plugins change the math — you describe the operation, the AI generates the tooling, and you validate that it does what you meant on a copy before you trust it. The skill is specifying operations precisely, which is a design skill wearing overalls.
Pick one op and write its spec in plain language. Precision here is the whole game. "Clean up my layers" produces chaos; this produces a tool:
Operation: rename all layers in the selection to our convention.
Rules:
- Frames: PascalCase describing intent ("ApprovalCard"), never
appearance ("Group 5", "Blue box")
- Text layers: prefix "txt/" + content role ("txt/amount-label")
- Icons: "ic/" + name ("ic/chevron-down")
- Leave component instances' names untouched
- Output a summary of every rename so I can scan for mistakes
Have the AI build it. Give that spec to Figma's AI plugin-generation surface (or paste it into Claude/ChatGPT and ask for a Figma plugin you can run via the development console, following the tool's own import steps). You are the specifier and the acceptor — the implementation layer is the machine's problem. If the result misbehaves, refine the spec, not the implementation: every rule you add is a defect you stop.
Validate on a sacrificial copy. Duplicate a messy real page and run the automation there first. Check the summary output line by line — good validation looks like:
RENAMED: "Group 12" → "ReceiptThumbnail" ✓
RENAMED: "Rectangle 4" → "DividerLine" ✓
FLAG: "Frame 9" → "ApprovalCard" — WRONG, it's the rejection
card; rule needs content-awareness → add rule: read the text
layer inside before naming the frame
SKIPPED: instance "Button/Primary" ✓ (rule respected)
Iterate spec → regenerate → revalidate until a full page passes clean. Then it graduates to real files.
Scaffold the other two classic ops the same way. Spacing normalization ("snap all gaps in selection to the 4px scale, list every change") and page scaffolds ("create our standard project structure: Cover, Explorations, WIP, Ready-for-Dev, Archive, Decisions — with the cover template filled from the file name"). Each follows the same loop: spec, generate, validate on a copy, adopt.
Route meeting notes into the decision log automatically. Let Granola (or your notetaker) capture design reviews, then a Zapier route sends each meeting's notes to the tool holding your pb-09 decision log (Notion, Slack channel, etc.) — with a summarization step in the middle:
From this design-review transcript, extract ONLY:
1. DECISIONS made (what was decided, in one line each)
2. ACTION ITEMS with owners
3. OPEN QUESTIONS explicitly deferred
Do not summarize discussion. If no decisions were made, output
"no decisions". Never attribute a decision to a person unless the
transcript states it explicitly.
[TRANSCRIPT]
The route delivers a draft; a human still confirms decisions before they're canonical — pb-09's correction step doesn't get automated away.
Meeting recordings and transcripts carry names, candid critique and sometimes client material — get the room's consent for capture, route notes only through tools your organization has approved, and apply your retention rules to transcripts like any other record.
Keep a running "three-times list" in your notes app — every op you catch yourself doing a third time goes on it, and once a month the top item gets the spec-generate-validate treatment; six months of this and your file hygiene runs on rails you specified.