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
Users start this workflow with /distill. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the Context Gathering Protocol. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first.
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.
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
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."
1---2name: distill3description: 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.4---5
6Remove unnecessary complexity from designs, revealing the essential elements and creating clarity through ruthless simplification.
7
8Distillation should happen before complexity hardens into the product. The best simplification move is often to avoid overbuilding in the first place.
9
10## MANDATORY PREPARATION
11
12Users start this workflow with `/distill`. Once this skill is active, load $frontend-design — it contains design principles, anti-patterns, and the **Context Gathering Protocol**. Follow that protocol before proceeding — if no design context exists yet, you MUST load $setup first.
13
14Consult the [cognitive load](../frontend-design/reference/cognitive-load.md) when simplification depends on reducing visible choices, memory burden, or premature complexity.
15Consult the [hierarchy checklist](../frontend-design/reference/hierarchy-checklist.md) when clutter is really flattening priority, section restraint, or label/value clarity.
16Consult the [action hierarchy](../frontend-design/reference/action-hierarchy.md) when simplifying means deciding which controls should lead, recede, combine, or disappear.
17
18---
19
20## Assess Current State
21
22Analyze what makes the design feel complex or cluttered:
23
241. **Identify complexity sources**:
25 - **Too many elements**: Competing buttons, redundant information, visual clutter
26 - **Excessive variation**: Too many colors, fonts, sizes, styles without purpose
27 - **Information overload**: Everything visible at once, no progressive disclosure
28 - **Visual noise**: Unnecessary borders, shadows, backgrounds, decorations
29 - **Confusing hierarchy**: Unclear what matters most
30 - **Feature creep**: Too many options, actions, or paths forward
31
322. **Find the essence**:
33 - What's the primary user goal? (There should be ONE)
34 - What's actually necessary vs nice-to-have?
35 - What can be removed, hidden, or combined?
36 - What's the 20% that delivers 80% of value?
37 - What's the **smallest useful version** users could benefit from right now?
38 - Which parts are **essential**, **decorative**, or **aspirational**?
39
40If any of these are unclear from the codebase, ask the user directly to clarify what you cannot infer.
41
42**CRITICAL**: Simplicity is not about removing features - it's about removing obstacles between users and their goals. Every element should justify its existence.
43
44## Plan Simplification
45
46Create a ruthless editing strategy:
47
48- **Core purpose**: What's the ONE thing this should accomplish?
49- **Essential elements**: What's truly necessary to achieve that purpose?
50- **Progressive disclosure**: What can be hidden until needed?
51- **Consolidation opportunities**: What can be combined or integrated?
52
53### Tesler's Law (Who Owns the Complexity?)
54
55Some complexity is inherent to the domain. The real design decision is whether the system absorbs it or forces the user to manage it manually.
56
57Prefer shifting unnecessary complexity into the product through:
58- smart defaults
59- prefilled data and remembered preferences
60- inline guidance at the moment of need
61- suggested paths and recommended settings
62- automation for repetitive setup and formatting work
63
64Keep advanced power available, but do not make every user confront the full complexity before they can do the basic job.
65
66### Minimum Shippable Scope
67- Define the smallest version that delivers real user value
68- Separate the shippable core from nice-to-haves and future ambitions
69- Do not let optional features block the useful version from shipping
70
71### Cycle Rule
72- Design lightly
73- Build early
74- Refine after real use exposes problems
75- Avoid solving every edge case in the abstract before the feature exists
76
77**IMPORTANT**: Simplification is hard. It requires saying no to good ideas to make room for great execution. Be ruthless.
78
79## Simplify the Design
80
81Systematically remove complexity across these dimensions:
82
83### Information Architecture
84- **Start with the feature, not the shell**: Simplify the actual task flow before redesigning navigation or chrome
85- **Reduce scope**: Remove secondary actions, optional features, redundant information
86- **Progressive disclosure**: Hide complexity behind clear entry points (accordions, modals, step-through flows)
87- **Combine related actions**: Merge similar buttons, consolidate forms, group related content
88- **Clear hierarchy**: ONE primary action, few secondary actions, everything else tertiary or hidden
89- **Remove redundancy**: If it's said elsewhere, don't repeat it here
90
91### Visual Simplification
92- **Reduce color palette**: Use 1-2 colors plus neutrals, not 5-7 colors
93- **Limit typography**: One font family, 3-4 sizes maximum, 2-3 weights
94- **Remove decorations**: Eliminate borders, shadows, backgrounds that don't serve hierarchy or function
95- **Flatten structure**: Reduce nesting, remove unnecessary containers—never nest cards inside cards
96- **Remove unnecessary cards**: Cards aren't needed for basic layout; use spacing and alignment instead
97- **Consistent spacing**: Use one spacing scale, remove arbitrary gaps
98
99### Layout Simplification
100- **Linear flow**: Replace complex grids with simple vertical flow where possible
101- **Remove sidebars**: Move secondary content inline or hide it
102- **Full-width**: Use available space generously instead of complex multi-column layouts
103- **Consistent alignment**: Pick left or center, stick with it
104- **Generous white space**: Let content breathe, don't pack everything tight
105
106### Interaction Simplification
107- **Reduce choices**: Fewer buttons, fewer options, clearer path forward (paradox of choice is real)
108- **Smart defaults**: Make common choices automatic, only ask when necessary
109- **Absorb system complexity**: Prefer inference, remembered state, and sensible automation over making users learn hidden rules
110- **Inline actions**: Replace modal flows with inline editing where possible
111- **Remove steps**: Can signup be one step instead of three? Can checkout be simplified?
112- **Clear CTAs**: ONE obvious next step, not five competing actions
113
114### Content Simplification
115- **Shorter copy**: Cut every sentence in half, then do it again
116- **Active voice**: "Save changes" not "Changes will be saved"
117- **Remove jargon**: Plain language always wins
118- **Scannable structure**: Short paragraphs, bullet points, clear headings
119- **Essential information only**: Remove marketing fluff, legalese, hedging
120- **Remove redundant copy**: No headers restating intros, no repeated explanations, say it once
121
122### Code Simplification
123- **Remove unused code**: Dead CSS, unused components, orphaned files
124- **Flatten component trees**: Reduce nesting depth
125- **Consolidate styles**: Merge similar styles, use utilities consistently
126- **Reduce variants**: Does that component need 12 variations, or can 3 cover 90% of cases?
127
128**NEVER**:
129- Remove necessary functionality (simplicity ≠ feature-less)
130- Sacrifice accessibility for simplicity (clear labels and ARIA still required)
131- Make things so simple they're unclear (mystery ≠ minimalism)
132- Remove information users need to make decisions
133- Eliminate hierarchy completely (some things should stand out)
134- Oversimplify complex domains (match complexity to actual task complexity)
135- Simplify after overbuilding if you could have shipped the smaller useful version first
136- Let nice-to-have features block the shippable core
137- Design every theoretical edge case before you've built and used the basic flow
138- Offload avoidable configuration and rule-tracking onto users when the product could handle it instead
139
140## Verify Simplification
141
142Ensure simplification improves usability:
143
144- **Faster task completion**: Can users accomplish goals more quickly?
145- **Reduced cognitive load**: Is it easier to understand what to do?
146- **Still complete**: Are all necessary features still accessible?
147- **Clearer hierarchy**: Is it obvious what matters most?
148- **Better performance**: Does simpler design load faster?
149
150## Document Removed Complexity
151
152If you removed features or options:
153- Document why they were removed
154- Consider if they need alternative access points
155- Note any user feedback to monitor
156
157Remember: 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."