Spotify's UI design system. Use when building interfaces inspired by Spotify's aesthetic - dark mode, Inter font, 4px grid.
75
68%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/spotify/SKILL.mdOpinionated constraints for building Spotify-style interfaces with AI agents.
Reference these guidelines when:
#171717 as page background (surface-base)#010002 for primary actions and focus states (accent)| Token | HEX | RGB | Usage |
|---|---|---|---|
surface-base | #171717 | rgb(23,23,23) | Page background |
surface-raised | #FEFEFE | rgb(254,254,254) | Cards, modals, raised surfaces |
surface-overlay | #010002 | rgb(1,0,2) | Overlays, tooltips, dropdowns |
text-primary | #555555 | rgb(85,85,85) | Headings, body text |
text-secondary | #6A6A6A | rgb(106,106,106) | Secondary, muted text |
text-tertiary | #AEAEAE | rgb(174,174,174) | Additional text |
border-default | #838486 | rgb(131,132,134) | Subtle borders, dividers |
accent | #010002 | rgb(1,0,2) | Primary actions, links, focus |
Inter as primary font family41px / 500 for primary headings13px / 400 for body texttext-balance for headings and text-pretty for body texttabular-nums for numeric data| Style | Font | Size | Weight | Color | Count |
|---|---|---|---|---|---|
heading-1 | Inter | 41px | 500 | #2D2D2D | 1 |
text-24px | Inter | 24px | semi_bold | #DBDBDB | 1 |
text-24px | Inter | 24px | 500 | #DBDBDB | 1 |
text-24px | Inter | 24px | semi_bold | #DCDCDC | 1 |
text-17px | Inter | 17px | 400 | #676667 | 1 |
text-16px | Inter | 16px | 400 | #A6A6A6 | 1 |
text-15px | Inter | 15px | 400 | #AEAEAE | 1 |
text-15px | Inter | 15px | 400 | #6B6B6B | 1 |
text-15px | Inter | 15px | 400 | #A4A4A4 | 1 |
text-15px | Inter | 15px | 400 | #717171 | 1 |
Font Families:
Inter (used 81x)Font Sizes: 8px, 9px, 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 24px, 41px
Scale: 10px, 15px, 17px, 18px, 22px, 24px
h-screen, use h-dvh for full viewport heightsafe-area-inset for fixed elementssize-* for square elements instead of w-* + h-*| Variant | Background | Text | Border | Height | Radius |
|---|---|---|---|---|---|
| Ghost | transparent | #B8B8B8 | none | - | - |
2px outline with accent color (#010002)2px outline-offset#FEFEFE background#FEFEFE backgroundopacity: 0.5cursor: not-allowedAlertDialog for destructive or irreversible actionsinput or textarea elementsaria-label to icon-only buttonstransform, opacity)width, height, top, left, margin, padding)ease-out on entrance animations200ms for interaction feedbackprefers-reduced-motionblur() or backdrop-filter surfaceswill-change outside an active animationuseEffect for anything that can be expressed as render logic126714e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.