Przejdź do treści
Biblioteka skilli
Projektowanie i UX · Przegląd i audyt

signal-to-noise-ratio

/signal-to-noise-ratio

Pomaga ocenić projekty, w których za dużo albo za mało treści wizualnych walczy o uwagę, w dashboardach, tabelach, ustawieniach, wykresach i stronach marketingowych.

Licencja
MIT
Ostatnia zmiana repozytorium
03.05.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
0
Komentarze HTML
4
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 03.05.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co sprawdzić przed instalacją
  • SKILL.md zawiera komentarze HTML (4). Nie widać ich w podglądzie Markdown, a model je czyta.

Co robi i kiedy

Pomaga ocenić projekty, w których za dużo albo za mało treści wizualnych walczy o uwagę, w dashboardach, tabelach, ustawieniach, wykresach i stronach marketingowych.

Wyzwalacze z opisu

feels noisy,looks busy,feels cluttered,feels empty,passes
Oryginalny opis (EN)

Use this skill whenever a design has too much or too little visual content competing for attention — when a screen "feels noisy," "looks busy," "feels cluttered," "feels empty," or when the user can''t find the meaningful information amid decoration. Trigger when reviewing dashboards, data tables, settings pages, marketing surfaces, or any layout under critique. Trigger when designing chart axes/legends/grids, when picking icon density, when deciding whether to add a divider/border/illustration, or when a design "passes" the requirements but doesn''t feel right. Signal-to-Noise Ratio is the di

Jak działa

  1. Definition (in our own words)
  2. Origins and research lineage
  3. Why SNR matters
  4. When to apply
  5. When NOT to apply (or when to be careful)
  6. What counts as signal vs. noise
  7. How to raise SNR
  8. Worked examples
  9. Anti-patterns
  10. Heuristics
Sekcje z nagłówków SKILL.md, w oryginale · 199 linii, 2 072 słów
Podgląd SKILL.md
---
name: signal-to-noise-ratio
description: 'Use this skill whenever a design has too much or too little visual content competing for attention — when a screen "feels noisy," "looks busy," "feels cluttered," "feels empty," or when the user can''t find the meaningful information amid decoration. Trigger when reviewing dashboards, data tables, settings pages, marketing surfaces, or any layout under critique. Trigger when designing chart axes/legends/grids, when picking icon density, when deciding whether to add a divider/border/illustration, or when a design "passes" the requirements but doesn''t feel right. Signal-to-Noise Ratio is the discipline of subtraction; this skill teaches what counts as signal vs. noise, how to audit and reduce noise, and the trade-offs of overcorrecting.'
---

# Signal-to-Noise Ratio

Signal-to-Noise Ratio (SNR) is the proportion of meaningful information to irrelevant or decorative content in a composition. The principle, borrowed from communications engineering, asserts that comprehension and aesthetic quality both improve as SNR rises — every visible element that doesn't carry meaning competes with the elements that do.

## Definition (in our own words)

In a design, *signal* is anything that helps the viewer accomplish their task or understand the content: data, labels, controls, focal imagery, navigation paths, and the typographic and spatial structure that makes them legible. *Noise* is anything else: decorative borders that don't separate meaningful groups, illustrations unrelated to the content, repeated branding marks, gratuitous gradients, drop shadows on cards that don't elevate, status icons next to fields that have no status, hover effects on non-interactive elements. A high-SNR design strips away noise so the signal can land. A low-SNR design buries the signal in chrome.

## Origins and research lineage

