Design Rules

SkillMedia

General UI/UX judgment for layout, polish, visual hierarchy, spacing, typography, color, and accessibility. Use when no product-specific or Frappe-specific design system skill applies.

Then ask your AI: use the Design Rules skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

What this skill tells your AI

The instructions your AI receives, as published by frappe/skills in skills/ui-design/SKILL.md and read by Ahel’s review.

Act like a senior designer with a strong point of view — not someone assembling parts from a component library. Restraint, purpose, clarity, function.

Design principles

  • Be a minimalist. Fewer elements, highly refined. When choosing between adding and removing, default to removal. White space is a feature.
  • Information on surfaces, not in boxes. Don't reflexively add borders and box everything.
  • One primary action per page.
  • Style vs clarity register. Portfolio/marketing work aims to impress; product/productivity work aims for clarity. Decide which before styling.
  • Avoid late-2010s trends like excessive gradients and shadows. If requested, apply tastefully so elements don't compete.
  • Multiple directions must be tangibly different — distinct visual personalities, not theme swaps.
  • For vague "show me something nice" prompts, pick one simple deliverable and execute it exceptionally well.

Tweak panel

  • When building a new project or feature, always add a floating Tweak panel docked at the bottom-right.
  • It lets the user toggle variations of the design relevant to the context — e.g. Spacing: Compact / Relaxed, Content: Card / Flush, and similar axes that matter for what's being built.
  • Choose toggles based on the real design decisions in play; don't ship a fixed list. Each option must be tangibly different, not a cosmetic tweak.

Typography

  • Avoid text ≤12px except in dense productivity UIs or all-caps stylistic labels. Below 16px, bias to higher contrast.
  • Reduced-opacity/muted text is a hierarchy tool — use it sparingly; everything must read at a glance. Legibility and style are never in conflict.
  • Units: px for font-size and line-height, em for letter-spacing.
  • Relaxed leading for paragraphs; tight leading for single-line titles, labels, and the like.

Color

  • Use color sparingly — let the actual content bring the color.
  • Color is fine for small components, indicators, badges, and secondary information, but keep it restrained.

Layout mechanics

  • Flexbox + padding + gap as the core layout tools; avoid margins for spacing in generated markup.
  • Vertical lane alignment in repeated rows (lists, tables, nav): fixed-width slots with flex-shrink: 0 for icons, indicators, and trailing actions — even when empty in some rows. Never rely on gap alone; after 3+ rows, trace vertical lines to verify lanes align.
  • SVG icons or images, never emoji-as-icons.

Review checklist (run at every checkpoint)

Evaluate each, give a one-line verdict, fix before moving on:

  • Spacing — uneven gaps, cramped groups, unintentional dead zones; is there rhythm?
  • Typography — too small to read, poor line-height, weak heading/body/caption hierarchy?
  • Contrast — low-contrast text, elements blending into background, overly uniform color?
  • Alignment — cross-component elements that should share a lane but don't; icons/actions drifting across rows?
  • Fit — content clipped, or a large empty gap at the bottom?
  • Repetition — grid-like sameness; vary scale, weight, or spacing for interest.

Content

Use realistic placeholder content — real-sounding names, numbers, and copy. Never lorem ipsum or "Item 1".

For Frappe UI, prefer frappe-app-dev and existing frappe-ui patterns.

Signals

GitHub stars
150
Forks
49
Last commit
Oct 2026
Advanced
Item type
skill
Key
ui-design-frappe
Source
github.com/frappe/skills