From designpowers
Guides designing adaptive UIs respecting user preferences for motion sensitivity, contrast, color schemes, text sizing, and information density via CSS media queries.
npx claudepluginhub owl-listener/designpowers --plugin designpowersThis skill uses the workspace's default tool permissions.
Good design does not force everyone through the same experience. It adapts. This skill ensures interfaces respect user preferences, system settings, and individual needs — not as optional extras, but as fundamental design requirements.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Blocks Edit/Write/Bash (including MultiEdit) until investigating importers via Grep, data schemas, affected functions, and user instructions verbatim. Improves output quality in multi-module codebases.
Good design does not force everyone through the same experience. It adapts. This skill ensures interfaces respect user preferences, system settings, and individual needs — not as optional extras, but as fundamental design requirements.
Review the design and map what should adapt:
| Property | User Preference | CSS/System Signal |
|---|---|---|
| Colour scheme | Light/dark/custom | prefers-color-scheme |
| Contrast | Standard/high | prefers-contrast |
| Motion | Full/reduced/none | prefers-reduced-motion |
| Text size | System font size settings | rem/em units, viewport scaling |
| Information density | Compact/comfortable/spacious | User setting or breakpoint |
| Transparency | Standard/reduced | prefers-reduced-transparency |
Motion is the most commonly harmful interface property. Handle it rigorously:
Default behaviour:
prefers-reduced-motion: reduce disables non-essential animationImplementation pattern:
/* Full motion (default) */
.element { transition: transform 300ms ease-out; }
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
.element { transition: none; }
}
Never autoplay:
Dark mode is not "invert the colours." It is a separate design exercise:
Text must be resizable without breaking the layout:
rem or em units, never fixed px for font sizesDifferent users need different densities:
If offering density controls:
For each adaptive property, document:
ui-composition, interaction-designcognitive-accessibility (density and simplification), inclusive-personas (preference awareness)designpowers-critique