interface-design-taste
interface-design-taste
Build interfaces that feel deliberate, product-appropriate, and structurally clear instead of generic, noisy, or under-designed.
Decision Tree
What kind of design problem are you solving?
-
Need a direction from scratch for a site, app, or desktop product
- Read
references/principles.md - Then read
references/style-families.md
- Read
-
Need to improve an existing interface without rewriting everything blindly
- Read
references/critique-workflow.md - Then branch into the weakest layer: layout, typography, color, motion, or platform fit
- Read
-
Need stronger hierarchy, composition, spacing, or screen structure
- Read
references/layout-and-rhythm.md
- Read
-
Need better type choices, copy tone, labels, or information cadence
- Read
references/typography-and-copy.md
- Read
-
Need a tighter palette, clearer surfaces, better icons, or more intentional imagery
- Read
references/color-material-and-iconography.md
- Read
-
Need hover/focus/active states, transitions, onboarding flow polish, or motion guidance
- Read
references/interaction-motion-and-states.md
- Read
-
Need platform-specific guidance for marketing web, product web, or desktop UI
- Read
references/platform-adaptation.md
- Read
-
Need to turn the design direction into reusable tokens and component rules
- Read
references/design-systems-and-tokens.md - Use
templates/design-brief-template.md
- Read
-
Need traps, failure modes, or "why does this still feel off?" answers
- Read
references/gotchas.md
- Read
Quick Reference
| Need | Read | Outcome |
|---|---|---|
| Turn a vague prompt into a design thesis | references/principles.md |
clear priorities, taste axes, and guardrails |
| Choose a visual lane without copying a trend | references/style-families.md |
one coherent family and what to avoid |
| Fix hierarchy and composition | references/layout-and-rhythm.md |
stronger screen structure and spacing logic |
| Fix type, labels, and tone | references/typography-and-copy.md |
cleaner hierarchy and more credible copy |
| Fix palette, surfaces, icons, or imagery | references/color-material-and-iconography.md |
a restrained visual system with better contrast |
| Fix motion and all UI states | references/interaction-motion-and-states.md |
purposeful transitions and complete interaction design |
| Adapt the same idea to site, app, or desktop | references/platform-adaptation.md |
platform-appropriate behavior and density |
| Audit an existing screen or flow | references/critique-workflow.md |
prioritized redesign sequence |
| Capture the result as a reusable system | references/design-systems-and-tokens.md |
tokens, component rules, and handoff structure |
Default Workflow
- Identify the artifact first: marketing page, content page, product surface, dashboard, or desktop tool.
- Set the taste axes before talking about components.
- Choose one dominant visual thesis for the screen. Do not stack multiple vibes.
- Solve hierarchy, states, and platform fit before adding flourish.
- Translate the direction into reusable tokens and component rules once the screen logic is working.
Taste Axes
Set these five axes explicitly when the user has not already done it. They prevent vague "make it nicer" work.
| Axis | Low End | High End | What It Controls |
|---|---|---|---|
| Composure | restrained | theatrical | how loudly the interface performs |
| Density | spacious | operational | how much work fits into a screen |
| Contrast | soft | sharp | edge definition, hierarchy, and tension |
| Materiality | flat | layered | borders, shadows, blur, and surface depth |
| Motion | still | expressive | how much movement is used to explain state |
Use the axes as planning variables, not as decoration knobs. A dense desktop tool can still be calm. A marketing page can still be restrained.
Operating Rules
- Fit the product before fitting a trend. The right answer for a workflow tool is not the same as the right answer for a launch page.
- Establish hierarchy at three distances: page structure, section structure, and component structure.
- Treat states as part of the design, not implementation leftovers. Empty, loading, success, error, hover, focus, and selected states all count.
- Use motion to clarify change, sequence, or causality. If motion exists only to look expensive, cut it.
- Keep the visual vocabulary tight. Repetition creates identity; one-off flourishes create noise.
- Prefer specific, believable copy and realistic data over placeholder language.
Platform Guardrails
-
Marketing web:
- Allow more dramatic pacing and asymmetry.
- Let imagery and motion carry more narrative weight.
-
Product web:
- Favor navigational clarity, repeated tasks, and fast scanability.
- Keep decorative motion below the level of interaction feedback.
-
Desktop:
- Design for density, keyboard use, secondary controls, and longer sessions.
- Do not import landing-page hero logic into tool surfaces.
Read references/platform-adaptation.md before applying a single visual language unchanged across all three.
Review Questions
Before you finalize a direction, answer these:
- What is the first thing the user should notice in under two seconds?
- What would disappear if you removed 20% of the chrome?
- Which states are still undesigned?
- Does the interface feel like the product category, or like a generic AI demo?
- Would this still hold up with real content, messy data, and long labels?
Gotchas
- A beautiful hero does not rescue a weak working surface.
- Extra shadows do not create hierarchy if the grouping is wrong.
- More accent colors usually reduce confidence rather than increase richness.
- Dense interfaces fail from rhythm problems more often than from lack of whitespace.
- Desktop tools need affordances for precision, not just prettier cards.
- Motion without state logic reads as theater.
- A design system created too early can freeze a bad direction into reusable parts.
Reading Guide
| If the task is... | Read |
|---|---|
| "Give this project a stronger visual direction" | references/principles.md, then references/style-families.md |
| "This screen feels flat and generic" | references/layout-and-rhythm.md and references/color-material-and-iconography.md |
| "The hierarchy is off and the copy feels weak" | references/typography-and-copy.md |
| "The interactions are clumsy or unfinished" | references/interaction-motion-and-states.md |
| "Make this work as both web and desktop" | references/platform-adaptation.md |
| "Audit what exists and tell me what to fix first" | references/critique-workflow.md |
| "Turn this into a reusable component system" | references/design-systems-and-tokens.md plus templates/design-brief-template.md |
| "Why does this still feel cheap?" | references/gotchas.md |
Helper Files
references/README.md— reference index and routing overviewtemplates/design-brief-template.md— reusable brief for new worktemplates/critique-scorecard.md— audit and redesign worksheetscripts/validate.py— structural validator for this skillscripts/test_skill.py— packaging and content coverage checks
More from jpcaparas/skills
markdown-new
Use markdown.new when the user explicitly wants markdown.new, Cloudflare Markdown for Agents, URL-to-Markdown conversion, file-to-Markdown conversion, crawl-to-Markdown, or the hosted markdown.new editor. Trigger on: 'markdown.new', 'convert this URL to markdown', 'crawl this docs site into markdown', 'file to markdown', 'upload this PDF to markdown', 'markdown.new API', or 'markdown editor'. Do NOT trigger for generic web search/scraping when another tool is enough, or for editing local Markdown without using the markdown.new service.
32skill-creator-advanced
Advanced skill creator for mission-critical, installable skills — API wrappers, progressively-disclosed technical documentation, CLI tool integrations, and complex multi-reference skills. Use when creating or improving skills that demand rigorous progressive disclosure, verified examples, tested operations, cross-harness compatibility, smart placement into the right repo-local or global skills directory, and self-improvement feedback loops. Triggers on: 'advanced skill', 'create API skill', 'create wrapper skill', 'production skill', 'installable skill', 'improve this skill for progressive disclosure', 'rigorous skill', 'mission-critical skill', or when skill-creator's output needs to be more thorough. Also use when upgrading an existing skill to production quality.
32azure-devops-wiki-markdown
Use when writing, fixing, or reviewing Azure DevOps wiki Markdown, Mermaid diagrams, `_TOC_` and `_TOSP_`, collapsible `<details>` blocks, query-table embeds, `@` mentions, work-item links, KaTeX math, HTML video embeds, code fences, or Azure DevOps surface-specific support differences across Wiki, PR, README, Widget, and Done fields. Triggers on Azure DevOps wiki, markdown guidance, Mermaid sequence/graph/timeline/ER diagrams, proposal decision trees, table-of-subpages, query-table, code fence aliases, line-break bugs, and wiki page formatting. Do NOT use for GitHub-only Markdown, generic Mermaid authoring outside Azure DevOps, or non-Azure documentation platforms.
29ripgrep
Prefer ripgrep (`rg`) for text search, recursive codebase search, ignore-aware grep replacement, filename discovery via `rg --files`, and machine-readable search output. Use when the user asks to search for text, find occurrences, inspect a large tree, locate files by name or pattern, or when `grep`, `grep -R`, `find | grep`, or manual file reads would be slower. Triggers on: 'search for', 'find occurrences', 'grep', 'grep -R', 'ripgrep', 'rg', 'find files', 'look for pattern'. Do NOT trigger for reading entire files, structured JSON queries better handled by `jq`, or filesystem metadata tasks that need `find` or `fd`.
29synthetic-search
Use this skill when the user explicitly wants Synthetic Search, the Synthetic API, `api.synthetic.new`, `SYNTHETIC_API_KEY`, or zero-data-retention web search with raw `curl`/`jq` examples. It covers live-verified search requests, quota checks, and a zero-dependency Node helper for readable output. Triggers on: 'Synthetic Search', 'Synthetic API', 'api.synthetic.new', 'SYNTHETIC_API_KEY', 'Synthetic quotas'. Do NOT trigger for general browser automation, full-site crawling, or unrelated search providers.
29tweet-replicate
Rebuild a public X/Twitter status into a deterministic local replica with a frozen snapshot, local HTML/CSS, Playwright capture, X-like media-frame fill behavior, a high-quality MP4 master, and a companion GIF capped under 24 MB. Use when asked to replicate a tweet/X post, freeze a status into video, make a tweet look like X offline, or create rerenderable tweet assets with a saved build folder. Trigger on: 'replicate this tweet', 'turn this X post into MP4', 'make this tweet into a GIF too', 'freeze this status locally'. Do NOT use for plain tweet text extraction, raw media download only, live X browser capture, authenticated pages, DMs, or promises of a pixel-perfect private X renderer.
29