Wabi Sabi Restraint logo

Wabi Sabi Restraint

Community
Deibler
wabi-sabi-restraint

Apply wabi-sabi restraint — the discipline of leaving things out, of resisting decoration, of letting empty space and silence do design work. Use when designing reading-focused interfaces, paring back accumulated clutter, choosing between decoration and absence, or evaluating whether each element earns its place. Restraint is the often-overlooked half of wabi-sabi: the imperfection side gets attention, but the principle is equally about modesty and the elegance of what's not there.

Overview

PublisherDeibler
Repositoryuniversal-design-principles
Skill namewabi-sabi-restraint
Stars
9
Forks
3
Bundled files
1
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Deibler on GitHub. Read the source before you install it.

Installation

Install the Wabi Sabi Restraint AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/Deibler/universal-design-principles/tree/main/plugins/aesthetics-and-emotion-principles/skills/wabi-sabi-restraint
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Deibler/universal-design-principles.git /tmp/universal-design-principles
mkdir -p .claude/skills
cp -r /tmp/universal-design-principles/plugins/aesthetics-and-emotion-principles/skills/wabi-sabi-restraint .claude/skills/wabi-sabi-restraint
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Wabi Sabi Restraint in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Wabi Sabi Restraint on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Wabi Sabi Restraint is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Wabi-Sabi — restraint

The other half of wabi-sabi: restraint. The discipline of leaving things out, of resisting decoration, of letting empty space carry the design. Where the imperfection side adds warmth through visible craft, the restraint side adds elegance through what's not there.

The two halves work together. Pure imperfection without restraint becomes kitsch. Pure restraint without imperfection becomes cold minimalism. The Japanese tea room embodies both: the materials are humble and slightly irregular (imperfection), but the space is sparse and uncluttered (restraint).

In digital design, restraint is often the more useful half. Most products suffer from too much decoration, not too little. Too many features competing for attention; too many visual flourishes; too many options the user has to evaluate. Restraint corrects this.

What restraint looks like

Generous whitespace. Empty space around content lets the content breathe. The absence is doing design work.

Single focal point per view. Each screen has one primary thing the user is meant to focus on; supporting elements step back.

Limited color palette. Five or six colors with clear roles, used disciplined, rather than fifteen colors used arbitrarily.

Few typefaces. Two or three typefaces (or weights of one), not a typographic zoo.

Resistance to decoration. No element added unless it earns its place. Visual elements serve function, not just visual interest.

Silence in interaction. Not every action needs animation; not every state needs a visual flourish. Quiet interactions for quiet moments.

Resistance to feature creep. Features added only when they earn their place. The product stays focused.

Editorial discipline in copy. Words used carefully; nothing added that doesn't say something. Brevity and precision.

Why restraint matters

Restraint produces several benefits:

Focus. Users know where to look. The single focal point is unambiguous.

Speed. Less to render, fewer choices to make, faster to use.

Maintainability. Fewer elements means fewer things to update, fix, or redesign.

Timelessness. Trends in decoration date quickly; restrained designs age well.

Elegance. Simplicity reads as refinement; clutter reads as lack of editorial discipline.

Approachability. A spare design feels welcoming; a busy design feels intimidating.

The cost of restraint is that it requires saying no — often to suggestions for additions, decorations, features. The discipline is unglamorous but valuable.

When restraint is the right register

Restraint fits almost any context, but is especially valuable in:

Reading-focused products. Articles, documentation, e-books. Anything where the user needs to focus on text.

Functional tools. Products where the user is doing real work; visual decoration distracts.

Premium / luxury brands. Restraint reads as confidence; decoration reads as trying too hard.

Mature products. Once a product has accumulated complexity, restraint is the corrective.

International audiences. Restrained designs translate more cleanly across cultures than richly decorated ones.

When too much restraint becomes a problem

Restraint can be overdone:

Coldness. Pure restraint without warmth can feel sterile. Combine with selective imperfection.

Loss of brand identity. A maximally restrained product may not differentiate. Some products need character; restraint alone doesn't provide it.

Over-stripping for aesthetic. Removing things users actually need because "restraint." Function still matters.

Interface that doesn't communicate. A button with no visible affordance because "restraint." Users need cues to interact.

The line between elegant restraint and stark coldness is real. Calibrate based on the product's purpose.

Worked examples

A reading-focused content site

