
distill
Simplify cluttered UI by removing unnecessary elements, choices, features, and structural complexity. Use when the problem is too many controls, options, features, or competing elements—not when the structure is sound and the real issue is only visual intensity or lack of personality.
- Installs
- 58
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/aladicf/better-react-web-ui --skill distill- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads distill automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Remove unnecessary complexity from designs, revealing the essential elements and creating clarity through ruthless simplification.
Distillation should happen before complexity hardens into the product. The best simplification move is often to avoid overbuilding in the first place.
MANDATORY PREPARATION
Read frontend-design and follow its Context Gathering Protocol. Reuse available context and ask only about consequential gaps.
Consult the cognitive load when simplification depends on reducing visible choices, memory burden, or premature complexity. Consult the hierarchy checklist when clutter is really flattening priority, section restraint, or label/value clarity. Consult the action hierarchy when simplifying means deciding which controls should lead, recede, combine, or disappear. Consult the self-evident interface design reference when simplification means removing helper copy, redundant labels, onboarding instructions, or explanatory text by improving structure, defaults, constraints, previews, and inline feedback.
Assess Current State
Analyze what makes the design feel complex or cluttered:
-
Identify complexity sources:
- Too many elements: Competing buttons, redundant information, visual clutter
- Excessive variation: Too many colors, fonts, sizes, styles without purpose
- Information overload: Everything visible at once, no progressive disclosure
- Visual noise: Unnecessary borders, shadows, backgrounds, decorations
- Confusing hierarchy: Unclear what matters most
- Feature creep: Too many options, actions, or paths forward
-
Find the essence:
- What's the primary user goal? (There should be ONE)
- What's actually necessary vs nice-to-have?
- What can be removed, hidden, or combined?
- What's the 20% that delivers 80% of value?
- What's the smallest useful version users could benefit from right now?
- Which parts are essential, decorative, or aspirational?
If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
CRITICAL: Simplicity is not about removing features - it's about removing obstacles between users and their goals. Every element should justify its existence.
Plan Simplification
Create a ruthless editing strategy:
- Core purpose: What's the ONE thing this should accomplish?
- Essential elements: What's truly necessary to achieve that purpose?
- Progressive disclosure: What can be hidden until needed?
- Consolidation opportunities: What can be combined or integrated?
Tesler's Law (Who Owns the Complexity?)
Some complexity is inherent to the domain. The real design decision is whether the system absorbs it or forces the user to manage it manually.
Prefer shifting unnecessary complexity into the product through:
- smart defaults
- prefilled data and remembered preferences
- inline guidance at the moment of need
- suggested paths and recommended settings
- automation for repetitive setup and formatting work
Keep advanced power available, but do not make every user confront the full complexity before they can do the basic job.
Minimum Shippable Scope
- Define the smallest version that delivers real user value
- Separate the shippable core from nice-to-haves and future ambitions
- Do not let optional features block the useful version from shipping
Cycle Rule
- Design lightly
- Build early
- Refine after real use exposes problems
- Avoid solving every edge case in the abstract before the feature exists
IMPORTANT: Simplification is hard. It requires saying no to good ideas to make room for great execution. Be ruthless.
Simplify the Design
Systematically remove complexity across these dimensions:
Information Architecture
- Start with the feature, not the shell: Simplify the actual task flow before redesigning navigation or chrome
- Reduce scope: Remove secondary actions, optional features, redundant information
- Progressive disclosure: Hide complexity behind clear entry points (accordions, modals, step-through flows)
- Combine related actions: Merge similar buttons, consolidate forms, group related content
- Clear hierarchy: ONE primary action, few secondary actions, everything else tertiary or hidden
- Remove redundancy: If it's said elsewhere, don't repeat it here
Visual Simplification
- Reduce color palette: Use 1-2 colors plus neutrals, not 5-7 colors
- Limit typography: One font family, 3-4 sizes maximum, 2-3 weights
- Remove decorations: Eliminate borders, shadows, backgrounds that don't serve hierarchy or function
- Flatten structure: Reduce nesting, remove unnecessary containers—never nest cards inside cards
- Remove unnecessary cards: Cards aren't needed for basic layout; use spacing and alignment instead
- Consistent spacing: Use one spacing scale, remove arbitrary gaps
Layout Simplification
- Linear flow: Replace complex grids with simple vertical flow where possible
- Remove sidebars: Move secondary content inline or hide it
- Full-width: Use available space generously instead of complex multi-column layouts
- Consistent alignment: Pick left or center, stick with it
- Generous white space: Let content breathe, don't pack everything tight
Interaction Simplification
- Reduce choices: Fewer buttons, fewer options, clearer path forward (paradox of choice is real)
- Smart defaults: Make common choices automatic, only ask when necessary
- Absorb system complexity: Prefer inference, remembered state, and sensible automation over making users learn hidden rules
- Inline actions: Replace modal flows with inline editing where possible
- Remove steps: Can signup be one step instead of three? Can checkout be simplified?
- Clear CTAs: ONE obvious next step, not five competing actions
Content Simplification
- Shorter copy: Cut every sentence in half, then do it again
- Active voice: "Save changes" not "Changes will be saved"
- Remove jargon: Plain language always wins
- Scannable structure: Short paragraphs, bullet points, clear headings
- Essential information only: Remove marketing fluff, legalese, hedging
- Remove redundant copy: No headers restating intros, no repeated explanations, say it once
- Structure before explanation: If helper text is carrying the interaction, improve grouping, defaults, constraints, or inline examples before rewriting the helper text
Code Simplification
- Remove unused code: Dead CSS, unused components, orphaned files
- Flatten component trees: Reduce nesting depth
- Consolidate styles: Merge similar styles, use utilities consistently
- Reduce variants: Does that component need 12 variations, or can 3 cover 90% of cases?
NEVER:
- Remove necessary functionality (simplicity ≠ feature-less)
- Sacrifice accessibility for simplicity (clear labels and ARIA still required)
- Make things so simple they're unclear (mystery ≠ minimalism)
- Remove information users need to make decisions
- Eliminate hierarchy completely (some things should stand out)
- Oversimplify complex domains (match complexity to actual task complexity)
- Simplify after overbuilding if you could have shipped the smaller useful version first
- Let nice-to-have features block the shippable core
- Design every theoretical edge case before you've built and used the basic flow
- Offload avoidable configuration and rule-tracking onto users when the product could handle it instead
Verify Simplification
Ensure simplification improves usability:
- Faster task completion: Can users accomplish goals more quickly?
- Reduced cognitive load: Is it easier to understand what to do?
- Still complete: Are all necessary features still accessible?
- Clearer hierarchy: Is it obvious what matters most?
- Better performance: Does simpler design load faster?
Document Removed Complexity
If you removed features or options:
- Document why they were removed
- Consider if they need alternative access points
- Note any user feedback to monitor
Remember: You have great taste and judgment. Simplification is an act of confidence - knowing what to keep and courage to remove the rest. As Antoine de Saint-Exupéry said: "Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away."
FAQ
What does the distill skill do?
Simplify cluttered UI by removing unnecessary elements, choices, features, and structural complexity. Use when the problem is too many controls, options, features, or competing elements—not when the structure is sound and the real issue is only visual intensity or lack of personality.
How do I install distill?
Run npx skills add https://github.com/aladicf/better-react-web-ui --skill distill in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/distill/ (personal) or .claude/skills/distill/ (project).
Which AI agents can use distill?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is distill safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains distill?
It is published by aladicf in aladicf/better-react-web-ui. It has 58 recorded installs.
More from aladicf/better-react-web-ui
frontend-design
aladicf/better-react-web-ui
Create distinctive React and Tailwind interfaces with strong hierarchy and polished implementation. Use when building or redesigning pages, flows, or components, or when another better-react-web-ui skill needs shared design guidance. Pair with add-ui for direct implementation or requested alternatives.
polish
aladicf/better-react-web-ui
Perform a final quality pass fixing alignment, spacing, consistency, and micro-detail issues before shipping. Use when the work is functionally complete and needs finishing touches—not when the hierarchy, structure, tone, or technical foundation still need major changes.
add-ui
aladicf/better-react-web-ui
Create or redesign React and Tailwind sections, pages, flows, shells, and components. Use when the user wants new UI or a redesign. Implement one requested or selected direction directly, or generate distinct alternatives when the user asks to compare options.
data-viz
aladicf/better-react-web-ui
Design charts, metrics, and data tables that help users interpret and compare data. Use when the user asks to visualize data, choose chart types, improve dashboard analytics, or make data presentation accessible. Dashboard navigation and shell layout alone belong to add-ui or arrange.
setup
aladicf/better-react-web-ui
Gather and persist audience, brand, UX goals, React framework, Tailwind setup, and component defaults for future design work. Use when the user asks to establish or update reusable project design guidance. A request to build UI can proceed with existing context without running setup.
arrange
aladicf/better-react-web-ui
Improve layout composition, spacing systems, grouping, and visual rhythm. Use when the user mentions weak layout structure, arbitrary spacing, weak grouping, crowded composition, or layout monotony rather than priority/emphasis problems.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.