CommunityRecherche & Datenanalysegithub.com

design-tally

Zähle verbotene Designmuster in UI-Arbeiten und melde die Anzahl, bevor du etwas präsentierst. Verwende dies für Anti-Slop, Ent-Slop oder ‚Vermeide KI-Slop‘-Anfragen; für Design-Lint, Audits, Kritiken, Überprüfungen oder Aufräumarbeiten; und wann immer du UI erstellst oder überarbeitest – Screens, Seiten, Komponenten, Mockups, Designcode, CSS/Tailwind/JSX oder Paper/Figma-Arcboards – inklusive Redesigns, Polierdurchgänge und Multi-Varianten-Erkundungen. Wird ausgelöst durch ‚vermeide KI-Müll‘, ‚kein Müll‘, ‚entmüllen‘, ‚sieht das generisch aus‘, ‚sieht das nach KI aus‘.

Was ist design-tally?

Design Tally ist ein Werkzeug, das die Anzahl verbotener Designmuster in UI-Arbeiten zählt und meldet, bevor etwas präsentiert wird. Es unterscheidet sich von anderen Anti-Slop-Fähigkeiten, die Prinzipien formulieren, welche leicht umgangen werden können: Dieses System macht die Umgehung sichtbar, indem es einen zählbaren Nachweis erzwingt. Es unterstützt Code-basierte UI (z. B. CSS/Tailwind/JSX) über ein Python-Skript, das sechs der elf Regeln automatisch prüft. Für Design-Tools wie Paper oder Figma sowie für die verbleibenden Regeln (7–11) ist eine manuelle Zählung erforderlich. Entwickler und KI-Agenten müssen vor jeder Präsentation eine Tabelle mit allen Regeln einschließlich der Nullwerte vorlegen, um sicherzustellen, dass die Prüfung tatsächlich stattgefunden hat. Das Tool wird durch Schlüsselwörter wie ‚vermeide KI-Müll‘ oder ‚entmüllen‘ ausgelöst und ist sowohl für Erstentwürfe als auch für Redesigns und Polierdurchgänge nützlich.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yus-mat/skills/tree/HEAD/design-tally

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Design Tally

Ein Zähldurchgang, kein Geschmacksratgeber. Andere Anti-Slop-Fähigkeiten formulieren Prinzipien; Prinzipien werden eine Rechtfertigung nach der anderen umgangen. Diese Fähigkeit macht die Umgehung sichtbar, indem sie einen Zählzwang einführt.

Warum es dies gibt

Ein echter Fehler, aus dem diese Fähigkeit entstanden ist: In einer Sitzung wurden acht Designvarianten erstellt, die alle eine kleine, gesperrte Großbuchstaben-Beschriftung für Überschriften verwendeten. Jedes Vorkommen hatte eine lokale Rechtfertigung, die im Moment vernünftig klang. Niemand hat sie zusammengezählt. Die Summe betrug 37, verteilt auf fünf Varianten, die als visuell unterschiedlich präsentiert worden waren. Das zugrundeliegende Prinzip („Nutze Hierarchie vor Beschriftungen“) war geladen und die ganze Zeit verfügbar.

Ein Zähler ist nicht umgehbar, wie ein Urteil es sein kann. Führe den Zähler aus.

Die Regel

Bevor du UI-Arbeit präsentierst – jedes Mal, ohne Ausnahme – erstelle die folgende Zähltabelle und füge sie der Nachricht bei. Keine Zusammenfassung davon. Die Tabelle mit Zahlen.

Wenn ein Zähler über Null liegt, behebe es entweder oder schreibe die spezifische Rechtfertigung für jedes Vorkommnis. „Es fühlte sich hier richtig an“ ist keine Rechtfertigung. Wenn dasselbe Muster über mehrere Screens oder Varianten hinweg auftritt, ist das der Befund, unabhängig davon, wie jedes Vorkommnis für sich allein gelesen wird.

Melde den Zähler niemals als sauber, ohne die Ausgabe tatsächlich überprüft zu haben. Lese das Markup oder die Styles; schließe nicht aus dem Gedächtnis, was geschrieben wurde.

Verbotene Muster

Harte Verbote. Diese sind nicht verfügbar, es sei denn, der Benutzer fordert sie im aktuellen Request explizit namentlich an. Ein Design-Brief, der sie deklariert, ist nicht ausreichend.

