Skip to content
ExamsLibraryFor agentsConnect your agent

say the word, get the thing

Vocabulary

Design vocabulary is the set of exact names for what you see on a screen: easing, tracking, a focus ring, a tray. Your agent can’t see what you mean, only what you type. “Make it smoother” could mean anything. “Use a 200ms ease-out” means one thing, so you get one result.

Every word below has a plain meaning and, where it helps, a sentence you can paste straight into your agent. Words for things you can see or feel come with a small live example: drag the slider or flip the switch and watch the word happen.

313 terms in 10 groups

Agents

33

The words for the AI side: skills, harnesses, prompts and the tools an agent uses.

Agent

A language model plus a harness: the model decides what to do, the harness gives it tools to read files, write code, run it and check the result.

Large language model (LLM)

The AI itself, like Claude or GPT. On its own it only reads text and writes text; it cannot open files or run anything.

Harness

The hidden layer of ordinary code around a model: it lists the tools, notices when the model asks for one, runs it and sends the result back. Model + harness = agent.

Interface

The screen you see and type into: the claude screen in a terminal, Cursor's window, a desktop app. Not the same as the harness behind it.

Tool

One thing a harness can do for the model, like read_file, edit_file, run a command or search. Most run on your computer; an MCP server's tools run somewhere else.

Skill

A folder of written instructions an agent loads when a task matches, so it does the work the way you want instead of its default way.

Node (skill node)

One note inside a skill: one idea with exact values and links to related notes, like "never scale from zero".

Cluster

A group of related notes in the design-engineering skill, one per part of the craft: motion, typography, layout and so on. There are 13.

Slash command

A command you type into an agent starting with /, like /design-engineering. It runs a skill or a built-in action instead of being read as a normal message.

Verb

The first word after /design-engineering, like review, polish or motion. It picks which procedure the skill follows.

Tell your agent

“/design-engineering review src/PricingCard.tsx”

skills.sh

An installer that copies a skill into the place your agents look for it (Claude Code, Cursor, Codex and others), with one npx command.

Tell your agent

“npx skills add AgentsORG/design-engineering”

Plugin

A package that adds skills, commands or helpers to a harness in one install. design-engineering ships as a Claude Code plugin and as a plain skill.

Plugin marketplace

A published list of plugins you add to Claude Code once, so you can install plugins from it by name.

Tell your agent

“/plugin marketplace add AgentsORG/design-engineering”

Prompt

What you type to an agent to ask for something. Better words in the prompt get better work back.

Tell your agent

“Build a settings page with a sidebar and three sections”

MCP

Model Context Protocol: a standard way for an agent to use tools that live somewhere else, by sending a request to a server, like this course's exam server.

Terminal

A window where you type commands to your computer instead of clicking. Many agents live in one.

Node.js

A free program that lets your computer run JavaScript tools. Installing it also gives you npm, which installs agents like Claude Code and Codex.

npm

The tool that comes with Node.js for installing JavaScript packages. npx runs a package once without installing it for good.

Tell your agent

“npm install -g @anthropic-ai/claude-code”

Repository (repo)

A project folder tracked by Git, usually hosted on GitHub. The design-engineering skill lives in one.

Stageshow

Benji Taylor's open-source kit and skill for building faux product UI in React: real-looking windows, phones and a scripted cursor, plus examples and a filming script to check the result.

Tell your agent

“Use Stageshow and start from its closest gold example”

Agentation

Benji Taylor's development toolbar: click any element in your running app, write a short note, and it hands an agent the element's selector, file and your words.

Tell your agent

“Read my Agentation annotations and fix them one at a time.”

Selector

The address of an element on a page, like button.export-btn. It tells code (or an agent) exactly which element you mean.

Tell your agent

“The selector is button.export-btn; change only that element.”

Posture

Which of four jobs a request is: Build (make it), Judge (assess it, no edits), Decide (make a call first) or Name (give the word). It fixes the shape of the answer.

Tell your agent

“This is a judge request: give me a table and don't edit anything.”

Skill router

What /design-engineering does first for a plain request: find the design contract, work out the phase and the material, then hand the job to one or two owners.

Tell your agent

“/design-engineering which: who owns this job?”

Companion skill

Another installed skill that owns one job better, like HyperFrames for launch films or Stageshow for faux product UI. The router hands the job to it when it's installed.

pov.md

The file where you override the skill's taste with your own. Where it disagrees with the canon it wins; where it's silent, the canon holds.

Tell your agent

“/design-engineering pov fork”

Gotcha

One dated line in gotchas.md recording something the agent got wrong in practice, and the fix. The file only grows, and negative examples teach the agent the most.

Tell your agent

“/design-engineering pov gotcha "what went wrong"”

Dispatch table

The table at the top of the skill that maps each verb (and its aliases) to the file with its procedure. The skill reads your first word and looks it up there.

Command file

The written procedure behind one verb: its posture, what to read in order, the steps, what to return and where to hand off. Each one works on its own.

Alias

Another name the same verb answers to, like critique for review or launch for ship, so whichever word comes to you first works.

Tell your agent

“/design-engineering critique src/Card.tsx”

Process

54

How the work gets done: briefs, reviews, prototypes and shipping.

Design engineering

The craft between design and code: building the details (motion, states, type, color, copy) that make a working interface feel right.

Vibe coding

Asking an agent for something, accepting whatever runs and hoping it is good. Fine for throwaways; it ships the agent's average guess.

Design vocabulary

The exact names for how interfaces look and move, like tracking, easing or hierarchy. The right word gets you the right result from an agent.

Before / After / Why

The table a design-engineering review comes back in: the exact line, its replacement, and one sentence of reason. One problem per row.

Tell your agent

“/design-engineering review this file”

Taste

A trained instinct for what works, built by looking closely at a lot of good work. Not a gift you are born with.

Tell your agent

“Match the qualities these three references share, not the average”

Polish

The small, mostly invisible details (press feedback, aligned numbers, soft shadows, real copy) that make a working product feel considered.

Tell your agent

“Do a polish pass on the unseen details of this screen”

Product UI

Screens people use hundreds of times inside an app. Their job is to get out of the way: calm, consistent and fast.

Tell your agent

“This is product UI: design for the hundredth session, not the first”

Selector

The exact address of an element on a web page, like .plan-card > button.primary. Handing one to an agent tells it precisely which thing you mean.

Tell your agent

“In .plan-card__price (PlanCard.tsx:21), use tabular-nums”

Dependency