- **Information theory** (Shannon, 1948) gave us the SNR ratio as a measurable property of communication channels. The more noise on a channel, the more redundancy required to transmit a message reliably.
- **Edward Tufte's *data-ink ratio*** (*The Visual Display of Quantitative Information*, 1983) translated this into design vocabulary: maximize the ratio of ink that conveys information to total ink on the page; "erase non-data-ink, within reason."
- **Modern minimalist design movements** (Swiss design, Dieter Rams' "Less, but better") have applied the same discipline to product design at large.
- **Cognitive load theory** explains why low SNR is costly: every visible element is processed, however briefly, by the viewer's perceptual system. Noise consumes attention even when consciously ignored.

## Why SNR matters

A composition with high SNR feels effortless — the viewer reads it without working. A composition with low SNR feels exhausting in ways the viewer often can't articulate. They report it as "busy" or "overwhelming" or "cluttered," but the underlying mechanism is preattentive: the eye is constantly evaluating elements, and unproductive elements steal effort that could go to signal.

Low SNR also degrades the meaningful elements. A status badge is informative when it's the only colored element in a row; the same badge in a row of three other colored chips and an illustration becomes part of the visual texture and stops registering.

## When to apply

- **Always**, as a final pass: after a draft is functionally complete, audit for noise.
- **Particularly on dashboards, data tables, settings, and admin UIs** — surfaces where users return repeatedly and noise compounds.
- **When the design "feels right" in a mockup but cluttered in production** — usually because real data is messier than sample data, and accumulated chrome was tolerable in the mockup but isn't in use.
- **When users describe the UI as "overwhelming" or "I don't know where to look"** — these are SNR diagnoses.

## When NOT to apply (or when to be careful)

- **Marketing and brand surfaces** sometimes need elements that aren't strictly informational — atmosphere, character, illustration. Low SNR is sometimes the *point* (a luxury hero image isn't supposed to read as "data"). Apply SNR within the goals of the surface, not as a universal subtraction rule.
- **Empty states** can use illustration to set tone; an absolutely empty empty-state may read as broken.
- **Complete sterility** can also be a failure mode — a UI so stripped that it loses character or warmth. SNR is not minimalism for minimalism's sake.

## What counts as signal vs. noise

The distinction is **always relative to the user's task**. The same element can be signal on one surface and noise on another.

| Element | Signal when… | Noise when… |
|---|---|---|
| Border on a card | The card needs to be distinguished from surrounding content | Proximity already does the grouping work |
| Drop shadow | The element actually floats above context (popover, modal) | Applied to inert content (a card sitting on the page) |
| Illustration | It teaches, illustrates, or sets emotional tone for the moment | It fills space because the page felt empty |
| Status icon | Status varies and matters | Status is always the same or rarely changes |
| Background gradient | It separates a region or sets atmosphere | It's "polish" with no role |
| Divider | The two regions need stronger separation than spacing alone provides | Spacing already does the work |
| Color swatch | It encodes meaning the user must recognize | Brand decoration |
| Animated transition | It signals state change (open/close, success) | Eye-candy that interrupts focus |

The audit question is always: *if I removed this, would the user lose information they need?* If no, it's noise.

## How to raise SNR

A practical four-step audit:

### 1. Strip every border, then put back only the borders that serve

Most UIs have too many borders. Lines around cards, lines between rows, lines around inputs, lines around containers of inputs. Many of these are redundant — proximity, alignment, and background tint already group the content.

Procedure: in your CSS, set `* { border: 0 !important; }` temporarily. Look at the page. What broke? Anywhere structure collapsed, you needed the border. Restore those. Anywhere the page is fine without it, leave the border off.

### 2. Strip every shadow and gradient, then put back only the ones that earn

Shadows are particularly easy to overuse. Default `shadow-sm` on every card, `shadow-md` on every popover, `shadow-2xl` on every dialog. A sea of shadowed elements feels like a toy box.

Reserve shadows for genuine elevation: a popover floating above content, a sticky header that needs to recess content under it, a dragged item that lifts.

### 3. Strip every icon that isn't load-bearing

Icons should make ambiguity disappear or save text space. An icon next to "Save" doesn't reduce ambiguity (the word is unambiguous) and doesn't save space (the button has the word too). Strip it.

Icons earn their pixels when:

