ihlamury/design-skills

gumroad-ui-skills

Gumroad's UI design system.

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/ihlamury/design-skills --skill gumroad-ui-skills

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

Gumroad UI Skills

Opinionated constraints for building Gumroad-style interfaces with AI agents.

When to Apply

Reference these guidelines when:

  • Building dark-mode interfaces
  • Creating Gumroad-inspired design systems
  • Implementing UIs with Inter font and 4px grid

Colors

  • MUST use dark backgrounds (lightness < 20) for primary surfaces - detected lightness: 0
  • MUST use #000000 as page background (surface-base)
  • SHOULD reduce color palette (currently 16 colors detected)
  • MUST maintain text contrast ratio of at least 4.5:1 for accessibility

Semantic Tokens

TokenHEXRGBUsage
surface-base#000000rgb(0,0,0)Page background
surface-raised#FDFEFErgb(253,254,254)Cards, modals, raised surfaces
surface-overlay#F0F1EBrgb(240,241,235)Overlays, tooltips, dropdowns
text-primary#353535rgb(53,53,53)Headings, body text
text-secondary#626262rgb(98,98,98)Secondary, muted text
text-tertiary#1D1D1Drgb(29,29,29)Additional text
border-default#2C2C2Crgb(44,44,44)Subtle borders, dividers

Typography

  • MUST use Inter as primary font family
  • SHOULD use single font family for consistency
  • MUST use 92px / 700 for primary headings
  • MUST use 18px / 400 for body text
  • SHOULD reduce font weights (currently 5 detected)
  • MUST use text-balance for headings and text-pretty for body text
  • SHOULD use tabular-nums for numeric data
  • NEVER modify letter-spacing unless explicitly requested

Text Styles

StyleFontSizeWeightColorCount
heading-1Inter92px700#1818171
text-33pxInter33pxsemi_bold#1D1D1D1
text-30pxInter30px700#1515151
text-25pxInter25px500#1E1E1E1
text-22pxInter22px500#3536321
text-20pxInter20px400#3535351
text-19pxInter19px400#C7C7C71
bodyInter18px400#8A8B851
body-secondaryInter16px400#4B4B4B2
body-secondaryInter16px400#B2B2B21

Typography Reference

Font Families:

  • Inter (used 22x)

Font Sizes: 8px, 10px, 11px, 12px, 13px, 14px, 15px, 16px, 18px, 19px, 20px, 22px, 25px, 30px, 33px, 92px

Spacing

  • MUST use 4px grid for spacing
  • SHOULD use spacing from scale: 1px, 2px, 5px, 6px
  • SHOULD use 6px as default gap between elements
  • NEVER use arbitrary spacing values (use design scale)
  • SHOULD maintain consistent padding within containers

Borders

  • MUST use border-radius from scale: 16px, 19px, 21px, 22px, 23px
  • SHOULD use 21px+ radius for pill-shaped elements
  • SHOULD limit border widths to: 1px, 2px
  • SHOULD use 19px as default border-radius
  • NEVER use arbitrary border-radius values (use design scale)
  • SHOULD use subtle borders (1px) for element separation

Border Radius Reference

Scale: 16px, 19px, 21px, 22px, 23px

Layout

  • MUST design for 1920px base viewport width
  • SHOULD use consistent element widths: 16px, 730px, 246px, 31px, 196px
  • SHOULD maintain text-heavy layout with clear hierarchy
  • NEVER use h-screen, use h-dvh for full viewport height
  • MUST respect safe-area-inset for fixed elements
  • SHOULD use size-* for square elements instead of w-* + h-*

Detected Layout Patterns

  • Header: height: 81px
  • Main Content: width: 1920px, height: 997px
  • Main Content: width: 1920px, height: 1001px
  • Header: height: 78px

Components

  • MUST use 0px height for input fields

Buttons

VariantBackgroundTextBorderHeightRadius
Ghosttransparent#C7C7C7none--

Inputs

  • Height: 0px

Interactive States

Focus

  • MUST use 2px outline with accent color (#5E6AD2)
  • MUST use 2px outline-offset
  • NEVER remove focus indicators

Hover

  • Buttons (primary): lighten background by 10%
  • Buttons (secondary): use #FDFEFE background
  • List items: use #FDFEFE background

Disabled

  • MUST use opacity: 0.5
  • MUST use cursor: not-allowed

Interaction

  • MUST use an AlertDialog for destructive or irreversible actions
  • SHOULD use structural skeletons for loading states
  • MUST show errors next to where the action happens
  • NEVER block paste in input or textarea elements
  • MUST add an aria-label to icon-only buttons

Animation

  • NEVER add animation unless it is explicitly requested
  • MUST animate only compositor props (transform, opacity)
  • NEVER animate layout properties (width, height, top, left, margin, padding)
  • SHOULD use ease-out on entrance animations
  • NEVER exceed 200ms for interaction feedback
  • SHOULD respect prefers-reduced-motion

Performance

  • NEVER animate large blur() or backdrop-filter surfaces
  • NEVER apply will-change outside an active animation
  • NEVER use useEffect for anything that can be expressed as render logic

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills