algorithmic-color-pale…
Derive a full UI colour palette algorithmically from one or two brand colours. Darker and lighter variants for interactive states, desaturated greys from the…
Scroll areas inside a layout should be avoided wherever possible. When unavoidable, allow only one scroll axis at a time and always keep the user in control. Use when designing layouts, data tables, panels, or any component that might introduce an inner scroll container.
$ npx -y skills add dembrandt/dembrandt-skills --skill scroll-areas --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/scroll-areasContext preview
The summary Claude sees to decide when to auto-load this skill.
Scroll areas inside a layout should be avoided wherever possible. When unavoidable, allow only one scroll axis at a time and always keep the user in control. Use when designing layouts, data tables, panels, or any component that might introduce an inner scroll container.
name: scroll-areas
description: Scroll areas inside a layout should be avoided wherever possible. When unavoidable, allow only one scroll axis at a time and always keep the user in control. Use when designing layouts, data tables, panels, or any component that might introduce an inner scroll container.
metadata:
priority: 7
pathPatterns:
- "**/*.css"
- "**/*.scss"
- "components/**"
- "src/components/**"
- "**/*.tsx"
- "**/*.jsx"
- "design-system/**"
promptSignals:
phrases:
- "scroll"
- "overflow"
- "scrollable"
- "inner scroll"
- "fixed height"
- "overflow-y"
- "overflow-x"
retrieval:
aliases:
- scroll areas
- inner scroll
- overflow scroll
- nested scroll
- scrollable container
intents:
- avoid scroll inside scroll
- design a scrollable list
- handle overflow content
- layout with constrained height
examples:
- should this panel scroll independently
- how do I handle a long list inside a fixed layout
- avoid scroll inside scrollScroll containers inside a layout — panels, drawers, tables, modals with inner overflow — create friction. Users must discover that a region scrolls, manage multiple independent scroll positions simultaneously, and context-switch between scroll areas on the same screen.
**Default: let the page scroll.** A single page-level scroll is universally understood and requires no discovery. Before introducing an inner scroll area, ask whether the layout can be restructured so the page itself handles the overflow.
Alternatives to inner scroll:
Some layouts genuinely require inner scroll:
In these cases, proceed — but apply the constraints below.
Never create a scroll container that scrolls on both axes simultaneously. Two-axis scroll is disorienting, hard to control precisely, and nearly unusable on touch devices.
/* One axis: vertical */ overflow-y: auto; overflow-x: hidden; /* One axis: horizontal (e.g. wide table) */ overflow-x: auto; overflow-y: hidden; /* Never */ overflow: auto; /* allows both axes */
If content requires both axes — e.g. a wide table inside a constrained panel — restructure the layout so the table's horizontal scroll is the only scroll in the view, with the page itself not scrolling at that point.
Scroll must never happen automatically without user intent. Specifically:
Exception: chat and log panels may auto-scroll to the bottom on new content, but only if the user is already at the bottom. If the user has scrolled up to read, do not force them back down — show a "new messages" indicator instead.
Users must be able to tell a region is scrollable before they attempt to scroll it.
UX and design-system skills for AI agents. Install once, and your agent knows how to design. --all installs every skill at once. They load only when a prompt needs them, so there is no runtime cost to having them all. Want to pick by hand?
Repo: dembrandt/dembrandt-skills
Derive a full UI colour palette algorithmically from one or two brand colours. Darker and lighter variants for interactive states, desaturated greys from the…
The persistent shell around an application — the top bar, the app launcher, the tenant and environment cue, and in heavy tools a status bar. In an estate of…
Product visuals — hero shots, demos, screenshots, landing-page panels — must reproduce the real product, not a stylised poster of it. Design with real content…
A brand's visual tone — playful or serious, rounded or angular — should be consistent across all UI elements. Shape language in typography, border-radius, and…
Every interactive element needs a complete set of visual states — rest, hover, active/pressed, focus, disabled, and loading. States should be derived…
Rebuild an existing web page 1:1 from measurement instead of by eye — into Figma, Penpot, or code. Captures the rendered page, the raw source and the computed…