A long-form content site uses extreme restraint:

  • Single column of text, generous margins.
  • Two typefaces (a body serif and a display serif).
  • Minimal chrome (a small header, no sidebar, no footer ads).
  • Generous whitespace around images and pull quotes.
  • No autoplay video, no popup, no scroll-triggered effects.

The restraint serves reading. The user can focus on the content; the design steps back. This is restraint as functional virtue.

A SaaS dashboard with restraint

A SaaS dashboard uses restraint in its design system:

  • Five colors with clear roles (primary, secondary, success, warning, error).
  • One typeface in three weights.
  • Consistent spacing on a single scale.
  • Cards with subtle backgrounds rather than borders.
  • No animation other than functional state changes.

The dashboard reads as professional and considered. New features can be added without fighting decoration; the design system has room.

A product that strips too much

A productivity app aggressively simplifies: removes labels under icons; removes button borders; uses very low color contrast for "subtle" feel. The result: users can't tell what's clickable, can't read low-contrast text, can't navigate. The restraint went past elegance into dysfunction.

The fix: restore enough cues for the interface to communicate. Restraint is a means, not an end.

A meditation app combining restraint and warmth

A meditation app uses restraint in its primary chrome (clean layout, generous whitespace, single typeface) but adds warmth in selected moments (hand-drawn opening illustration, occasional watercolor textures, warm color palette).

The combination is the right register: restraint for function, warmth for emotional moments. Both halves of wabi-sabi working together.

A landing page with restraint

A startup's landing page has:

  • A single headline.
  • A subhead.
  • A single CTA button.
  • An image (or no image).
  • Minimal navigation.

That's it. No animated background, no scrolling effects, no testimonial carousel, no fold-after-fold of features. The restraint reads as confidence: the product speaks for itself.

This is the opposite of the typical maximalist landing page. Both can work; restrained landing pages tend to age better and convert better for considered purchases.

Anti-patterns

Restraint at the cost of communication. Removing labels, lowering contrast, removing affordances. The interface stops working.

Cold restraint without warmth. Pure minimalism with no human touch. Reads as institutional or sterile.

Restraint as default styling. Stripping things by reflex without considering whether they were earning their place.

Restraint that doesn't extend to features. A visually-restrained product crammed with features. The visual restraint is undermined by feature complexity.

Restraint inconsistent with audience. A startup using ultra-restrained design when its audience expects energy and personality.

Confusing minimal with simple. A minimal-looking interface that's actually deeply complex (just hidden behind layers of disclosure). True restraint extends through the design, not just the surface.

Heuristic checklist

When applying restraint, ask: Does each element earn its place? If not, remove it. Is whitespace doing design work? Generous whitespace can carry meaning. Are there too many colors / typefaces / styles? Reduce to the minimum that serves. Is the restraint coming at the cost of function? Communication should not be sacrificed for aesthetic. Is restraint balanced with appropriate warmth? Pure restraint can be cold; combine with selective wabi-sabi imperfection.

Related sub-skills

  • wabi-sabi — parent principle on imperfection and restraint.
  • wabi-sabi-imperfection — sibling skill on the warmth-through-imperfection half.
  • signal-to-noise-ratio — restraint maximizes signal.
  • ockhams-razor — the razor and restraint align: prefer simpler when equivalent.
  • form-follows-function — restraint helps form follow function.

See also

  • references/restraint-checklist.md — practical checklist for applying restraint to existing designs.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Wabi Sabi Restraint AI skill do?

Apply wabi-sabi restraint — the discipline of leaving things out, of resisting decoration, of letting empty space and silence do design work. Use when designing reading-focused interfaces, paring back accumulated clutter, choosing between decoration and absence, or evaluating whether each element earns its place. Restraint is the often-overlooked half of wabi-sabi: the imperfection side gets attention, but the principle is equally about modesty and the elegance of what's not there.

Why use Wabi Sabi Restraint on TypingMind?

Because you install it once and use it with any model. Wabi Sabi Restraint is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Wabi Sabi Restraint in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Deibler/universal-design-principles/tree/main/plugins/aesthetics-and-emotion-principles/skills/wabi-sabi-restraint. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Wabi Sabi Restraint?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Wabi Sabi Restraint?

As many as you like. As long as a model supports skills, you can use Wabi Sabi Restraint with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Wabi Sabi Restraint AI skill free?

It is published on GitHub by Deibler. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