Files
workbuddy_skills/open-design/design-systems/spotify/DESIGN-id.md
T
admin 5afeb6b78a ④段整套同步(六节 + P/S/F/J + 模板)+ open-design 移到技能根
一、④段整套同步(用户选候选 A)
- 新增 `references/stage-proto-doc/assets/产品文档模板.html`(16 KB/247 行,从备份拷、转 LF)。
- ④段 SKILL.md 换成备份 15:28 那版,并按模板口径改齐:
  · 「产品文档框架」从「四块+一附录」改成**六节** —— 页面结构/功能清单/使用场景/操作流程/
    跨页与界面状态/待确认与偏离;与模板同构,⛔ 不从空白页重写结构。
  · 编号从 R/S/F 改成 **P 页面/S 场景/F 功能/J 二级功能**,各自唯一、按展示顺序通排。
  · 保留旧版有价值的要求:每项功能补齐 做什么/入口在哪/输入边界/异常与恢复;重点功能三处标红;
    横向流程图每步写清页面/功能/操作/完成判据。
  · 完成标准「七节」→「六节」,自查清单同步换掉「需求」那批条目,补模板与配图两条。
  · 路径 `designs/<项目>/` → `docs/pm/<项目>/ui/`(2 处)。
  · 补回本机那条「每份产出文档开头都要有一张图」的引用(指向主 skill,段内不复述)。
- 主 skill 同步:四段结构表④行、④段沿革、画图小节(④段画页面结构图 + 用户路径)。

二、open-design 移到技能根(用户选候选 A)
- `git mv product-planning/references/stage-delivery/assets/open-design → open-design/`(4178 文件)。
- `.gitignore` 白名单加 `!/open-design/` —— 否则移出去就不再纳入版本控制。
- 引用改 11 处:路径形态 `assets/open-design/...` → `<技能根>/open-design/...`;
  「随段携带的自带件」改称「同根技能」;「路径怎么找」那条改成自带件(段内相对路径)与
  同根技能(`<技能根>/<技能名>/`)两类分开写。
- open-design 自己的 ATTRIBUTION.md 两处同步(它现在与 oil-ui-pro 同层)。
- 副作用(有益):命名闸门读数由 2063 降到 225 —— 此前它把 open-design 里 919 个第三方 md
  当成规则一起扫了;现在只扫本包 23 个 md。已确认④段的 H1 与 4a/4b/4c 子步仍在检查范围内。

三、验收
- check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 225 / 失败 0 / 提示 27。
- 活文件里 `assets/open-design` 残留 0;工作区 CRLF 文件 0。
2026-10-15 21:17:28 +08:00

13 KiB
Raw Blame History

Design System Terinspirasi dari Spotify

Category: Media & Konsumen Streaming musik. Hijau cerah di atas gelap, tipografi tebal, didominasi seni album.

1. Tema Visual & Atmosfer

