Skip to content
cccskills
FreePublished on GitHub

make-interfaces-feel-better

Refine interface appearance and interactions by reviewing spacing, typography, rounded corners, shadows, animation, and clickable areas. Get concrete before-and-after recommendations for buttons, cards, forms, and other components, including hover, focus, and loading states.

OriginalShow the original description

Apply concrete design-engineering details that make interfaces feel polished. Use when reviewing or improving UI spacing, typography, borders, shadows, motion, hit areas, icons, text wrapping, and interaction states.

See how to install

Good for

  • Review screens that feel cramped or unfinished
  • Refine buttons, cards, and forms
  • Improve hover, focus, and loading states
  • Fix awkward wrapping and shifting numbers

Files included (1)

  • SKILL.md4.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Make Interfaces Feel Better

Use this skill for the small design-engineering details that compound into a more polished interface.

Source: salvaged from stale community PR #1659 by linus707.

When to Use

  • The user says the UI feels off, flat, generic, cramped, jumpy, or unfinished.
  • You are building controls, cards, lists, dashboards, navigation, forms, or toolbars.
  • A component needs hover, active, focus, enter, exit, loading, or empty states.
  • A frontend review needs specific before/after recommendations.

Core Principles

Concentric Radius

For nearby nested rounded surfaces:

outer radius = inner radius + padding

If padding is large, treat layers as separate surfaces instead of forcing the math. The point is optical coherence, not formula worship.

Optical Alignment

Geometric centering is not always visual centering. Icon buttons, play triangles, arrows, stars, and asymmetric icons often need a small offset. Fix the SVG when possible; otherwise adjust with a pixel-level margin or padding change.

Shadows And Borders

Use borders for separation and focus rings. Use layered shadows when a card, button, dropdown, or popover needs depth. Shadows should be transparent and subtle enough to work across backgrounds.

Text Wrapping

  • Use text-wrap: balance on headings and short titles.
  • Use text-wrap: pretty on short-to-medium body text, captions, descriptions, and list items.
  • Avoid both on long prose, code, and preformatted content.
  • Use font-variant-numeric: tabular-nums for counters, timers, prices, tables, and other updating numbers.

Font Smoothing

On macOS, apply antialiased font smoothing at the root layout when the project does not already do so:

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

Image Outlines

Images often need a subtle inset outline so their edges do not blur into the surface.

img {
  outline: 1px solid rgba(0, 0, 0, 0.1);
  outline-offset: -1px;
}

@media (prefers-color-scheme: dark) {
  img {
    outline-color: rgba(255, 255, 255, 0.1);
  }
}

Use neutral black or white alpha outlines. Do not tint image outlines with the brand palette.

Motion

Use CSS transitions for interactive state changes because they can retarget when the user changes intent mid-motion. Reserve keyframes for staged one-shot entrances or loading sequences.

Good motion defaults:

  • Enter: combine opacity, small translateY, and optionally blur.
  • Exit: shorter and quieter than enter, usually 150ms.
  • Press: scale(0.96) for tactile buttons, with a way to disable it when the movement distracts.
  • Icon swaps: cross-fade with opacity, scale, and blur instead of instant visibility toggles.

Transition Scope

Never use transition: all. Specify the changed properties:

.button {
  transition-property: transform, background-color, box-shadow;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
}

Use will-change only for first-frame stutter on compositor-friendly properties such as transform, opacity, and filter. Never use will-change: all.

Hit Areas

Interactive controls should have at least a 40x40px hit area, ideally 44x44px where the layout allows it. Expand with a pseudo-element when the visible icon is smaller, but do not let expanded hit areas overlap.

Review Output

When reviewing a UI polish pass, report concrete changes in before/after rows:

PrincipleBeforeAfter
Concentric radiusSame radius on parent and childParent radius accounts for padding
Tabular numbersCounter shifts as digits changeCounter uses tabular-nums
Transition scopetransition: allExplicit transition properties

Include file paths and properties when they are not obvious from the snippets. Omit principles that you checked but did not change.

Checklist

  • Nested rounded elements are optically coherent.
  • Icons are visually centered.
  • Buttons, cards, and popovers use borders or shadows for the right reason.
  • Headings and short text avoid awkward wrapping.
  • Dynamic numbers use tabular numerals.
  • Images have neutral outlines where needed.
  • Enter and exit animations are split, subtle, and interruptible where appropriate.
  • Buttons have tactile active states without exaggerated motion.
  • transition: all and will-change: all are absent.
  • Small controls still have usable hit areas.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

accessibility

FreeSummary

Design and audit interfaces for Web, iOS, and Android using WCAG 2.2 accessibility guidance. Check screen-reader labels, keyboard navigation, contrast, and control sizes to identify barriers and guide implementation for people using assistive technology.

  • Adding descriptive labels to icon-only buttons
  • Reviewing keyboard navigation and modal focus
  • Checking contrast and control sizes
affaan-m/ECC283.3KUpdated Oct 16, 2026

Investigate unreliable AI agents across 12 layers, including instructions, memory, tool execution, and display. Use code and logs to trace failures, rank findings by severity, and produce an ordered repair plan that prioritizes code changes.

  • Investigating failures that appear only inside an agent application
  • Tracing old conversation content leaking into new sessions
  • Checking skipped or falsely claimed tool execution
affaan-m/ECC283.3KUpdated Oct 16, 2026

agent-eval

FreeSummary

Compare coding agents on tasks from your own codebase. Define success checks, run agents in separate Git working directories, and report pass rates, available API costs, completion time, and consistency across repeated trials.

  • Comparing coding agents on real development tasks
  • Evaluating a new tool or model before adoption
  • Checking performance after agent updates
affaan-m/ECC283.3KUpdated Oct 16, 2026

Design and refine an AI agent’s available actions, tool inputs, and result formats. Define recovery steps for errors, manage the information kept in context, and evaluate changes through completion rates, retries, and cost per successful task.

  • Define an AI agent’s tool set and input formats
  • Make tool results and next steps easier to interpret
  • Specify safe retries and stopping conditions
affaan-m/ECC283.3KUpdated Oct 16, 2026

Diagnose failed AI agent runs by capturing errors, checking likely causes, and choosing small, reversible recovery actions. The workflow produces a structured report of the failure, recovery steps, and evidence, helping explain repeated retries or stalled progress.

  • Diagnosing repeated tool calls with no progress
  • Investigating quality loss as context grows
  • Checking file paths and environment mismatches
affaan-m/ECC283.3KUpdated Oct 16, 2026

Diagnose AI agent runs that fail repeatedly, loop through tools, or lose track of the task. Capture errors and environment details, test a focused recovery action, and produce a report explaining the evidence and outcome.

  • Diagnosing repeated failures in an agent run
  • Investigating loops through the same tool calls
  • Reviewing output degradation as context grows
affaan-m/ECC283.3KUpdated Oct 5, 2026

See all skills by affaan-m

Report a problem with this skill