kemiljk/skills

subtractive-design

Simplify noisy interfaces and evaluate whether proposed UI additions serve a concrete user need.

First seen Jul 27, 2026

Installation

$ npx skills add kemiljk/skills --skill subtractive-design

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from kemiljk/skills · top by installs.

npx skills add kemiljk/skills

Browse all from kemiljk/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 28
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseMIT

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,753 B
  • docs SUMMARY.md 122 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 24 installs

SKILL.md

Subtractive Design

Design is subtractive. Absence creates hierarchy, calm, and focus. Adding feels productive; removing is usually the harder and better move.

Defaults

  1. Require a demonstrable purpose for every element, token, and interaction.
  2. Prefer fewer decisions for the user at each step.
  3. Use space, silence, and restraint as active design materials.
  4. Hide necessary complexity rather than celebrating it.
  5. Cut anything that exists only because it was easy to generate.

Prefer / Reject

Prefer Reject
Clear primary action Equal-weight button forests
Progressive disclosure Showing every option up front
Shared tokens and patterns One-off flourishes per screen
Defaults that remove setup Preference panels for undecided design
Calm empty space Filling space because it is empty

Process

  1. List what the screen must accomplish.
  2. Mark every element that does not serve that list.
  3. Remove or demote the marked set.
  4. Recheck whether the remaining pieces still need labels, chrome, or motion.
  5. Stop when further removal would hide a needed decision or affordance.

Review checklist

  • Can any control be removed without harming the task?
  • Is there a single clear primary action?
  • Are secondary actions visually secondary?
  • Is any copy repeating what the UI already shows?
  • Are decorative layers earning their keep?
  • Would a quieter version communicate the same intent faster?

Source essays

  • Beauty comes from absence
  • Designing the invisible
  • Hygge in interface design