- They replace text in space-constrained chrome (toolbar, tab bar, mobile nav).
- They disambiguate (a sparkle on "AI suggest" tells you the action is AI-assisted, which "Suggest" alone wouldn't).
- They encode status (a check, a warning triangle) where the user scans for state.

### 4. Strip every duplicate signal

If status is encoded in color, icon, *and* text, you have redundancy. Sometimes redundancy is correct (accessibility — color-blind users need a non-color signal). But if all three signals are firing for a low-stakes piece of metadata, you're spending three signals where one would do.

## Worked examples

### Example 1: a dashboard tile (before / after)

**Low SNR (before):**

```html
<div class="kpi-tile" style="
  border: 1px solid hsl(0 0% 88%);
  border-radius: 0.75rem;
  padding: 1.5rem;
  background: linear-gradient(180deg, hsl(0 0% 99%), hsl(0 0% 96%));
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
">
  <div style="display: flex; align-items: center; gap: 0.5rem;">
    <div style="background: hsl(220 90% 95%); padding: 0.5rem; border-radius: 0.5rem;">
      <DollarIcon style="color: hsl(220 90% 50%);" />
    </div>
    <p style="font-size: 0.875rem; color: hsl(0 0% 35%); font-weight: 500;">
      MONTHLY REVENUE
    </p>
  </div>
  <p style="font-size: 2.5rem; font-weight: 600; margin-top: 1rem;">$48,200</p>
  <div style="display: flex; align-items: center; gap: 0.25rem; margin-top: 0.5rem;">
    <ChevronUpIcon style="color: hsl(142 70% 35%);" />
    <p style="color: hsl(142 70% 35%); font-size: 0.875rem;">12% vs last month</p>
  </div>
  <hr style="margin: 1rem 0;" />
  <p style="font-size: 0.75rem; color: hsl(0 0% 60%);">Last updated 3 minutes ago</p>
</div>
```

Audit: gradient (noise), shadow on inert card (noise), icon-in-tinted-square next to label (decoration, not load-bearing), divider before metadata (proximity does this for free).

**High SNR (after):**

```html
<div class="kpi-tile" style="border: 1px solid hsl(0 0% 92%); border-radius: 0.5rem; padding: 1.5rem;">
  <p style="font-size: 0.8rem; color: hsl(0 0% 45%);">Monthly revenue</p>
  <p style="font-size: 2.5rem; font-weight: 600; margin-top: 0.25rem; font-variant-numeric: tabular-nums;">$48,200</p>
  <p style="color: hsl(142 70% 30%); font-size: 0.875rem; margin-top: 0.25rem;">↑ 12% vs last month</p>
  <p style="font-size: 0.75rem; color: hsl(0 0% 60%); margin-top: 1rem;">Last updated 3 minutes ago</p>
</div>
```

Same information, half the visual weight. The number — the actual signal — dominates.

### Example 2: a chart (Tufte-style data-ink discipline)

**Low SNR:** chart with thick axis lines, every gridline labeled, 3D bars, drop shadows, gradient bar fills, legend repeated in tooltip, axis title in 18px bold.

**High SNR:** thin axis lines (or none), gridlines only at major intervals (light grey), flat bars, single-color fills, axis title in 12px lowercase, label values directly on bars when there are <8 of them.

```html
<svg viewBox="0 0 320 200">
  <!-- subtle baseline only -->
  <line x1="40" y1="180" x2="310" y2="180" stroke="hsl(0 0% 80%)" stroke-width="1" />
  <!-- bars, flat fill -->
  <rect x="50" y="80" width="30" height="100" fill="hsl(220 70% 50%)" />
  <rect x="100" y="60" width="30" height="120" fill="hsl(220 70% 50%)" />
  <rect x="150" y="100" width="30" height="80" fill="hsl(220 70% 50%)" />
  <rect x="200" y="40" width="30" height="140" fill="hsl(220 70% 50%)" />
  <!-- value labels above bars (replace the y-axis entirely) -->
  <text x="65" y="72" font-size="10" text-anchor="middle">42</text>
  <text x="115" y="52" font-size="10" text-anchor="middle">58</text>
  <text x="165" y="92" font-size="10" text-anchor="middle">31</text>
  <text x="215" y="32" font-size="10" text-anchor="middle">71</text>
  <!-- x labels -->
  <text x="65" y="195" font-size="10" text-anchor="middle" fill="hsl(0 0% 45%)">Q1</text>
  <text x="115" y="195" font-size="10" text-anchor="middle" fill="hsl(0 0% 45%)">Q2</text>
  <text x="165" y="195" font-size="10" text-anchor="middle" fill="hsl(0 0% 45%)">Q3</text>
  <text x="215" y="195" font-size="10" text-anchor="middle" fill="hsl(0 0% 45%)">Q4</text>
</svg>
```

The signal here is four numbers (Q1–Q4 values) and their relative magnitudes. Everything else is at the bare minimum needed to read them.

### Example 3: a settings page

A common low-SNR pattern: every setting wrapped in its own card, every section heading colored in brand, every help text in a tinted callout box, "save" buttons under every section.

A high-SNR settings page uses one or two `Card` containers per section (proximity does the rest), section headings in normal text weight at the top of each section, help text in dim grey under the field it concerns, and a single "Save changes" button at the bottom (or auto-save with toast confirmation).

## Anti-patterns

- **The brand-everywhere page.** Every available surface tinted with the brand color, every separator in brand. The brand becomes background noise; users tune it out.
- **The "polish" pass.** A late-stage designer adds shadows, gradients, hover effects, and micro-illustrations to "make it feel more designed." The new chrome reduces SNR; the page loses clarity.
- **The empty-state mascot.** A 400px-tall illustration of a sad cat under three lines of empty-state copy. The illustration is the signal; the actual instruction recedes.
- **The data table with everything bordered.** Cells, rows, columns, and table border all 1px solid. The data is now jail.
- **Decorative redundancy.** A "Bell" icon next to a label that says "Notifications" next to another bell icon next to a section heading "Notification preferences." Pick one.

## Heuristics

1. **The squint test (again).** Squint at the page. Is one thing dominant? If the page is uniformly busy, SNR is low.
2. **The screenshot reduction.** Take a screenshot, scale to 25%. If you can still tell what the page is for and where the actions are, SNR is good. If it looks like noise pixels, low.
3. **The "delete and see" test.** Delete a candidate noise element. Does the page feel diminished? If yes, it was signal. If no, you've improved the page.
4. **The data-ink ratio.** For information graphics specifically: estimate the proportion of ink that conveys data versus chrome. Tufte's heuristic was to push toward 100%; in practice 70%+ is healthy.

## Related principles

- **`hierarchy`** — strong hierarchy raises SNR by making one element carry the message.
- **`proximity`** — proximity reduces the need for borders and dividers (which are often noise).
- **`horror-vacui`** — the impulse to fill empty space, which directly lowers SNR.
- **`highlighting`** — emphasis only works in low-noise environments.
- **`form-follows-function`** (aesthetics) — every form choice should derive from a function; SNR is the operational version.
- **`ockhams-razor`** (cognition / process) — among solutions that work, prefer the simplest.

## Sub-aspect skills

- **`snr-densification`** — when SNR is *too* high (sterile, sparse), how to add signal density without adding noise.
- **`snr-decoration-removal`** — a structured audit method for removing decorative chrome.
- **`snr-emphasis-economy`** — how to spend emphasis (color, weight, size) sparingly so each instance lands.

## Final note

SNR is a discipline of subtraction. The pull toward addition is constant — every stakeholder wants their feature on the dashboard, every designer wants polish, every product manager wants a callout for the new thing. The job of the SNR-aware designer is to keep saying *no* — and *yes* only to the few things that earn their pixels.
Pliki w paczce (2)
  • SKILL.md 14 KB
  • references/data-ink-and-information-design.md 5 KB

Wersje

W bazie nie ma innych skilli o nazwie signal-to-noise-ratio.

Migawka bazy z 28.10.2026 · wersja paczki 5f7be4b850da (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100snr-densification
    Dodaje gęstość sygnału do projektów, które mają za dużo pustej przestrzeni i wyglądają na niedokończone, zwłaszcza w panelach admina, IDE i narzędziach danych.
  • 90snr-decoration-removal
    Przeprowadza uporządkowany audyt interfejsu, aby usunąć elementy dekoracyjne, które nie zasługują na swoje piksele, z listą kontrolną i procedurą.
  • 92distill
    Redukuje interfejs: wycina treści, strukturę, grafiki i martwy kod, które nie odpowiadają na pytanie użytkownika ani nie prowadzą do działania, z uwzględnieniem CRAFT_LEVEL.
  • 90critique-information-density
    Krytykuje gęstość informacji na wyrenderowanym ekranie: obciążenie poznawcze, priorytety treści, wzorce skanowania i stopniowe ujawnianie, gdy ekran przytłacza.
  • 90typography-and-layout
    Pomaga dobierać typografię i komponować układ: parowanie fontów, skale modularne, siatki, białą przestrzeń i hierarchię wizualną w stronach, aplikacjach, slajdach i plakatach.
  • 90information-density
    Projektuje interfejsy, w których gęstość informacji da się regulować, na przykład widok kompaktowy i komfortowy.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.