Code someone else wrote that your project pulls in, usually with npm install. Convenient once, then a cost every visitor pays.

Tell your agent

“Before installing anything, check if a native API can do it”

Native API

A feature already built into the browser, like fetch, Intl or crypto.randomUUID, so it costs nothing to download.

Tell your agent

“Use Intl.DateTimeFormat instead of a date library”

Microcopy

The small words in an interface: button labels, error messages, empty states, tooltips, status lines. Small, read constantly, and a big part of how a product feels.

Tell your agent

“Rewrite the microcopy: verb-first buttons, errors that say what to do next.”

ICU message

A standard format for writing one translatable sentence with placeholders and plural rules inside it, like {count, plural, one {# file} other {# files}}, instead of gluing strings together in code.

Tell your agent

“Write this as one ICU message with plural cases, not string concatenation.”

Intl

The browser's built-in formatter for numbers, money, dates, relative times and lists in any language. It knows that Germans write 1.234,50 € and Americans $1,234.50.

Tell your agent

“Format every number, date and list through Intl with the user's locale.”

AI tell

A default choice that signals nobody made a choice: a purple gradient hero, three emoji feature cards, 'Unleash your potential'. One is harmless; several together make a screen look generated.

Tell your agent

“Audit this screen for AI-default tells and give me a deletion list.”

Lorem ipsum

Scrambled Latin used as placeholder text while a layout is designed. Shipped in a real product, it means the copy (and the design) wasn't finished.

Tell your agent

“Replace every placeholder with real copy, or remove the section.”

Copy tell

A habit of generated writing: words like delve and leverage, 'not just X, but Y', lists of three, em dashes, puffery, 'I hope this helps!'. Each is fine alone; together they are a watermark.

Tell your agent

“Strip the copy tells from this text and keep a human voice.”

Rule of three

The habit of listing exactly three things ('fast, simple and secure') because three sounds complete, whether or not there are three real items.

Tell your agent

“Break the rule of three: list the real number of items.”

Puffery

Big promotional words that claim a lot and can't be checked: 'seamless', 'robust', 'a testament to', 'revolutionary'. Replace them with what actually happens.

Tell your agent

“Replace the puffery with one concrete, checkable claim.”

Chatbot residue

Lines the model wrote to the person prompting it that got pasted into the product: 'I hope this helps!', 'Great question!', 'Certainly! Here is…'.

Tell your agent

“Delete any chatbot residue from the copy.”

Code tell

A habit of generated code: comments that narrate each line, try-catch around code that can't fail, fallbacks to empty arrays, 'as any', names like fetchDataV2. It runs, but it hides intent and real failures.

Tell your agent

“Do a code-tells pass on this diff; the default fix is deletion.”

Silent fallback

Code that quietly substitutes a default when something fails, like catching a failed request and returning an empty list. The page shows 'No invoices' when the server is actually down.

Tell your agent

“Remove silent fallbacks; fail loudly or show a real error state.”

Scaffolding route

A page made for development, like /lab, /test or /playground. In production it gets indexed by search engines, often skips login, and shows unfinished work.

Tell your agent

“Make scaffolding routes return not-found in production builds.”

Public env var

A configuration value whose name starts with a prefix like NEXT_PUBLIC_ or VITE_, which gets bundled into the code every visitor downloads. A secret key there is readable by anyone.

Tell your agent

“Check public env var names for anything secret; report names, never values.”

Screenshot critique

Reviewing a page from screenshots of what it actually renders (at desktop, tablet and phone widths) instead of reading its code, one focused pass at a time, in at most three rounds.

Tell your agent

“Screenshot this at 1440, 768 and 390 and critique the render before the code.”

Unslop pass

The procedure for de-generating a screen: squint, delete what isn't needed, sweep color, type, layout, decoration, icons, copy and motion, then put one real point of view back.

Tell your agent

“Run an unslop pass: subtract first, then sweep, then add one signature.”

Rehearsal

Running an animated demo at real speed, filming it, and reading every frame, because the bugs live in the frames between the start and the end.

Tell your agent

“Rehearse it: film the whole loop and step through every press”

Fresh-eye review

A second reviewer (a person or a new agent) who gets only the filmed frames and the checklist, never the builder's plan or reasons, so they see what a viewer sees.

Tell your agent

“Give a fresh-eye reviewer the frames only, not my notes”

SVGO

A free tool that shrinks SVG files by removing editor junk and rounding numbers. It needs a few settings turned off so it keeps the viewBox, titles and the ids you animate.

Tell your agent

“Run SVGO with --multipass, but keep viewBox, <title> and the ids we animate.”

Cue sheet

A list written before any audio is made: one row per visual event, with its time, kind of sound, size and position, so the sound can be placed exactly.

Tell your agent

“Write a cue sheet from the locked timeline before rendering sound.”

CC0

A licence that gives a work to the public with no conditions: you may use, edit and sell it without credit. The safest licence for sounds.

Tell your agent

“Use only CC0 or properly credited CC BY recordings.”

Content ID

YouTube's system that scans uploads for registered music and files automatic claims, sometimes even when your use is properly licensed.

Tell your agent

“Credit the track in the description and keep the licence ready to dispute a Content ID claim.”

Lint (canvas)

An automatic check that flags problems on a board, like text spilling out of a card or an arrow that isn't attached. Fix every one your edit caused.

Tell your agent

“Run getLints and fix every lint your edit introduced”

Anchored comment

A comment pinned to a specific shape, so it points at what it means instead of describing it. On a board, each one is an instruction with an address.

Brief

The few sentences you send an agent before it starts: what to build, for whom, and the exact values that matter. A good brief names things instead of describing how they feel.

Tell your agent

“Here's the brief: one pass only, press state at scale(0.97), 120ms ease-out, nothing else.”

Review checklist

Thirty-nine common UI mistakes, each with a quick way to spot it and a fix, scanned before anyone argues about taste. A floor, not a ceiling.

Tell your agent

“Scan this component against the review checklist before you write the table.”

Change-scoped review

A review of what one change (a branch or pull request) did, not of the whole codebase. Each finding is marked Introduced, Regression or Pre-existing by what caused it.

Tell your agent

“Do a change-scoped review of this branch; Introduced and Regression only, then at most three Pre-existing.”

Blast radius

Every screen a changed file shows up in. Change a shared token or component, and every place that uses it is part of the review.

Tell your agent

“Review the blast radius of this token change, not just the file.”

Prototype picker

Three to five genuinely different, working versions of one piece on a throwaway page, switched with a small dark pill. You pick; the decision gets written down; the page gets deleted.

Tell your agent

“Build three directions behind a prototype picker, each on a named axis, then stop for my pick.”

Build a tool

When prompting for something keeps landing 'close but not quite', build the small tool that makes it instead, with every taste decision on a knob you adjust by eye.

Tell your agent

“Stop re-prompting; pitch me a tool for this in four lines: gap, tool, controls, export.”

Seeded generator

A small program that makes a picture from its settings plus a random seed, so one click gives a new variation and saving the settings lets you make the keeper again forever.

Tell your agent

“Build a seeded generator: pure render(config), click for a new seed, save writes the JSON.”

Design contract

A file in your project (.design or DESIGN.md) that tells an agent how things look: colours, type, spacing, radii, which component to use when. It outranks the skill's defaults.

Tell your agent

“Find our design contract first and use its tokens, never raw values.”

Stress scenario

One realistic but hostile input for a component: the longest real name, zero items, a 320px box. You render them side by side to see what breaks before users do.

Tell your agent

“Render MemberRow under every stress scenario it can actually receive, side by side.”

Production baseline

The global floor every app a phone will open needs: one viewport tag, a few root CSS rules, hover and reduced-motion gates, and dev tools kept out of the real build.

Tell your agent

“Merge the production baseline into our root layout and global CSS; don't create a second viewport tag.”

Ship check

The last pass before launch: the whole app swept across nine lanes, each finding ranked by a severity tree, mechanical fixes applied, and what needs a real phone listed.

Tell your agent

“Run a ship check: fix the blockers, then tell me what needs a device.”

Stacking chain

An ordered route through the skill for a multi-step job, like the screen loop: decide, foundations, one material pass, refine, review, ship. Skip steps; never reorder them.

Tell your agent

“Follow the screen loop: foundations first, then one material pass, then polish.”

Deletion list

A numbered list of things to remove or replace, highest impact first, each with where it is and why. What the tells verb returns instead of a redesign.

Tell your agent

“/design-engineering tells app/page.tsx”

Fixture

A saved set of test data shaped like the real thing, such as a worst-case list of members. Kept in the project so the next person can see the same breaks.

Tell your agent

“Keep the worst-case fixture next to the demo data.”

Lane (ship check)

One of the nine areas a ship check sweeps: accessibility, performance, mobile, forms, states, motion, theme, content and leftovers, and marketing.

Tell your agent

“/design-engineering ship audit mobile”

Typography

22

Type: sizes, spacing between letters and lines, and the small details that make text read well.

Type scale

A short, fixed list of text sizes a product is allowed to use, often each one a set ratio bigger than the last. Every piece of text picks a step instead of a one-off size.

Tell your agent

“Use a closed type scale named by role; no one-off font sizes.”

Leading (line-height)

The vertical space from one line of text to the next. Body text wants about 1.5 times the font size; big headings about 1.1.

Tell your agent

“Unitless line-height: 1.5 for body, about 1.1 for headings.”

Faux bold and italic

When a page asks for a bold or italic the font didn't load, the browser fakes one by smearing or slanting letters. font-synthesis: none turns that off so the problem is visible.

Tracking (letter-spacing)

Extra space added evenly between all letters. Big headings want it slightly tighter (negative), tiny uppercase labels slightly looser.

Tell your agent

“Tighten display tracking to about -0.02em; open tiny caps to +0.06em.”

text-wrap: balance / pretty

CSS that controls where lines break. balance evens out the lines of a heading; pretty stops a paragraph ending on one stranded word.

Tell your agent

“text-wrap: balance on headings, pretty on short blurbs.”

Truncation

Cutting text off with an ellipsis (…) when it doesn't fit. Only allowed when there is a way to see the full text, such as a tooltip or detail view.

Tell your agent

“Truncate in the middle for file names, and keep a way to see the full string.”

overflow-wrap: anywhere

CSS that lets a very long word, like a URL or a code, break onto the next line instead of punching out of its box.

Tell your agent

“Add overflow-wrap: anywhere wherever user text or URLs can appear.”

Tabular figures

Digits that all take the same width, so numbers line up in columns and a ticking counter doesn't wiggle. Turned on with font-variant-numeric: tabular-nums.

Tell your agent

“Use tabular-nums on prices, timers and anything that updates.”

Gradient text

Text filled with a color gradient instead of one solid color (in CSS, background-clip: text). On a headline it is one of the most common generated-page devices.

Tell your agent

“Replace the gradient text with solid ink.”

Color

31

Color systems, contrast, shadows and the surfaces things sit on.

OKLCH

A way of writing a color as three numbers: L (how light it looks to a person), C (how vivid) and H (which hue, as an angle). Because the numbers follow what eyes see, you can do math with them.

Tell your agent

“Author every new color in oklch().”

Gamut

The set of colors a screen can actually show. OKLCH can name colors outside it; those get clamped to the nearest one the screen can display.

Tell your agent

“Clamp chroma to the sRGB gamut, holding L and H.”

Display P3

A wider gamut than standard sRGB, found on most recent phones and Macs. Extra-vivid colors can be layered on for these screens with a media query.

Tell your agent

“Add the vivid version behind @media (color-gamut: p3).”

Ramp (color scale)

One hue in a row of steps from nearly white to nearly black, usually numbered 50 to 950. A palette is a few ramps, not a pile of colors.

Tell your agent

“Build an 11-step ramp in OKLCH with even lightness steps.”

Design token

A named value, like --color-text-secondary, used instead of typing the raw color everywhere. Change the token and every place that uses it changes.

Tell your agent

“Use the semantic tokens, never raw colors, in components.”

Semantic token

A token that names a job, like --color-bg-page, and points at a primitive. Components use only these, so a dark theme just repoints them.

Tell your agent

“Components reference semantic tokens only; dark mode repoints them.”

color-scheme

A CSS property that tells the browser whether to draw its own parts (scrollbars, form controls) light or dark. Declare only the themes you actually designed.

Tell your agent

“Set color-scheme: light on :root for a light-only site.”

Gradient interpolation

The color space a gradient mixes its stops in. The same two colors make a muddy, an even, or a vivid gradient depending on it (sRGB, OKLab or OKLCH).

Tell your agent

“Use linear-gradient(in oklab, …) so the middle doesn't go muddy.”

Layered shadow

Several faint shadows stacked in one box-shadow: a tight one, a wide soft one, sometimes a 1px ring. It reads as real depth where one blurry shadow reads as a template.

Tell your agent

“Use a layered shadow at 4–6% opacity, not one 0 2px 8px blur.”

Nested radius

The rule for a rounded box inside another: inner radius = outer radius − the gap between them, so both corners curve in parallel.

Tell your agent

“Derive the inner radius: outer minus padding.”

Optical alignment

Nudging things until they look aligned to the eye, even when the measurements say they were already aligned. A play triangle moves a little right; a circle grows a little.

Dark mode

A second theme with light text on dark surfaces. Done well it is designed from the same color scale, not made by inverting the light theme.

Tell your agent

“Remap the scale for dark: near-black surfaces that get lighter as they rise.”

Translucent material (glass)

A see-through, blurred surface (CSS backdrop-filter) such as a toolbar that content scrolls under. Its job is to keep you oriented, not to decorate.

currentColor

A CSS keyword meaning "whatever the text color is here". An icon filled with currentColor changes color with the text around it, including in dark mode.

Tell your agent

“Use fill="currentColor" so the icon follows the text color.”

palette role

A named job for a color (main, deep, tint, gold, ink) instead of a fixed hex value, so a whole illustration can be recolored to a new brand without losing what each part means.

Tell your agent

“Fill the sticker by role (main, deep, tint) and map the roles to our brand tokens.”

Focal accent

The one bright color reserved for the one or two things a reader must see first. Everything else stays in quiet grays.

Tell your agent

“Put the accent on the one path that matters, nothing else”

Skin (of a figure)

The colors and font families a diagram borrows from your brand. The brand changes the skin; it does not change the diagram's spacing or line rules.

Tell your agent

“Take the skin from our .design file; keep diagram-design's geometry”

Layout

40

Where things go: spacing, grids, grouping and pages that work on every screen.

z-index

The CSS number that decides which overlapping thing is drawn on top. It only competes with siblings inside the same stacking context.

Tell your agent

“Replace the magic z-index numbers with one file of layer constants.”

Stacking context

A sealed group of layers. Things inside it are sorted among themselves and the whole group is drawn as one layer, so a z-index of 9999 inside can't beat something outside.

Grouping by space

Showing which things belong together just by putting them closer to each other than to anything else. The gap between groups is at least twice the gap inside one.

Tell your agent

“Group with space first: between-group gaps at least 2× the gaps inside a group.”

Proximity

The tendency to read things that sit close together as one group. It is the cheapest structure in design: no lines or boxes needed.

Spacing scale

A short list of allowed gaps (for example 4, 8, 12, 16, 24, 32px) that every margin and padding picks from, so spacing stays consistent.

Alignment edge

An invisible vertical line that several elements start from. Fewer edges make a page look calm; text starting on many different lines looks ragged.

Full bleed

A background or image that runs right to the edge of the screen, past the margins. Content can bleed; text and controls stay inside the margins.

Page frame

The overall shape of a page that readers judge before any detail: its margins, how the width is used, the gaps between sections, and whether the first screen says what this is.

Hole (empty space)

A stretch of a page with nothing in it and nothing closing it off, like a giant gap between sections. Different from a deliberate rest, which something frames.

Container query

CSS that lets a component change its layout based on the width of the box it sits in, rather than the whole window. A card can then work in a sidebar and in a wide grid.

Tell your agent

“Make the card adapt with a container query, not a viewport media query.”

Min-content blowout

When a grid column or flex item refuses to shrink smaller than its longest word or widest table, pushing the layout off the side of the screen. minmax(0, 1fr) and min-width: 0 fix it.

Tell your agent

“Use minmax(0, 1fr) and min-width: 0 so long content can't blow out the column.”

Logical properties

CSS written as start and end instead of left and right (margin-inline-start, text-align: start), so the layout mirrors by itself for right-to-left languages.

Tell your agent

“Use logical properties: margin-inline-start, not margin-left.”

Safe area

The part of a phone screen not covered by the notch or Dynamic Island, the rounded corners or the home indicator. env(safe-area-inset-*) tells CSS how big those edges are.

Tell your agent

“Pad the header and tab bar with env(safe-area-inset-top/bottom).”

dvh and svh

Viewport height units that understand phone browser bars. 100dvh changes as the address bar shows and hides; 100svh is the smaller, steady height. Plain 100vh assumes the bar is hidden.

Tell your agent

“Use 100dvh for app shells and min-height: 100svh for heroes, never 100vh.”

URL as state

Keeping what the user is looking at (tab, filters, sort, open panel) in the web address, so a link, a bookmark or the back button brings back exactly the same view.

Tell your agent

“Put the tab, filters and sort in the URL query, read with useSearchParams.”

Open Graph tags

Meta tags (og:title, og:description, og:image) that chat apps and social sites read to build the preview card when someone pastes your link.

Tell your agent

“Add per-route titles, descriptions and a 1200×630 OG image, with metadataBase set.”

Layout shift

When something on the page jumps because content above or around it changed size, like a list collapsing to a spinner and then expanding when the data lands.

Tell your agent

“Make sure nothing shifts when this content loads; reserve its size.”

Bleed

Letting a window run off the edge of its frame on purpose, so it reads as a crop of a bigger product rather than a small picture floating in space.

Tell your agent

“Bleed the window 25% off the right and bottom”

Gutter (in a shot)

The one distance between the main window and the frame's edge. Every other edge in the picture either sits that same distance in, or runs well past the edge.

Tell your agent

“One 24px gutter, measured in the final crop”

Plate

A tinted rectangle behind a window that makes it look like it is floating on a mat. On a white or dark page it is almost always a mistake: the page is the ground.

Tell your agent

“No plate behind the window; the page is the ground”

Compact design

A second composition of a demo for a phone column (about 358px wide): cropped closer, satellite dropped or stacked, text still at real size. Not the desktop picture shrunk.

Tell your agent

“Ship a compact design at 358 wide, not a scaled-down copy”

Bento grid

A section of feature tiles of different sizes, like a bento box. It works when planned as one picture with different kinds of tile, not four cropped windows in a row.

Tell your agent

“Plan the bento grid as a table first: one hero, mixed tile kinds”

Stat tile

A bento tile with one real number at display size (48 to 72px), a short lead and a one-line label. Number and unit stay on one line.

Tell your agent

“Make it a stat tile: one real number, unit on the same line”

Safe zone

The part of a video frame that the app's own buttons, captions and headers will not cover, where text and key action must stay.

Tell your agent

“keep text inside the 9:16 feed safe zones”

Motion

34

Animation: timing, easing, springs, and when something should move at all.

Delight

A small flourish that makes a product feel alive, like a tick on save or confetti at the end of onboarding. It wears out the more often you see it.

Tell your agent

“Keep delight for rare moments; frequent actions get subtle feedback only”

Easing

How speed changes during an animation: start fast and slow down, start slow and speed up, or both. It decides whether motion feels snappy or sluggish.

Tell your agent

“Use a strong ease-out curve on the dropdown”

Ease-out

An easing that moves fast at the start and slows into the end. The right default for anything entering or leaving, because it reacts the moment you act.

Tell your agent

“Use ease-out, cubic-bezier(0.23, 1, 0.32, 1), for the menu”

Ease-in

An easing that starts slowly and speeds up toward the end. It makes UI feel sluggish because nothing happens right when you're watching, so avoid it in interfaces.

Tell your agent

“Replace every ease-in on UI with ease-out”

cubic-bezier()

A way to write your own easing curve as four numbers, like cubic-bezier(0.23, 1, 0.32, 1). Custom curves feel more deliberate than the built-in ones.

Tell your agent

“Define the easing as custom cubic-bezier tokens”

CSS transition

A CSS rule that animates a property from its current value to a new one when it changes. Because it starts from wherever it is, it can reverse smoothly if interrupted.

Tell your agent

“Use a transition, not a keyframe animation, so it can reverse mid-way”

Keyframes

A CSS animation written as a list of steps (0%, 50%, 100%) that plays from the start each time. Good for planned sequences like a shake; bad for things people interrupt.

Tell your agent

“Use keyframes for the error shake only”

Duration

How long an animation lasts. Almost all interface motion belongs under 300 milliseconds; button presses take 100 to 160.

Tell your agent

“Keep the dropdown at 200ms and the exit at 150ms”

transform

The CSS property that moves, scales and rotates an element without disturbing anything around it. It's one of the two properties that are cheap to animate.

Tell your agent

“Animate transform instead of top and width”

Opacity

How see-through something is, from 0 (invisible) to 1 (solid). Fading opacity is cheap to animate and does most of the work of making things appear.

Tell your agent

“Fade opacity 0 to 1 alongside a scale from 0.95”

transform-origin

The pivot point for scaling or rotating an element. Setting it to where a menu's button is makes the menu look like it grows out of that button.

Tell your agent

“Set transform-origin on the popover to the trigger's position”

Spring animation

Motion driven by physics instead of a fixed duration: a pull toward the target plus friction. It keeps its speed when interrupted, which makes drags and flicks feel natural.

Tell your agent

“Use a spring with stiffness 380 and damping 30 for the drawer”

Stiffness

How hard a spring pulls toward its target. Higher stiffness makes the motion snappier and quicker.

Tell your agent

“Raise the spring's stiffness so it feels less floaty”

Damping

The friction on a spring. Low damping lets it overshoot and wobble; high damping makes it settle calmly with no bounce.

Tell your agent

“Increase damping so the sheet doesn't oscillate”

Interruptible animation

An animation that can change direction partway through without jumping, carrying on from where it is. Transitions and springs are interruptible; keyframes are not.

Tell your agent

“Make the toast exit interruptible”

Frame-rate independence

Writing animation so the same gesture ends in the same place on a 30, 60 or 120 frames-per-second screen, by stepping on a fixed clock instead of once per frame.

Tell your agent

“Step the spring on a fixed 4ms clock, not once per frame”

Lerp

Short for linear interpolation: moving a value a fixed fraction of the remaining way toward its target each frame, like 8%. Used to make live data glide instead of jump.

Tell your agent

“Lerp the badge, line and axis at the same 8% rate”

Stagger

Playing the same entrance on several items one after another, a few tens of milliseconds apart, so a list arrives as a quick wave.

Tell your agent

“Stagger the rows 40ms apart, capped under 300ms total”

FLIP

A technique for animating an element to a new position: measure First and Last positions, Invert the difference with a transform, then Play it back to zero.

Tell your agent

“Animate the list reorder with FLIP instead of jumping”

clip-path

A CSS property that cuts away part of an element, like a mask. It animates cheaply and smoothly, which makes it great for reveals, wipes and sliding highlights.

Tell your agent

“Reveal it with clip-path inset() instead of animating height”

Crossfade

Fading one thing out while another fades in on top of it. Fine for unrelated content; halfway through it shows two ghost images, which blur can hide.

Tell your agent

“Pair the crossfade with a 2px blur”

Compositing

When the browser hands a finished picture to the graphics chip and only moves or fades it, without redrawing or re-measuring. Animating transform and opacity stays here.

Tell your agent

“Keep the animation on composite-only properties”

will-change

A CSS hint that an element is about to animate, so the browser prepares it. Useful on one element with a visible first-frame hitch; harmful sprinkled everywhere.

Tell your agent

“Remove will-change from every card; add it only where the first frame stutters”

Payoff

The result an animated demo builds to: the panel that opens, the state that changes. It arrives whole, stays visible at the shown size and holds for about 2 seconds.

Tell your agent

“Hold the payoff for 2 seconds before the loop resets”

Loop reset

How an animated demo gets back to its start. A good reset has a visible cause (undo, close, clear) or happens out of sight; data never rewinds in view.

Tell your agent

“Reset the loop with a visible cause, never by rewinding”

stroke-dasharray

The SVG setting that turns a line into dashes. Make one dash as long as the whole line, slide it with stroke-dashoffset, and the line looks like it is being drawn.

Tell your agent

“Draw the path on with pathLength="1", stroke-dasharray: 1 and stroke-dashoffset from 1 to 0.”

transform-box

A CSS setting that decides what a transform measures from. In SVG the default is the corner of the whole drawing, so set transform-box: fill-box to rotate or scale a part around its own center.

Tell your agent

“Add transform-box: fill-box and transform-origin: center so it spins in place.”

SMIL

Animation written as tags inside the SVG file itself (<animate>, <animateMotion>). It keeps playing even when the SVG is loaded as a plain image, where page CSS and JavaScript cannot reach.

Tell your agent

“This SVG ships as an <img>, so put the animation inside the file: CSS keyframes, or SMIL for the motion path.”

path morph

One SVG shape smoothly turning into another by sliding every number in its path to a new value. It only works when both paths have the same commands in the same order.

Tell your agent

“Author both shapes with the same command list (M, four C, Z) so the morph interpolates.”

flubber

A small JavaScript library that resamples two unrelated shapes so they can morph into each other. Worth it when the morph is the product, not for an icon toggle.

Tell your agent

“These paths don't match; use flubber's interpolate() only if the morph is the hero.”

icon swap

Changing one icon for another (copy to check, play to pause) by fading, scaling and blurring the old one out while the new one comes in, instead of morphing between them.

Tell your agent

“Swap the icons: outgoing scales to 0.3, fades and blurs 3px, incoming does the reverse.”

Contact frame

The frame of an animation where the moving thing visibly lands or arrives. Sounds that confirm a motion belong on this frame, not where the motion starts.

Tell your agent

“Fire the landing sound on the contact frame, about 85% through the ease-out.”

Time constant (tau)

How fast an exponential settle comes to rest. A smaller tau settles faster; about 0.1 to 0.15 seconds for an object in a film.

Tell your agent

“settle objects with tau 0.13 s”

Interaction

14

What happens when you press, drag, hover or type.

Press feedback

A button visibly reacting while you press it, usually by shrinking to 97% of its size. It tells you the press registered.

Tell your agent

“Add :active scale(0.97) with a 120ms ease-out to buttons”

Velocity

How fast and in which direction something is moving, often in pixels per millisecond. Measured when a finger lifts, it tells a flick from a slow release.

Tell your agent

“Dismiss the sheet if release velocity is above 0.11 px/ms”

Rubber band

The resistance you feel when dragging past an edge on iOS: the content follows less and less the further you pull, then springs back when you let go.

Tell your agent

“Add a rubber band past the sheet's open position”

Pointer capture

Telling the browser to keep sending a finger's or mouse's movements to one element until it lifts, so fast drags don't lose track when the pointer slips off.

Tell your agent

“Call setPointerCapture on pointerdown for the drag”

Hit testing

Working out which element a press landed on. For things still animating, test against where they are heading, so quick repeated presses land where people expect.

Tell your agent

“Hit-test presses against each toast's destination”

Hover state

How a control looks while a mouse pointer is over it. Good ones are subtle (one step of background, a 1px lift) and only appear on devices that can hover.

Tell your agent

“Keep hover to one step of background, gated behind @media (hover: hover).”

Blur (leaving a field)

The moment focus leaves a form field, by tabbing or clicking elsewhere. It is the right time to check the field, because the person has signalled they are done with it.

Tell your agent

“Show field errors on blur, not on every keystroke.”

Optimistic update

Changing the screen right away as if an action succeeded, sending the request in the background, and rolling back only if it fails. It makes likes and toggles feel instant.

Tell your agent

“Make this toggle optimistic, with a rollback and an error toast on failure.”

Hit area

The invisible region that responds to a click or tap. It can be bigger than the icon you see, so a 24px icon can still have a 44px target for a thumb.

Tell your agent

“Grow the hit area to 44px with a pseudo-element; keep the icon 24px.”

Presence signal

How a shared product shows who else is there and how much attention they are paying: arriving, here, half here, leaving. More than a green dot.

Tell your agent

“Show presence in three states (here, half here, away), one color per person.”

Cursor kind

The shape of the pointer: arrow, I-beam over text, hand on a link, open hand over something draggable. In a demo it switches as the pointer crosses an element's edge.

Tell your agent

“Switch the cursor kind as it crosses the text field”

Grab offset

Where the hand took hold of something it drags. It stays the same through the whole drag and the drop, so the object does not jump to center itself under the pointer.

Tell your agent

“Keep the grab offset through the drag”

100th-use test

Imagine a sound the first time you hear it, then the hundredth. If the hundredth makes you want to mute it, cut the sound or make it smaller.

Tell your agent

“Run the 100th-use test on every sound and cut any that fail.”

Bound arrow

An arrow on a canvas that is truly attached to the shapes at its ends, so it follows them when someone drags. An arrow that only looks attached gets left behind.

Tell your agent

“Bind every meaningful arrow with createArrowBetweenShapes”

Components

11

The building blocks: buttons, menus, sheets, inputs and their states.

Primary action

The one thing you most want people to do on a screen, usually the one filled, strongest button. A screen should have one.

Tell your agent

“Make Start free trial the only primary button; the rest are quiet”

State (of a screen)

One of the situations a screen can be in, like loading, empty, error, offline or no permission. Each needs its own design and words.

Tell your agent

“Design the loading, empty, error and offline states with real copy”

Tray

A sheet that rises from the bottom over the current screen for one short task; the next step stacks over it. Each tray has a title, a dismiss and its own height.

Tell your agent

“Make each step a tray with a different height”

Skeleton

A gray placeholder in the exact shape of the content that is loading: circles where avatars go, bars as wide as the words. When the real content arrives, nothing moves.

Tell your agent

“Show a skeleton with the loaded rows' exact height and widths, not a spinner.”

Empty state

What a list or page shows when there is no data yet. A good one says what belongs there and offers the action that fills it, instead of just "No data".

Tell your agent

“Design the empty state: title, one line of why, and the primary action.”

Inline validation

Checking each form field where it is, as the person moves through the form, instead of listing every error at the top after they press Submit.

Tell your agent

“Validate inline: on blur, then on every change once an error shows.”

Toast

A small message that slides in at the edge of the screen to confirm something ("Changes saved") and leaves on its own. One with an Undo button has to stay longer and pause while you look at it.

Tell your agent

“Show a toast with Undo that stays 6 seconds and pauses on hover and focus.”

Tooltip

A small label that appears on hover or focus to explain an element. It can't hold anything you click, because the pointer can't move into it without closing it.

Tell your agent

“Use a tooltip only for a short label; anything with a link is a popover.”

Popover

A floating panel that opens when you click something and stays open until dismissed. Unlike a tooltip, it can hold links, buttons or a small form.

Tell your agent

“Make this a click-opened popover, not a tooltip, since it has a link.”

Compound component

A component split into parts that share state behind the scenes, like <Dialog>, <Dialog.Trigger> and <Dialog.Content>, so you arrange the pieces instead of passing a big config object.

Tell your agent

“Build this as a compound component with context, not a config prop.”

Glassmorphism

Frosted, see-through panels with a blur behind them. Fine over a photo or a busy canvas; over a plain background there is nothing to frost, so it is pure decoration.

Tell your agent

“Remove the glass effect where there is nothing behind it.”

Accessibility

12

Making interfaces work for everyone: keyboards, screen readers, reduced motion.

Reduced motion

A device setting people turn on when movement makes them unwell or distracted. Interfaces should drop slides, zooms and parallax, but keep short fades.

Tell your agent

“Add a prefers-reduced-motion block that keeps the fade and drops the slide”

Contrast ratio

How different the text color is from its background, as a number like 4.5:1. Body text needs at least 4.5:1 to be readable for most people; large text 3:1.

Tell your agent

“Make body text pass 4.5:1 against its background.”

APCA

A newer contrast formula that models how people actually perceive text, scored as Lc: about 75 for body text, 60 for labels, 45 for headlines.

Tell your agent

“Check the pair with APCA as well: Lc 75 or more for body text.”

:focus-visible

A CSS selector that matches when the browser decides focus should be shown, after Tab but not after a mouse click. Use it to show a focus ring only to keyboard users.

Tell your agent

“Replace outline: none with a :focus-visible ring.”

aria-label

An attribute that gives an element its spoken name for screen readers. Every button that shows only an icon needs one that names the action, like "Close dialog".

Tell your agent

“Give every icon-only button an aria-label that names the action.”

tabindex

An attribute that controls whether something can take keyboard focus. Only two values are legal: 0 (joins the Tab order) and -1 (focusable from code only). A positive number breaks the page's order.

Tell your agent

“Use tabindex 0 or -1 only; never a positive tabindex.”

Roving tabindex

A way to give a group of controls (a menu, tabs, a toolbar) a single Tab stop: the active item has tabindex 0, the rest -1, and the arrow keys move focus between them.

Tell your agent

“Use a roving tabindex so the whole menu is one Tab stop with arrow keys inside.”

title (in SVG)

A <title> as the first child of an SVG gives it a name a screen reader can read aloud. Pair it with role="img"; decorative SVGs get aria-hidden="true" instead.

Tell your agent

“Give the meaningful SVG role="img" and a <title>; hide the decorative ones with aria-hidden.”

<title> and <desc>

Two tags inside an SVG that name the picture and describe it in one sentence, so a screen reader can say what it shows.

Tell your agent

“Add role="img" with aria-labelledby pointing at a prefixed <title> and <desc>”

Media

62

Icons, SVG, sound, diagrams, product demos and launch films.

Chartjunk

Decoration in a chart that carries no information: extra gridlines, needless legends, 3D effects, a rainbow of default colors. Edward Tufte's word.

Tell your agent

“Remove the chartjunk: keep one axis, no legend, two colors”

Faux UI

A drawn picture of a product's interface, made for a landing page, feature card or docs page. It looks like the real app but is simplified to tell one moment.

Tell your agent

“Build a faux UI of the inbox for the hero”

Product shot

An illustration of one moment in a product, framed like a photo: cropped to where the story happens, not a whole screenshot pasted into a box.

Tell your agent

“Frame it as a product shot, not a screenshot”

Word budget

The handful of real words (usually 3 to 7) a product illustration is allowed. Everything else becomes a placeholder bar, so the eye goes straight to what matters.

Tell your agent

“Keep the word budget to 6 real strings”

Placeholder bar

A short gray line that stands in for text nobody needs to read in a product illustration. Its width varies row to row and it sits at the height of the text it replaces.

Tell your agent

“Replace the filler text with placeholder bars of varying width”

Fidelity

How much real content an illustration shows: minimal is all bars, standard has words only where the story is, realistic has plausible words everywhere.

Tell your agent

“Standard fidelity: words only on the selected row and the result”

Satellite

A smaller second object in a product shot (a receipt, a phone, a detail card) that carries the point. It usually straddles the main window's edge, about half outside.

Tell your agent

“Add one satellite card straddling the window's left edge”

SVG

Scalable Vector Graphics: an image written as text (shapes, lines and curves), so it stays sharp at any size and you can style and animate its parts with CSS.

Tell your agent

“Make this icon an inline SVG so CSS can color and animate it.”

viewBox

The attribute that sets an SVG's own coordinate grid, like "0 0 24 24". With it, the drawing scales to whatever size CSS gives it; without it, the icon is stuck at one size.

Tell your agent

“Give the SVG viewBox="0 0 24 24" and remove the fixed width and height.”

path

The SVG element that draws any shape from a list of commands in its d attribute: M moves the pen, L draws a line, C draws a curve, Z closes the shape.

Tell your agent

“Draw it as one <path> so it can be animated or morphed later.”

Lottie

A format that plays After Effects animations in apps and on the web through a JavaScript player. Handy for rich exports, but usually several times larger than the same motion as plain SVG.

Tell your agent

“Rebuild this Lottie as a native SVG with CSS keyframes if it is simple enough.”

isometric

A way of drawing 3D objects without perspective: faces lean at fixed angles, so a box shows its top and two sides and parallel lines stay parallel.

Tell your agent

“Draw it as an isometric sticker: leaned faces, the side falling down-left.”

slab

A flat shape given thickness, like a cookie cut from dough. Isometric stickers build every part as a slab so it reads as a made object, not a flat drawing.

Tell your agent

“Make each part its own slab with its own thickness, not detail painted on one shape.”

vectorize

Trace a pixel image into vector shapes. Tools like vtracer turn each flat color region of a frame into a path.

Tell your agent

“Quantize the frames to six colors, then vectorize each with vtracer.”

vector flipbook

One SVG file holding every frame of an animation as its own group, shown one at a time by a stepped animation, like flipping the pages of a sketchbook.

Tell your agent

“Assemble the traced frames into one vector flipbook at 12 fps with colors as CSS variables.”

Earcon

A short interface sound whose meaning you learn from its shape, like a rising tone for joining a call. It does not imitate a real-world noise.

Tell your agent

“Design the earcons so rising means success and falling means error.”

Sound palette

The small, matched set of four to six sounds a product uses, all made from one material, like one typeface in several weights.

Tell your agent

“Build a sound palette of at most six sounds from one material.”

dBFS

Decibels below the loudest a digital file can go. 0 dBFS is the ceiling where sound distorts, so UI sounds peak at about −3 dBFS.

Tell your agent

“Peak every UI sound at −3 dBFS.”

Mono

Sound on one channel instead of separate left and right. UI sounds are mono because phone and laptop speakers fold stereo into one anyway.

Tell your agent

“Export UI sounds as mono, 44.1 kHz.”

Transient

The sharp, loud first instant of a sound, like the crack at the start of a clap. It is the part you line up with the picture.

Tell your agent

“Put the sound's transient on the contact frame.”

AudioContext

The browser's little audio engine that a page creates to play sound. It starts paused until the person clicks or presses a key.

Tell your agent

“Create and resume the AudioContext inside the first click, never at page load.”

Procedural sound

Sound built by code from oscillators and envelopes instead of loaded from a file. Weighs nothing and its pitch and length can follow the UI.

Tell your agent

“Synthesize the ticks procedurally with Web Audio; no audio files.”

Sound register

The overall kind of soundtrack a film uses, such as a dry reveal, a low drone with clicks, a beat track, a voice, or soft foley.

Tell your agent

“Pick the sound register from the picture and state its loudness.”

Bed

Music or a drone that runs quietly underneath a whole film or section. A bed laid flat from the first second with nothing placed on the reveal is the default mistake.

Tell your agent

“Shape the bed: take it away just before the reveal and bring it back on the name.”

Foley

Everyday sounds added to match on-screen actions, like keys clicking or a button pressing. In a product film they get louder the more an action matters.

Tell your agent

“Add foley whose level follows consequence: typing quiet, Send loudest.”

Drop

The moment in a music track where the beat and bass come in hard. In a launch film it should land on the reveal of the name.

Tell your agent

“Trim the track's start so its drop lands on the reveal frame.”

Register (film)

The kind of launch film you are making, such as UI motion graphics, product camera or kinetic type. It sets the cut rate, stillness and loudness.

Tell your agent

“name the launch-film register first”

Cut rate

How many times a minute the picture jumps to a new shot. About 4 in UI motion films, 14 in product-camera films, 31 in beat-cut sizzles.

Tell your agent

“keep the cut rate inside the register's row”

Still share

The fraction of a film's frames where nothing visible changes. A blinking caret or a moving cursor counts as motion.

Tell your agent

“compare still share only within one register”

Dead cut

A cut from a settled frame to a new scene that just waits. Neither side is moving, so the film stalls. It fails in every register.

Tell your agent

“no dead cuts: one side of every cut must be moving”

Beat (film)

A stretch of a film with one job: the hook, the problem, the name, the product, the proof, the endcard.

Tell your agent

“storyboard the beats with timestamps”

Hook

The first two or three seconds of a film, which decide whether anyone keeps watching. A readable word should be on screen by 0.2 to 0.7 seconds.

Tell your agent

“a readable word by 0.7 s in the hook”

Poster frame

The frame shown before a video plays, as its thumbnail. Some films bake 1 to 4 frames of the finished title at the very start so the thumbnail names the product.

Tell your agent

“bake a poster frame of the title at t = 0”

Endcard

The closing frame of a film with the mark, the name and maybe a URL. In measured films it runs 4.4 to 6.3 seconds and its last 2 seconds hold still.

Tell your agent

“an endcard of about 5 s with a 2 s final hold”

Word stagger

The gap between one word appearing and the next when a line builds word by word. About 0.2 seconds in a music film.

Tell your agent

“build the line per word at a 0.2 s stagger”

Hold (text)

How long a line stays on screen after its last word lands, so it can be read. About 1.15 to 1.5 seconds in launch films.

Tell your agent

“hold each line 1.15 s after its last word”

Slam word

One word that arrives huge, a quarter of the frame or more, holds a moment, then drops into its sentence. Used once in a film, if at all.

Tell your agent

“one slam word, dropped into its sentence”

Oversized cursor

A pointer drawn far bigger than on a real screen, about 7 % of the frame's width, so it reads in a video.

Tell your agent

“an oversized cursor, about 7 % of frame width”

Hard cut

An instant jump from one shot to the next, with no fade or transition between them. Most launch films use them.

Tell your agent

“hard-cut on the click”

Crossfade dip

The flash you get when two scenes fade at the same time: at the midpoint, whatever is underneath (often white) shows through.

Tell your agent

“no crossfade between two opaque scenes unless they share a ground”

Seam

Any change from one scene to the next, whether a cut, a fill or a morph. A good seam reads as one continuous move.

Tell your agent

“write a seam ledger before animating”

Carrier

The thing that crosses a scene change and carries the eye with it: a button filling the frame, a dot, a line that becomes a chart.

Tell your agent

“carry the seam on one shared element”

Zoom-through

A seam where the outgoing scene pushes in and blurs, the scene swaps, and the new one arrives from slightly smaller, as if the camera flew through.

Tell your agent

“zoom-through: out 1 to 1.2, in from 0.75”

Native frame rate

The frame rate a video was made at, like 24, 30 or 60 frames a second. Review at that rate; converting adds fake duplicate frames.

Tell your agent

“review the render at its native frame rate”

Contact sheet

A grid of still frames taken at small steps through a video, so you can see exactly what happens around a cut.

Tell your agent

“make a contact sheet every 2 frames around each seam”

LUFS

Loudness Units relative to Full Scale: how loud a whole piece of audio sounds to a person. Closer to zero is louder; −14 is loud, −30 is quiet.

Tell your agent

“state the integrated loudness in LUFS”

True peak (dBTP)

The highest point the audio wave really reaches, including between samples. Keep it at or below −1 dBTP so it never clips on playback.

Tell your agent

“limit to −1 dBTP true peak”

Shutter (motion blur)

Real motion blur made by sampling several moments inside each frame and averaging them, like a camera's shutter staying open.

Tell your agent

“180° shutter, 4 samples a frame, never across a cut”

Feature loop

A short looping video for a landing page that runs as a seamless cycle, with no visible start or end.

Tell your agent

“make it a seamless feature loop, frame 0 names the product”

Logo sting

A 3 to 8 second clip that assembles the logo and holds it, played at the start or end of other videos.

Tell your agent

“a 5 s logo sting assembled from its pieces”

Canvas (board)

An endless editable whiteboard, like tldraw or FigJam, where a team keeps moving boxes and arrows around after the first draft.

Tell your agent

“Put this on an editable tldraw board, not a finished figure”

Mermaid

A way to write a diagram as short text (A --> B) that a docs site turns into a picture. Good for structure kept next to code; its automatic layout looks generated in a finished figure.

Tell your agent

“Write this flow as a Mermaid block next to the README section”

Connector

A line or arrow between two boxes that says they are related: one calls, feeds, or leads to the other.

Tell your agent

“Use orthogonal connectors with their own attach points”

Orthogonal (connector)

Running only across and up or down, turning at right angles, never on a slant. Diagrams with right-angle lines look drawn on purpose.

Tell your agent

“Route every connector orthogonally, elbows rounded at 8px”

Label mask

A small patch of background color behind a label on a line, so the line stops short of the words instead of running through them.

Tell your agent

“Give every arrow label an opaque paper mask, clear of its stroke”