agentsclimarketplace

Upstash

Skill goharabbas321/zeoel-framework/all-skills/design-skills/skills/upstash

Upstash's UI design system. Use when building interfaces inspired by Upstash's aesthetic - light mode, Inter font, 4px grid.From its SKILL.md

Install
npx -y skills add goharabbas321/zeoel-framework --skill upstash

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

5.6 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

Upstash UI Skills

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

When to Apply

Reference these guidelines when:

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

Colors

  • SHOULD use light backgrounds for primary surfaces
  • MUST use #000000 as page background (surface-base)
  • MUST use #15B169 for primary actions and focus states (accent)
  • SHOULD reduce color palette (currently 21 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#F2F2F2rgb(242,242,242)Cards, modals, raised surfaces
surface-overlay#15B169rgb(21,177,105)Overlays, tooltips, dropdowns
text-primary#7E7D82rgb(126,125,130)Headings, body text
text-secondary#F7E89Frgb(247,232,159)Secondary, muted text
text-tertiary#C04351rgb(192,67,81)Additional text
border-default#E6E8E7rgb(230,232,231)Subtle borders, dividers
accent#15B169rgb(21,177,105)Primary actions, links, focus
destructive#C04351rgb(192,67,81)Error states, delete actions
success#3FA25Drgb(63,162,93)Success states, confirmations
warning#F7E89Frgb(247,232,159)Warning states, cautions

Typography

  • MUST use Inter as primary font family
  • SHOULD use single font family for consistency
  • MUST use 100px / 700 for primary headings
  • MUST use 25px / 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-1Inter100px700#3FA25D1
heading-2Inter96px700#3CA6621
bodyInter25px400#7A86861
body-secondaryInter24pxsemi_bold#3144401
body-secondaryInter23px500#2B3F3A1
body-secondaryInter23px500#2D423D1
body-secondaryInter23px500#4871631
text-19pxInter19px500#8180851
text-18pxInter18px500#7B7A7F1
text-18pxInter18pxsemi_bold#C043511

Typography Reference

Font Families:

  • Inter (used 38x)

Font Sizes: 10px, 11px, 12px, 13px, 14px, 15px, 16px, 17px, 18px, 19px, 23px, 24px, 25px, 96px, 100px

Spacing

  • MUST use 4px grid for spacing
  • SHOULD use spacing from scale: 1px, 2px, 3px, 4px, 5px, 6px, 7px, 8px
  • SHOULD use 5px 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: 6px, 9px, 10px, 12px, 13px, 15px, 16px
  • SHOULD limit border widths to: 1px, 2px
  • SHOULD use 15px 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: 6px, 9px, 10px, 12px, 13px, 15px, 16px

Layout

  • MUST design for 1920px base viewport width
  • SHOULD use consistent element widths: 20px, 24px, 18px, 172px, 199px
  • 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

  • Main Content: width: 1920px, height: 1038px
  • Header: height: 43px
  • Main Content: width: 1855px, height: 1080px
  • Main Content: width: 1920px, height: 598px

Components

  • MUST use 0px height for input fields

Buttons

VariantBackgroundTextBorderHeightRadius
Ghosttransparent#7E7D82none--

Inputs

  • Height: 0px

Interactive States

Focus

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

Hover

  • Buttons (primary): lighten background by 10%
  • Buttons (secondary): use #F2F2F2 background
  • List items: use #F2F2F2 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

What ships with it: 1 file

268 B alongside SKILL.md

Keep looking

Skills are one crate of 326,512. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.