Antarmuka web Spotify adalah pemutar musik gelap yang imersif, membungkus pendengar dalam kepompong hampir hitam (#121212, #181818, #1f1f1f) di mana seni album dan konten menjadi sumber warna utama. Filosofi desainnya adalah "kegelapan yang mengutamakan konten" — UI menyurut ke dalam bayangan agar musik, podcast, dan playlist dapat bersinar. Setiap permukaan adalah variasi warna arang, menciptakan lingkungan seperti bioskop di mana satu-satunya warna sejati berasal dari Spotify Green yang ikonik (#1ed760) dan karya seni album itu sendiri.

Tipografi menggunakan SpotifyMixUI dan SpotifyMixUITitle — font eksklusif dari keluarga CircularSp (Circular by Lineto, dikustomisasi untuk Spotify) dengan tumpukan fallback yang ekstensif mencakup font Arab, Ibrani, Sirilik, Yunani, Devanagari, dan CJK, yang mencerminkan jangkauan global Spotify. Sistem tipografi bersifat kompak dan fungsional: 700 (bold) untuk penekanan dan navigasi, 600 (semibold) untuk penekanan sekunder, dan 400 (regular) untuk bodi. Tombol menggunakan huruf kapital dengan letter-spacing positif (1.4px–2px) untuk kualitas sistematis seperti label.

Yang membedakan Spotify adalah geometri pill-dan-lingkaran. Tombol primer menggunakan radius 500px–9999px (pill penuh), tombol putar melingkar menggunakan radius 50%, dan input pencarian berbentuk pill 500px. Dikombinasikan dengan bayangan tebal (rgba(0,0,0,0.5) 0px 8px 24px) pada elemen yang terangkat dan kombinasi unik inset border-shadow (rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset), hasilnya adalah antarmuka yang terasa seperti perangkat audio premium — taktil, melengkung, dan dirancang untuk sentuhan.

Karakteristik Utama:

  • Tema gelap imersif hampir hitam (#121212–#1f1f1f) — UI menghilang di balik konten
  • Spotify Green (#1ed760) sebagai aksen merek tunggal — tidak dekoratif, selalu fungsional
  • Keluarga font SpotifyMixUI/CircularSp dengan dukungan skrip global
  • Tombol pill (500px–9999px) dan kontrol melingkar (50%) — membulat, dioptimalkan untuk sentuhan
  • Label tombol huruf kapital dengan letter-spacing lebar (1.4px–2px)
  • Bayangan tebal pada elemen terangkat (rgba(0,0,0,0.5) 0px 8px 24px)
  • Warna semantik: merah negatif (#f3727f), oranye peringatan (#ffa42b), biru pengumuman (#539df5)
  • Seni album sebagai sumber warna utama — UI itu sendiri akromatik secara desain

2. Palet Warna & Perannya

Merek Utama

  • Spotify Green (#1ed760): Aksen merek utama — tombol putar, status aktif, CTA
  • Near Black (#121212): Permukaan latar belakang terdalam
  • Dark Surface (#181818): Kartu, kontainer, permukaan terangkat
  • Mid Dark (#1f1f1f): Latar belakang tombol, permukaan interaktif

Teks

  • White (#ffffff): --text-base, teks primer
  • Silver (#b3b3b3): Teks sekunder, label redup, nav tidak aktif
  • Near White (#cbcbcb): Teks sekunder sedikit lebih terang
  • Light (#fdfdfd): Hampir putih murni untuk penekanan maksimum

Semantik

  • Negative Red (#f3727f): --text-negative, status error
  • Warning Orange (#ffa42b): --text-warning, status peringatan
  • Announcement Blue (#539df5): --text-announcement, status informasi

Permukaan & Batas

  • Dark Card (#252525): Permukaan kartu terangkat
  • Mid Card (#272727): Permukaan kartu alternatif
  • Border Gray (#4d4d4d): Batas tombol pada latar gelap
  • Light Border (#7c7c7c): Batas tombol outlined, tautan redup
  • Separator (#b3b3b3): Garis pemisah
  • Light Surface (#eeeeee): Tombol mode terang (jarang)
  • Spotify Green Border (#1db954): Varian batas aksen hijau

Bayangan

  • Heavy (rgba(0,0,0,0.5) 0px 8px 24px): Dialog, menu, panel terangkat
  • Medium (rgba(0,0,0,0.3) 0px 8px 8px): Kartu, dropdown
  • Inset Border (rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset): Kombinasi border-shadow input

3. Aturan Tipografi

Keluarga Font

  • Title: SpotifyMixUITitle, fallback: CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva, Helvetica Neue, helvetica, arial, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, MS Gothic
  • UI / Body: SpotifyMixUI, tumpukan fallback yang sama

Hierarki

Peran Font Ukuran Bobot Line Height Letter Spacing Catatan
Section Title SpotifyMixUITitle 24px (1.50rem) 700 normal normal Bobot judul bold
Feature Heading SpotifyMixUI 18px (1.13rem) 600 1.30 (tight) normal Kepala seksi semibold
Body Bold SpotifyMixUI 16px (1.00rem) 700 normal normal Teks yang ditekankan
Body SpotifyMixUI 16px (1.00rem) 400 normal normal Bodi standar
Button Uppercase SpotifyMixUI 14px (0.88rem) 600–700 1.00 (tight) 1.4px–2px text-transform: uppercase
Button SpotifyMixUI 14px (0.88rem) 700 normal 0.14px Tombol standar
Nav Link Bold SpotifyMixUI 14px (0.88rem) 700 normal normal Navigasi
Nav Link SpotifyMixUI 14px (0.88rem) 400 normal normal Nav tidak aktif
Caption Bold SpotifyMixUI 14px (0.88rem) 700 1.50–1.54 normal Metadata bold
Caption SpotifyMixUI 14px (0.88rem) 400 normal normal Metadata
Small Bold SpotifyMixUI 12px (0.75rem) 700 1.50 normal Tag, jumlah
Small SpotifyMixUI 12px (0.75rem) 400 normal normal Teks kecil
Badge SpotifyMixUI 10.5px (0.66rem) 600 1.33 normal text-transform: capitalize
Micro SpotifyMixUI 10px (0.63rem) 400 normal normal Teks terkecil

Prinsip

  • Biner bold/regular: Sebagian besar teks adalah 700 (bold) atau 400 (regular), dengan 600 digunakan secara hemat. Ini menciptakan hierarki visual yang jelas melalui kontras bobot, bukan variasi ukuran.
  • Tombol huruf kapital sebagai sistem: Label tombol menggunakan huruf kapital + letter-spacing lebar (1.4px–2px), menciptakan "suara label" sistematis yang berbeda dari teks konten.
  • Ukuran kompak: Rentangnya 10px–24px — lebih sempit dari kebanyakan sistem. Tipografi Spotify kompak dan fungsional, dirancang untuk memindai playlist, bukan membaca artikel.
  • Dukungan skrip global: Tumpukan fallback yang ekstensif (Arab, Ibrani, Sirilik, Yunani, Devanagari, CJK) mencerminkan jangkauan Spotify di 180+ pasar.

4. Gaya Komponen

Tombol

Dark Pill

  • Background: #1f1f1f
  • Teks: #ffffff atau #b3b3b3
  • Padding: 8px 16px
  • Radius: 9999px (pill penuh)
  • Penggunaan: Pill navigasi, aksi sekunder

Dark Large Pill

  • Background: #181818
  • Teks: #ffffff
  • Padding: 0px 43px
  • Radius: 500px
  • Penggunaan: Tombol navigasi aplikasi utama

Light Pill

  • Background: #eeeeee
  • Teks: #181818
  • Radius: 500px
  • Penggunaan: CTA mode terang (persetujuan cookie, pemasaran)

Outlined Pill

  • Background: transparent
  • Teks: #ffffff
  • Border: 1px solid #7c7c7c
  • Padding: 4px 16px 4px 36px (asimetris untuk ikon)
  • Radius: 9999px
  • Penggunaan: Tombol ikuti, aksi sekunder

Circular Play

  • Background: #1f1f1f
  • Teks: #ffffff
  • Padding: 12px
  • Radius: 50% (lingkaran)
  • Penggunaan: Kontrol putar/jeda

Kartu & Kontainer

  • Background: #181818 atau #1f1f1f
  • Radius: 6px–8px
  • Tidak ada batas terlihat pada sebagian besar kartu
  • Hover: sedikit pencerahan background
  • Shadow: rgba(0,0,0,0.3) 0px 8px 8px pada yang terangkat

Input

  • Input pencarian: background #1f1f1f, teks #ffffff
  • Radius: 500px (pill)
  • Padding: 12px 96px 12px 48px (dengan kesadaran ikon)
  • Focus: batas menjadi #000000, outline 1px solid

Navigasi

  • Sidebar gelap dengan SpotifyMixUI 14px bobot 700 untuk aktif, 400 untuk tidak aktif
  • Warna redup #b3b3b3 untuk item tidak aktif, #ffffff untuk aktif
  • Tombol ikon melingkar (radius 50%)
  • Logo Spotify kiri atas berwarna hijau

5. Prinsip Tata Letak

Sistem Jarak

  • Unit dasar: 8px
  • Skala: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 15px, 16px, 20px

Grid & Kontainer

  • Sidebar (tetap) + area konten utama
  • Kartu album/playlist berbasis grid
  • Bar sekarang-diputar lebar penuh di bagian bawah
  • Area konten responsif mengisi ruang yang tersisa

Filosofi Ruang Putih

  • Kompresi gelap: Spotify mengemas konten secara padat — grid playlist, daftar lagu, dan navigasi semuanya berspasi rapat. Latar belakang gelap memberikan istirahat visual antar elemen tanpa memerlukan jarak yang besar.
  • Kepadatan konten daripada ruang bernapas: Ini adalah aplikasi, bukan situs pemasaran. Setiap piksel melayani pengalaman mendengarkan.

Skala Border Radius

  • Minimal (2px): Lencana, tag eksplisit
  • Halus (4px): Input, elemen kecil
  • Standar (6px): Kontainer seni album, kartu
  • Nyaman (8px): Seksi, dialog
  • Sedang (10px–20px): Panel, elemen overlay
  • Besar (100px): Tombol pill besar
  • Pill (500px): Tombol primer, input pencarian
  • Pill Penuh (9999px): Pill navigasi, pencarian
  • Lingkaran (50%): Tombol putar, avatar, ikon

6. Kedalaman & Elevasi

Level Perlakuan Penggunaan
Base (Level 0) Background #121212 Lapisan terdalam, latar belakang halaman
Surface (Level 1) #181818 atau #1f1f1f Kartu, sidebar, kontainer
Elevated (Level 2) rgba(0,0,0,0.3) 0px 8px 8px Menu dropdown, kartu hover
Dialog (Level 3) rgba(0,0,0,0.5) 0px 8px 24px Modal, overlay, menu
Inset (Border) rgb(18,18,18) 0px 1px 0px, rgb(124,124,124) 0px 0px 0px 1px inset Batas input

Filosofi Bayangan: Spotify menggunakan bayangan yang tergolong berat untuk aplikasi bertemakan gelap. Bayangan dengan opasitas 0.5 dan blur 24px menciptakan efek dramatis "melayang dalam kegelapan" untuk dialog dan menu, sementara opasitas 0.3 dengan blur 8px memberikan angkatan kartu yang lebih halus. Kombinasi unik inset border-shadow pada input menciptakan kualitas taktil yang seperti terbenam.

7. Yang Harus dan Tidak Boleh Dilakukan

Yang Harus Dilakukan

  • Gunakan background hampir hitam (#121212–#1f1f1f) — kedalaman melalui variasi warna bayangan
  • Terapkan Spotify Green (#1ed760) hanya untuk kontrol putar, status aktif, dan CTA primer
  • Gunakan bentuk pill (500px–9999px) untuk semua tombol — melingkar (50%) untuk kontrol putar
  • Terapkan huruf kapital + letter-spacing lebar (1.4px–2px) pada label tombol
  • Jaga tipografi tetap kompak (rentang 10px–24px) — ini adalah aplikasi, bukan majalah
  • Gunakan bayangan tebal (opasitas 0.3–0.5) untuk elemen terangkat pada latar belakang gelap
  • Biarkan seni album menyediakan warna — UI itu sendiri akromatik

Yang Tidak Boleh Dilakukan

  • Jangan gunakan Spotify Green secara dekoratif atau pada latar belakang — fungsinya hanya fungsional
  • Jangan gunakan latar belakang terang untuk permukaan utama — imersi gelap adalah intinya
  • Jangan lewati geometri pill/lingkaran pada tombol — tombol persegi merusak identitas
  • Jangan gunakan bayangan tipis/halus — pada latar belakang gelap, bayangan harus tebal agar terlihat
  • Jangan tambahkan warna merek tambahan — hijau + abu-abu akromatik adalah palet yang lengkap
  • Jangan gunakan line-height yang longgar — tipografi Spotify kompak dan padat
  • Jangan ekspos batas abu-abu mentah — gunakan batas berbasis bayangan atau inset

8. Perilaku Responsif

Breakpoint

Nama Lebar Perubahan Utama
Mobile Small <425px Tata letak mobile kompak
Mobile 425–576px Mobile standar
Tablet 576–768px Grid 2 kolom
Tablet Large 768–896px Tata letak diperluas
Desktop Small 896–1024px Sidebar terlihat
Desktop 1024–1280px Tata letak desktop penuh
Large Desktop >1280px Grid diperluas

Strategi Penciutan

  • Sidebar: penuh → diciutkan → disembunyikan
  • Grid album: 5 kolom → 3 → 2 → 1
  • Bar sekarang-diputar: dipertahankan di semua ukuran
  • Pencarian: input pill dipertahankan, lebar menyesuaikan
  • Navigasi: sidebar → bar bawah di mobile

9. Panduan Prompt Agen

Referensi Warna Cepat

  • Background: Near Black (#121212)
  • Permukaan: Dark Card (#181818)
  • Teks: White (#ffffff)
  • Teks sekunder: Silver (#b3b3b3)
  • Aksen: Spotify Green (#1ed760)
  • Batas: #4d4d4d
  • Error: Negative Red (#f3727f)

Contoh Prompt Komponen

  • "Buat kartu gelap: background #181818, radius 8px. Judul 16px SpotifyMixUI bobot 700, teks putih. Subjudul 14px bobot 400, #b3b3b3. Shadow rgba(0,0,0,0.3) 0px 8px 8px saat hover."
  • "Desain tombol pill: background #1f1f1f, teks putih, radius 9999px, padding 8px 16px. 14px SpotifyMixUI bobot 700, huruf kapital, letter-spacing 1.4px."
  • "Buat tombol putar melingkar: background Spotify Green (#1ed760), ikon #000000, radius 50%, padding 12px."
  • "Buat input pencarian: background #1f1f1f, teks putih, radius 500px, padding 12px 48px. Inset border: rgb(124,124,124) 0px 0px 0px 1px inset."
  • "Desain sidebar navigasi: background #121212. Item aktif: 14px bobot 700, putih. Tidak aktif: 14px bobot 400, #b3b3b3."

Panduan Iterasi

  1. Mulai dengan #121212 — segalanya hidup dalam kegelapan hampir hitam
  2. Spotify Green hanya untuk sorotan fungsional (putar, aktif, CTA)
  3. Pill segalanya — 500px untuk besar, 9999px untuk kecil, 50% untuk melingkar
  4. Huruf kapital + tracking lebar pada tombol — suara label yang sistematis
  5. Bayangan tebal (opasitas 0.3–0.5) untuk elevasi — bayangan tipis tidak terlihat di latar gelap
  6. Seni album menyediakan semua warna — UI tetap akromatik