#MusterErkennung
1Gesperrte oder monospace GROSSBUCHSTABEN-Brauentext-transform: uppercase UND (Monospace-Familie ODER letter-spacing >= 0.05em)
2Monospace auf ProsaMono-Familie auf einer Zeichenkette, die kein Code, kein Literalwert, kein Bezeichner und keine Zahl ist
3Überschriften-Gewicht 700 oder schwererÜberschrift oder Anzeigetext bei font-weight >= 700
4Kursive Anzeigeschriftfont-style: italic bei Überschrift- oder Anzeigegrößen
5Rahmen und Schatten auf einem ElementSowohl border als auch box-shadow auf demselben Knoten
6Führender Punkt in einer PilleKreis, Punkt oder kleine gefüllte Form als erstes Kind einer Pille, eines Chips, Abzeichens oder Tags
7Lucide-IconsDas Lucide-Set oder handgezeichnetes SVG, das seine Formen reproduziert (1,5px Strichstärke, abgerundete Enden, 24x24 geometrische Glyphen). Handzeichnung konvergiert standardmäßig auf Lucide – nimm an, dass jedes handgezeichnete Icon ein Verstoß ist, bis es gegen das genehmigte Set geprüft wurde

Gezählt und pro Vorkommnis begründet, nicht pauschal verboten:

#MusterErkennung
8TrennlinienZähle jede Linie, Haarlineal und Border-als-Trenner pro Bildschirm. Jede benötigt einen Grund, warum Weißraum oder Nähe nicht ausgereicht hätten
9Container-KartenZähle jedes umrandete oder gefüllte Feld pro Bildschirm. Markiere jede, die direkt in einer anderen verschachtelt ist
10Überschüssiger TextProsa, die wiederholt, was ein benachbarter Wert, ein Label oder ein Zustand bereits mitteilt
11Gleicher Slot über Varianten hinwegBeim Erstellen von N Varianten, die als unterschiedlich präsentiert werden: Jeder Slot – Abschnitts-Label, Footer, Header, Buttonform, Abstandsrhythmus – wird in allen N identisch gerendert

Regel 11 ist die variantenübergreifende Prüfung. Vergleiche denselben Slot über jede Variante hinweg, bevor du einen Satz präsentierst. Unterschiedliche Stimmungen mit identischer Label-Behandlung sind keine unterschiedlichen Varianten.

Icons

Genehmigtes Set: Phosphor. Verwende es anstatt Glyphen von Hand zu zeichnen.

Bevor du ein Icon hinzufügst, frage, ob es Informationen trägt, die ein Wort nicht vermitteln könnte. Wenn ein Textlabel funktioniert, verwende das Textlabel.

Den Linter ausführen

Für UI, die als Code vorliegt, führe das Skript vor dem manuellen Zählen aus:

python3 ~/.claude/skills/design-tally/scripts/tally.py <pfad> [--json] [--quiet]

Es deckt die Regeln 1–6 ab und gibt die Zähltabelle aus. Der Exit-Code ist nur 1, wenn eine beweisbare Regel (1, 5, 6) einen Treffer hat, sodass es einen Hook oder CI-Schritt absichern kann, ohne bei Kandidaten zu scheitern.

Die Regeln 2, 3 und 4 werden als Kandidaten gemeldet, nicht als Verstöße – das Skript kann eine Mono-Familie oder ein 700er-Gewicht sehen, aber nicht Prosa von Code oder eine Überschrift von einem Label unterscheiden. Klassifiziere jeden Kandidaten selbst und teile mit, wie du entschieden hast.

Das Skript kann die Regeln 7–11 nicht sehen und Paper- oder Figma-Arcboards überhaupt nicht lesen. Für Design-Tool-Arbeiten zähle von Hand, indem du get_jsx oder das Äquivalent verwendest – niemals von einem Screenshot und niemals aus dem Gedächtnis dessen, was du geschrieben hast.

Ein sauberer Skript-Durchlauf ist kein sauberer Zähler. Er deckt 6 von 11 Regeln ab – und das auch nur bei Code.

Ausgabeformat

Berichte jede Regel, auch die bei Null – eine Null ist eine Information, und nur die Treffer aufzulisten verdeckt, ob der Durchlauf tatsächlich stattfand.

Design-Zähler
| Regel | Anzahl | Wo |
|-------|--------|----|
| 1 Brauen              | 0  | — |
| 2 Mono auf Prosa      | 2  | Bildunterschrift unter Hero; Leerzustandszeile |
| ...                   |    |   |

Dann: Korrigiere jeden Wert über Null oder gib die pro Vorkommnis spezifische Rechtfertigung an.

Hinzufügen zu dieser Liste

Wenn der Benutzer ein neues Muster identifiziert, füge es der Tabelle mit einer Erkennungsregel hinzu, die spezifisch genug zum Zählen ist. Wenn es nicht als erkennbare Bedingung formuliert werden kann, gehört es in eine Prinzipien-Fähigkeit, nicht in diese.

Verwandte Skills