Things's UI design system. Use when building interfaces inspired by Things's aesthetic - light mode, Inter font, 8px grid.
70
62%
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/things/SKILL.mdOpinionated constraints for building Things-style interfaces with AI agents.
Reference these guidelines when:
#EEF2F5 as page background (surface-base)#729AE0 for primary actions and focus states (accent)| Token | HEX | RGB | Usage |
|---|---|---|---|
surface-base | #EEF2F5 | rgb(238,242,245) | Page background |
text-primary | #729AE0 | rgb(114,154,224) | Headings, body text |
text-2 | #5A5E61 | rgb(90,94,97) | Additional text |
text-tertiary | #2F343B | rgb(47,52,59) | Additional text |
accent | #729AE0 | rgb(114,154,224) | Primary actions, links, focus |
Inter as primary font family49px / 700 for primary headings23px / 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 | 49px | 700 | #2F343B | 1 |
body | Inter | 23px | 400 | #5A5E61 | 1 |
text-20px | Inter | 20px | 500 | #729AE0 | 1 |
text-19px | Inter | 19px | semi_bold | #9298A0 | 1 |
text-14px | Inter | 14px | 400 | #9499A1 | 1 |
text-14px | Inter | 14px | 400 | #989CA4 | 1 |
caption | Inter | 11px | 400 | #989DA4 | 1 |
Font Families:
Inter (used 7x)Font Sizes: 11px, 14px, 19px, 20px, 23px, 49px
h-screen, use h-dvh for full viewport heightsafe-area-inset for fixed elementssize-* for square elements instead of w-* + h-*2px outline with accent color (#729AE0)2px outline-offsetsurface-raised backgroundsurface-raised 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.