Open standard · MIT license

The creative handshake for AI agents.

Design tokens tell agents what your brand looks like. Epithet tells them why — the mood, rationale, and principles that make a visual identity coherent across every agent that touches it.

The problem

Tokens describe the surface. Agents need the intent.

A design-token file gives an agent hex values and font names. It says nothing about why those choices belong together — so every agent that reads it improvises the rest.

W3C Design Tokens

Tells agents what

{
  "color-primary": {
    "$value": "#2f5d3a"
  },
  "font-heading": {
    "$value": "Fraunces"
  }
}

epithet.json

Tells them why

{
  "mood": "verdant, calm, hand-tended",
  "rationale": "Every choice defers to
    the plant material.",
  "principles": [{
    "title": "One warm note per view",
    "detail": "The accent appears
      exactly once — a single CTA."
  }]
}

Same brand, two files. The token file survives a copy-paste; the intent does not. When a generation agent, a layout agent, and a copy agent each read only the tokens, they agree on the green and disagree on everything that makes the brand feel like itself. Epithet carries the reasoning alongside the values, so the whole fleet stays on-brand.

The schema

One document, fully annotated.

A complete v1 epithet.json. Hover or tab to any dashed key to read what it means and why an agent reads it.

fernwell.epithet.json
{
  : "https://epithet.brkdllc.com/schema/v1",
  : "1.0",
  : "verdant, calm, hand-tended",
  : "Fernwell is a small-batch botanical label; type is crafted, color defers to the plant material.",
  : [
    { : "primary", "color": "#2f5d3a",
      : "Deep fern green — the brand anchor." },
    { "role": "accent", "color": "#d98b3a",
      "semantic": "Marigold — one warm call to action." }
  ],
  : [
    { "role": "heading", "family": "Fraunces" }
  ],
  : { "score": 88, "summary": "Tightly cohesive." },
  : [
    { "title": "Plant first, brand second", "detail": "Chrome frames the material, never overlaps it." }
  ]
}

Dashed keys are annotated — hover, or press Tab then Enter.

Roadmap

Shipping the core now. The protocol comes later.

Dates are targets, not guarantees. The spec is MIT-licensed and governed in the open.

Now

v1.0 — The Core Contract

Everything an AI tool needs to generate on-brand output from a single structured document.

  • Palette, typography, layoutNamed color roles, type scale, and spacing — so agents set type and color without guessing.
  • Mood, rationale, principlesBrand personality, design intent, and hard constraints — the fields written for agents, not humans.
  • JSON Schema + 3 worked examplesValidate any epithet.json out of the box. D2C, editorial, and B2B SaaS examples included.
  • Argus as reference implementationEvery Argus brand analysis exports a valid epithet.json. The spec and the tool ship together.

Soon · 6 months

v1.1 — Motion & Voice

How the brand moves and how it speaks — closing the two gaps most brand systems leave open.

  • Motion directionEasing curves, duration scale, and choreography principles. Agents read structured tokens instead of inventing curves.
  • Voice and tone layerWordmark spellings, tagline grammar, vocabulary constraints. One document governs visual output and copy.
  • $extends — multi-brand inheritanceSub-brands inherit from a parent and override only what differs. Agents resolve the full merged spec with no ambiguity.

Later · 12+ months

v2.0 — The Protocol

epithet.json becomes a live handshake — agents negotiating creative direction with each other in real time.

  • Agent-to-agent protocolStructured request/response for creative-direction negotiation. A Director agent briefs a Generator agent in machine-readable constraints, not prose.
  • Figma pluginExport a Figma file's styles and components to a valid epithet.json — existing brand systems enter the agent era without starting over.
  • Validator npm packageZero-dependency epithet-validator for Node and the browser. One-line CI check; catches drift before a downstream agent sees it.