moai-ref-ui-polish

Applies interface polish rules for motion, typography, icons, and hit areas to frontend UI work.

1.2k|222|Updated Sep 16, 2025
One-click install
npx skills add https://github.com/modu-ai/moai-adk --skill moai-ref-ui-polish
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: moai-ref-ui-polish
Source: https://github.com/modu-ai/moai-adk/tree/main/internal/template/templates/.claude/skills/moai-ref-ui-polish
Command: npx skills add https://github.com/modu-ai/moai-adk --skill moai-ref-ui-polish

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

AI-generated interfaces often miss the small visual details — wrong easing curves, mismatched border radii, solid borders used for depth, undersized hit areas — that separate polished interfaces from generic ones. This Skill encodes those interface-taste rules so agents apply them consistently during UI implementation and review.

Core Features & Use Cases

  • Motion and Animation Rules: Enforces correct easing (ease-out on enter, ease-in on exit), compositor-friendly properties (transform/opacity over layout properties), stagger budgets, and mandatory prefers-reduced-motion branches.
  • Geometry, Typography, and Icon Standards: Covers concentric border radius, optical alignment, tabular-nums for dynamic numbers, text-wrap rules, and icon stroke weights matched to text weight.
  • Design Audit Suite: The references/design-audit.md file provides grep-based mechanical detection patterns for motion gaps, accessibility violations, and consistency inventories across an entire codebase, with HIGH/MEDIUM/LOW severity and Block/Needs-changes/Approve verdicts.
  • Use Case: While building a React component with enter/exit animations, the agent applies ease-out deceleration, skips first-render animation with initial={false}, and verifies a reduced-motion fallback before shipping.

Quick Start

Review this UI component's animations, spacing, and icon states against the interface polish rules and list any HIGH or MEDIUM findings.

Frequently Asked Questions about moai-ref-ui-polish

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right easing for UI enter and exit animations?

Enter animations should decelerate with ease-out so elements arrive calmly, while exit animations accelerate with ease-in and run shorter than entrances. For CSS without a motion library, use cubic-bezier(0.2, 0, 0, 1) as the standard decelerate curve.

How to audit a codebase for animation and accessibility issues?

Use the grep-based detection patterns in references/design-audit.md to find hover rules without transitions, conditional renders without exit animations, and missing prefers-reduced-motion handlers. Findings map to HIGH, MEDIUM, or LOW severity with caps of 5 for quick mode and 15 for full mode.

What is the concentric border radius rule in UI design?

The outer element's border radius must equal the inner radius plus the padding between them: outerRadius = innerRadius + padding. Mismatched radii on nested elements is the most common cause of an interface feeling off.

Does this UI polish guidance apply to native mobile apps?

Yes, the design principles are platform-neutral even though implementation examples use Web/CSS. The audit suite includes Swift and Kotlin detection patterns for reduced-motion handlers and easing inventories on iOS and Android.

Why should animations avoid width, height, top, and left properties?

Animating layout properties triggers layout recalculation on every frame, causing jank. Transform and opacity are composited by the browser and skip layout, so movement should use translate and resizing should use scale.

When should I not use this UI polish skill?

It is not intended for backend logic, database design, DevOps, security audits, or any non-UI work. It amplifies frontend and interface-design tasks only, and polish fixes must extend the project's existing styling system rather than introduce a new one.