Communitygithub.com

Razor – Minimales Design

Ein systematischer Ansatz, um den tatsächlichen Bedarf zu ermitteln und Lösungen auf das Nötigste zu reduzieren – für schlanke, wartbare Software.

Was ist Razor – Minimales Design?

Razor ist ein Skill für KI-Agenten wie Claude Code, Cursor oder Codex, der dich dabei unterstützt, Software nach dem Minimalprinzip zu entwerfen. Der Skill führt dich durch zwei Schnitte: Zuerst wird der wahre Bedarf des Benutzers rekonstruiert – weg von der gewünschten Lösung hin zum eigentlichen Problem. Dann wird die Lösung mit Occams Rasiermesser beschnitten: Nur das Nötigste wird umgesetzt, alles Überflüssige (YAGNI, verfrühte Abstraktion, Überverteidigung, Neuerfindung, spekulative Optionen) wird gestrichen. Der Skill liefert eine strukturierte Ausgabe mit den Abschnitten „True need“, „Minimal design“, „Cut as over-design“ und „Keep“. So erhältst du einen schlanken, auf das Wesentliche fokussierten Entwurf, der echte Fehlerbehandlung, Sicherheit und Barrierefreiheit nicht untergräbt.

Funktioniert mit~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add AmosChenZixuan/Agentic-working-contract

In Ihrer bevorzugten KI fragen

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

Dokumentation

Razor

Das richtige Design ist das wenigste, das den tatsächlichen Bedarf des Benutzers vollständig erfüllt – nichts hinzugefügt für Bedürfnisse, die es noch nicht gibt. Zwei Schnitte: Finde den Bedarf, dann passe die Lösung an.

1. Finde den wahren Bedarf. Was Leute verlangen, ist eine Lösung, die sie bereits erreicht haben, nicht der darunterliegende Bedarf – und was sie sagen, ist oft nicht das, was sie denken. Die genannte Anfrage, die vorgestellte Lösung und der tatsächliche Bedarf sind drei verschiedene Dinge. Rekonstruiere den Bedarf aus ersten Prinzipien: Für wen ist das, und was versuchen sie wirklich zu tun, genau jetzt? Du kannst nicht an einem Ziel sparen, das du nicht gefunden hast – wenn es unklar ist, frage nach.

2. Schneide die Lösung auf das Passende zu (Occam). Das richtige Design hat die wenigsten beweglichen Teile, die diesen Bedarf erfüllen; jede zusätzliche Ebene, Option, Abstraktion oder Absicherung kostet – im Bauen, Lesen, Testen, Brechen und Ändern – es sei denn, ein gegenwärtiger Bedarf bezahlt dafür. Um die wenigsten zu finden, halte bei der ersten Stufe an, die trägt:

  • Muss es überhaupt existieren? → nein: lass es weg (YAGNI).
  • Löst es schon etwas – diese Codebasis, die Standardbibliothek, eine Plattformfunktion, eine installierte Abhängigkeit? → verwende es, baue es nicht neu.
  • Kann es eine offensichtliche Sache sein statt eines Systems? → mach es dazu.

Faul bei der Lösung, niemals beim Verständnis des Problems.

Ablauf

  1. Rekonstruiere den wahren Bedarf (Schnitt 1); formuliere ihn in einem Satz.
  2. Leite das minimale Design ab – beginne mit der dümmsten Sache, die funktioniert, füge nur das hinzu, was der Bedarf erzwingt (Schnitt 2).
  3. Vergleiche den Vorschlag damit. Alles Zusätzliche ist ein Kandidat zum Streichen; benenne die rote Flagge (YAGNI, verfrühte Abstraktion, Überverteidigung, Neuerfindung, spekulative Option).
  4. Untertreibe nicht. Lies den Bedarf erneut und füge alles hinzu, was er tatsächlich erfordert. Eng ≠ zerbrechlich – schneide niemals echte Validierung, Fehlerbehandlung, Sicherheit oder Barrierefreiheit weg.

Ausgabe

Verwende diese Vorlage und halte sie kurz – ein Skalpell, kein Aufsatz:

## Wahrer Bedarf
<ein Satz – was der Benutzer wirklich braucht, nicht das, wonach er gefragt hat>

## Minimales Design
<der schmalste Ansatz, der den Bedarf erfüllt>

## Als Überdesign gestrichen
- <Sache> — <rote Flagge + warum kein gegenwärtiger Bedarf sie rechtfertigt>

## Behalten (nicht übermäßig streichen)
<alles, was streichbar aussieht, aber wirklich benötigt wird, damit es später nicht wegfällt.
Diesen Abschnitt weglassen, wenn nichts zutrifft.>

Wenn das Design bereits minimal ist, sag es und höre auf.

Verwandte Skills