Signatures

One you. Many faces.

Collapsing your inboxes shouldn’t collapse your brands. Each face still has to look like itself.

Home WorkspaceSignaturesSecondary domainsYour other identitiesOther people

The obvious move is one signature template with a swappable colour and a different word in the role line. It feels tidy. It’s wrong.

Your client at one project has never heard of the others. If every address you own signs with the same bones, you’ve told them all your projects are the same shop. That’s a seam — the visible kind, on the outside, where people look.

Each identity’s signature comes from that identity’s brand. Not a variant of a house style. Its own.

Every project already has a brand: a palette, a typeface, a wordmark, a tokens file someone wrote at 1am. It’s in the repo. Nobody needs to invent one, and inventing one is how you get a signature that looks like it belongs to somebody else.

So the prompt below doesn’t carry a design. It carries the awkward part — what mail clients destroy — and tells the agent to go read the brand from the code it’s already sitting in.

Run it once per project. Same prompt every time.

Run in the project’s repo · Sonnet
Build an email signature for this project, branded from this codebase.

FIND THE BRAND. Do not invent one, and do not use defaults. Read the repo
first and tell me what you found before you write anything:
  - tokens / theme / variables / globals — the palette and type scale
  - a wordmark, logo, or mark component
  - the landing page — voice, spacing, how restrained it is
  - any comment in those files telling you what not to touch. Honour it.
Resolve every CSS variable to a literal hex before it goes in the signature.

THE CONSTRAINT. Mail clients are not browsers. Gmail's renderer is closer to
2003 and it will silently destroy most of what you'd normally write:
  - it strips <style> blocks and <link> tags — inline styles only
  - it strips inline SVG — a mark must be a hosted PNG at 1x and 2x, exported
    from the existing component into /public. Never redraw the mark by hand.
  - web fonts do not exist. Recipients get what their machine has.
  - flex, grid, and positioning are unreliable — tables with inline styles
  - CSS variables do not resolve
  - budget: under 10,000 characters

FONT FALLBACK IS A DESIGN DECISION, NOT A DEFAULT. The brand's typeface will
not survive. Choose the fallback that preserves its character rather than
reaching for Helvetica: a serif wordmark stays serif or the whole feeling
dies. Say which fallback you chose and why.

BUILD:
  1. A /signature route rendering the signature exactly as a mail client will
     show it — using the fallback fonts, not the site's fonts, so the preview
     is honest.
  2. A copy button putting the rich HTML on the clipboard (ClipboardItem with
     text/html, plus a select-range fallback for browsers that block it). The
     paste target is Gmail's signature editor, which takes formatted content,
     not code.
  3. Contents: name, the address, the site. Take the role line from existing
     copy on the site rather than writing new.

CHECK BEFORE YOU FINISH:
  - against a white compose window AND in dark mode. Coloured grounds often
    invert to mud — if the brand's ground can't survive both, drop to
    ink-on-transparent with the accent as the only colour, and tell me.
  - with images blocked. It must still read.
  - match the codebase's existing patterns and conventions.

Do not run any git commands.
Read what it tells youThe prompt asks the agent to report the brand it found and the fallback it chose. That’s the part to actually read. If it says “Helvetica” for a project whose whole personality is a serif wordmark, it found the hex values and missed the point.
  1. Copy from the rendered page

    Not the code — the rendered thing. Gmail’s signature box takes formatted content and has no source view.

  2. Settings → See all settings → General → Signature

    Create new. Name it after the identity, not the person. You’re about to have several, and “Signature 1” will not help you.

  3. Paste with a plain paste

    Paste-and-match-style strips every bit of formatting and leaves you four lines of grey text. This is the one place you want an ordinary paste.

  4. Signature defaults

    Under the editor, map each sending address to its own signature. Skip this and Gmail signs everything as your primary — so mail from one project signs as another. This dropdown is what makes the faces separate, not the signature.

Colour survives. Rules and borders survive. Type weight and letterspacing survive. Characters survive — a wordmark that’s just letters will render everywhere, forever, for free.

Typefaces don’t. Images are conditional. Anything clever is gone.

Which means a signature can’t be the brand. It’s a translation of it into the handful of things a mail client can’t take away — and it’s worth knowing that before you look at the result and wonder why it feels thinner than the site.


One inbox. Every face you wear.