Home/Catalog/Design
Design — is it beautiful?
Brief 105

Design-Token Adoption Audit

Whether the design system's tokens are actually used — or whether hardcoded colors, spacing, and type have crept back in and drifted the UI out of sync.

TOKEN-ADOPTION.md4 phases7 lenses~2.9k chars

Free & open · no signup · read-only — it ends by asking · nothing leaves your machine

What it does

You are working inside this repo. Mission: check whether the design tokens are the single source of truth they claim to be — or whether hardcoded values have crept in, quietly drifting the interface out of alignment one one-off at a time.

This assumes a token system exists and audits whether it is used. No system yet? Run 15 to derive one from the drift.

Read-only pass. Read the token definitions and the styles that should consume them; change nothing but the report file.

What it looks for

7 lenses it looks through

Phase 2 sweeps the codebase through every one of these, citing file and line for each finding.

1

Color creep

hex/rgb literals where a color token belongs; near-duplicate one-off colors

2

Spacing creep

magic pixel values instead of the spacing scale

3

Type creep

ad-hoc font sizes, weights, and line-heights outside the type scale

4

Token coverage

surfaces (states, dark mode, borders, shadows) with no token, so people improvise

5

Duplication & drift

the same value defined in several places that can fall out of sync

6

Single source of truth

whether tokens flow from one definition or are copied per surface

7

Enforcement

is there a lint rule or check, or does drift only get caught by eye

The deliverable

What lands in your repo

One structured report at the repo root — or in reports/, if you keep one — the same shape every time, ready for a teammate — or the optional Studio — to act on.

TOKEN-ADOPTION.md
1
Adoption score
per category (color, spacing, type): tokenized versus hardcoded
2
Offenders
the worst hardcoded values with locations and the token they should use
3
Missing tokens
the surfaces with no token, so improvisation is inevitable
4
Enforcement
the lint rule or check that keeps hardcoded values from returning
One file. Evidence-backed. It ends by asking before touching anything.
How it works

What it makes the agent do

Every Goal Prompt follows the same four steps, so results are consistent and repeatable — no matter which one you run.

1
Phase 1

Find the source of truth

Locate the token definitions.

2
Phase 2

Audit through 7 lenses

Cite file and line for every finding.

3
Phase 3

Curate

Rank by visible drift and spread.

4
Phase 4

Report

Create TOKEN-ADOPTION.md at repo root.

Get started

Three ways to run this Goal Prompt

01 · COPY

Paste it in

Copy it and paste it into your agent inside the repo you want checked.

02 · INSTALL

As a slash command

Install the goal plugin once — two commands — then just type /goal:design-token-adoption.

1/plugin marketplace add GhostlyGawd/goal-prompts
2/plugin install goal@goal-prompts

Or install only this Goal Prompt as /goal-design-token-adoption:

curl -fsSL https://goal-prompts.vercel.app/install | BRIEF=105 sh
03 · AGENT

From an agent (MCP)

Let an agent fetch it mid-conversation, or pull the raw Goal Prompt by URL.

https://goal-prompts.vercel.app/raw/105.md
Transparency

The exact prompt

Nothing hidden — this is the whole Goal Prompt, verbatim. Read it in a minute, edit it, or copy it as-is.

Read the full brief (2,866 characters)
# Goal: Design-Token Adoption Audit

You are working inside this repo. Mission: check whether the design tokens are the single source of truth they claim to be — or whether hardcoded values have crept in, quietly drifting the interface out of alignment one one-off at a time.

This assumes a token system exists and audits whether it is used. No system yet? Run 15 to derive one from the drift.

Read-only pass. Read the token definitions and the styles that should consume them; change nothing but the report file.

## Phase 1 — Find the source of truth
- Locate the token definitions: color, spacing, type, radius, shadow, motion.
- Note how they are meant to be consumed and where they are defined more than once.
- Scan the styles for literal values that should reference a token.

## Phase 2 — Audit through 7 lenses
Cite file and line for every finding.
1. **Color creep** — hex/rgb literals where a color token belongs; near-duplicate one-off colors
2. **Spacing creep** — magic pixel values instead of the spacing scale
3. **Type creep** — ad-hoc font sizes, weights, and line-heights outside the type scale
4. **Token coverage** — surfaces (states, dark mode, borders, shadows) with no token, so people improvise
5. **Duplication & drift** — the same value defined in several places that can fall out of sync
6. **Single source of truth** — whether tokens flow from one definition or are copied per surface
7. **Enforcement** — is there a lint rule or check, or does drift only get caught by eye

## Phase 3 — Curate
- Rank by visible drift and spread: a one-off color repeated across many components outranks a single stray value.
- For each, map the literal to the token it should use, or the token the system is missing.
- Separate "use the existing token" from "the system lacks a token"; both cause creep.

## Phase 4 — Report
Create `TOKEN-ADOPTION.md` at repo root:
1. **Adoption score** — per category (color, spacing, type): tokenized versus hardcoded
2. **Offenders** — the worst hardcoded values with locations and the token they should use
3. **Missing tokens** — the surfaces with no token, so improvisation is inevitable
4. **Enforcement** — the lint rule or check that keeps hardcoded values from returning

Start the report with today's date. If `TOKEN-ADOPTION.md` already exists from a previous run, read it first and lead with what changed since.

## Rules
- One value, one token, one definition; a copied value will drift
- A missing token is a cause of creep, not just the literal that fills it
- No styled UI in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
- If a `reports/` directory exists at the repo root, write the report there instead of the root.
- Before asking, present the top findings as a ranked list in plain words
- Report only — end by asking which drift to correct first

House rules for this Goal Prompt

  • One value, one token, one definition; a copied value will drift
  • A missing token is a cause of creep, not just the literal that fills it
  • No styled UI in this repo? Say so in a one-paragraph null report and stop — a null result is a valid finding.
  • If a reports/ directory exists at the repo root, write the report there instead of the root.
  • Before asking, present the top findings as a ranked list in plain words
  • Report only — end by asking which drift to correct first
Keep exploring

Pairs well with

Curated neighbors — briefs that answer the adjacent question, worth running in the same session.

More Design briefs