What is taste

taste

Abductive reasoning for any website's design taste

Reads any site's design decisions — not just the tokens, but the reasoning behind them. Run /taste <url> and get a Design Map + Taste DNA your agents can actually use.

Pipeline

Four steps from URL to taste.

Four agents, four roles. Each pass reads the same page through a sharper lens — until what's left is a brief any AI tool can build from.

  1. Extract Measurements
    You are a Senior Design AI. Your job is to extract precise, objective design measurements from a webpage.
  2. Detect Patterns
    You are a Principal Design Engineer detecting SYSTEMATIC RULES in the measurements provided by Step 1.
  3. Infer Taste
    You are the Ultimate Design Critic. You will now derive the "Taste" — the deliberate, painful TRADE-OFFS the designer made.
  4. Observer
    You are the Lead Critic & Final Editor. Your job is to RUTHLESSLY filter the taste analysis from Step 3. Zero bullshit passes through you.
1 Extract
measurements
2 Detect
patterns
Infer taste 3
4 Observe
output

How to reverse engineer design taste

20 measurement categories, every colour, weight, spacing value, radius, and shadow cited with exact px / hex / ratio. No approximations.

5–8 system-level rules extracted. Each pattern gets an Evidence line and a Design Goal explaining why it exists.

4 taste principles — each with Trigger, Decision, Reason, Evidence, and Trade-off. At least one Restraint principle is required.

Quality gate. Runs anti-slop grep, validates JSON, then writes the final output.{domain}.md + {domain}.json

linear.app

A taste principle has evidence and a trade-off.

This is what /taste actually produces — not a vibe, a design argument you can act on.

Restraint
Brand lives in white, not in color
Trigger
Deciding on an accent or brand color.
Decision
Don't introduce one. Use white (#F7F8F8) as the accent against near-black.
Reason
Color-as-brand is a shortcut for products without visual confidence. On a near-black surface, white carries all the emphasis needed — everything else is noise. Adding a purple or blue CTA button would cheapen the effect by making it feel like a template.
Evidence
Every nav link, button, and CTA on the page is white or near-white. The only colored element is a translucent green badge for functional status. The pink gradient in the hero is a single editorial moment, not a system. DOM accentCandidates are 100% grays and whites.
Trade-off
You cannot use color to differentiate feature tiers or calls to action. Linear resolves this with weight and size hierarchy alone — not color weight.

Works with your tools

Your AI agent gets the taste.

/taste writes a rules file formatted for whichever tool you build with — Cursor, Windsurf, Claude Code, and more. The agent reads it automatically.

Cursor
.cursor/rules/{domain}-taste.mdc
Windsurf
.windsurf/rules/{domain}-taste.md
Claude Code
CLAUDE.md (appends Design Taste section)
GitHub Copilot
.github/copilot-instructions.md
Bolt
.bolt/prompt
Antigravity
GEMINI.md
v0 by Vercel
taste-tokens.css + instructions
Figma Make
taste-figma.css + instructions
Lovable
Printed to paste in Project Knowledge

Get started

Three steps. Then run it anywhere.

Works in Claude Code and Gemini CLI.

git clone https://github.com/senlindesign/taste-skill ~/.claude/skills/taste
claude mcp add playwright -s user -- npx -y @playwright/mcp@latest --isolated
/taste https://linear.app
git clone https://github.com/senlindesign/taste-skill ~/.gemini/skills/taste
{ "mcpServers": { "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest", "--isolated"] } } }
/taste https://linear.app