mrachny/decision-matrix-skill

Führt durch eine gewichtete Entscheidungsmatrix zur Auswahl zwischen realen Optionen mit mehreren konkurrierenden Faktoren – Jobs, Wohnungen, Städte, Anbieter, Studiengänge, Autos, Einstellungen, Tools, Urlaubsziele – alles, bei dem „einfach das Günstigste nehmen“ nicht ausreicht. Ermittelt die 5–10 wichtigsten Kriterien, gewichtet sie, bewertet, wie gut jede Option jedes Kriterium erfüllt (1–10, mit nachvollziehbarer Begründung pro Zelle), berechnet gewichtete Gesamtwerte und erzeugt sowohl eine Markdown-Tabelle als auch einen eigenständigen interaktiven HTML-Report, in dem Gewichte und Optionen live angepasst werden können.

Was ist decision-matrix-skill?

Diese Skill hilft einem AI-Agenten, eine fundierte, nachvollziehbare Entscheidungsmatrix für jede Situation mit 2–8 Optionen und mehreren, teils gegenläufigen Kriterien zu erstellen. Der Agent ermittelt die tatsächlich relevanten Kriterien (5–10), definiert sie präzise, schlägt passende Gewichte vor und recherchiert dann für jede Kombination aus Option und Kriterium eine Bewertung von 1–10 inklusive Quellenangabe oder Begründung. Auf dieser Basis berechnet er gewichtete Gesamtwerte und präsentiert die Ergebnisse zuerst als übersichtliche Markdown-Tabelle im Chat, bevor er einen interaktiven, eigenständigen HTML-Report generiert. Der Report ermöglicht es dem Nutzer, Gewichte und Optionen live anzupassen und so die Sensitivität des Ergebnisses zu prüfen – ohne dass Daten an einen Server gesendet werden. Die Skill ist für Claude Code, Cursor, Codex und andere KI-Agenten-Plattformen geeignet und reduziert den Aufwand für den Nutzer auf ein Minimum, indem sie alle Schritte von der ersten Abfrage bis zur finalen Auswertung in wenigen Nachrichten bündelt.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mrachny/decision-matrix-skill/tree/HEAD

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Entscheidungsmatrix

Eine gewichtete Entscheidungsmatrix verwandelt „Ich kann mich nicht entscheiden“ in eine vertretbare, überprüfbare Zahl – aber die Zahl ist nur so gut wie die Kriterien, Gewichte und Recherche dahinter. Ihre Aufgabe ist das Denken (was zählt, wie viel, wie gut schneidet jede Option tatsächlich ab), nicht nur das Ausfüllen einer Tabelle. Der HTML-Report am Ende ist ein Nebenprodukt davon, dieses Denken gut zu machen, nicht der Zweck der Übung.

1. Prüfen, ob die Entscheidung zu dieser Methode passt

Diese Methode glänzt bei 2–8 diskreten Optionen und mehreren Kriterien, die in unterschiedliche Richtungen ziehen (günstiger vs. schöner, schneller vs. sicherer). Sie ist übertrieben oder das falsche Werkzeug, wenn:

  • Es wirklich nur einen entscheidenden Faktor gibt („welches ist günstiger“) – dann beantworten Sie das einfach.
  • Es sich um eine Ja/Nein-Entscheidung handelt, nicht um eine Wahl zwischen Alternativen.
  • Der Optionsraum praktisch unbegrenzt ist (z. B. „wo soll ich wohnen“ ohne eine vorläufige Auswahlliste) – helfen Sie der Person, die Liste zunächst einzugrenzen, dann führen Sie die Matrix für die kurze Liste durch.

Wenn es passt, sagen Sie es kurz und machen Sie weiter – zwingen Sie die Person nicht, die Verwendung einer Entscheidungsmatrix vor Ihnen zu rechtfertigen.

2. Einmalige Nachricht zur Aufnahme – kein Feld-für-Feld-Interview

Nacheinander zu fragen „Was ist die Entscheidung?“, dann „Was sind die Optionen?“, dann „Was ist Ihnen wichtig?“, dann die Gewichtung jedes Kriteriums einzeln, macht aus einer 2-minütigen Entscheidung einen 15-Nachrichten-Marathon. Fragen Sie nach der Entscheidung, den Optionen und einer groben Priorisierung zusammen in einer Nachricht, und geben Sie ein Beispiel, damit die Person weiß, wie wenig Aufwand eine gute Antwort erfordert:

„Worüber entscheiden Sie, was sind die Optionen, und was ist Ihnen am wichtigsten – grob ist völlig in Ordnung, ich mache daraus einen sauberen Vergleich. Z.B.: 'Ich entscheide mich zwischen 3 Jobangeboten – Acme, Globex und meinem aktuellen Job (Initech). Mir ist vor allem Gehalt wichtig, wie viel ich lernen würde, und dass der Arbeitsweg nicht brutal ist.'“

Wenn die Antwort dünn ist (nur die Optionen, keine Prioritäten), ist das in Ordnung – fahren Sie mit Schritt 3 fort und schlagen Sie Prioritäten vor, anstatt erneut zu fragen.

3. Einen bearbeitbaren Entwurf vorschlagen – Kriterien, Definitionen und Gewichte zusammen

Sammeln Sie nicht erst Kriterien und dann separat Gewichte. Recherchieren Sie, was typischerweise bei dieser Art von Entscheidung zählt (ein Jobangebot und eine Wohnung haben nicht die gleichen Kriterien) und geben Sie einen vollständigen Entwurf zurück – 5–10 Kriterien, jedes mit einer einzeiligen Definition und einem vorgeschlagenen Gewicht (1–10) – den die Person in einem Durchgang bearbeiten kann, anstatt ihn aus einem Brainstorming auf der grünen Wiese aufzubauen oder nach jedem einzelnen zu fragen. Lehnen Sie sanft ab (immer noch innerhalb dieses einen Entwurfs, bitten Sie nicht zuerst um Erlaubnis), wenn die eigene Liste der Person über ~10 hinausgeht – führen Sie diejenigen zusammen oder streichen Sie sie, die sich gegenseitig wiederholen.

Lassen Sie die Person in der für sie einfachsten Form antworten – einer Zahl oder einfach „hoch/mittel/niedrig“ (grob auf 9/6/3 abbilden) – und akzeptieren Sie eine Antwort so kurz wie „sieht gut aus“ oder „Streich Pendeln, erhöhe Gehalt auf 10.“ Beispiel für das, was Sie senden könnten:

„Hier ist ein Entwurf zum Vergleich von Jobangeboten – bearbeiten Sie eine Zeile, fügen Sie eine hinzu/entfernen Sie eine, oder sagen Sie einfach ‚sieht gut aus‘:

KriteriumBedeutungWichtigkeit (1–10)
GehaltGesamtvergütung (Gehalt + Bonus + Aktien), erstes Jahr9
EntwicklungWie viel ich in dieser Rolle lerne/wachse8
PendelzeitTür-zu-Tür-Zeit, an einem durchschnittlichen Tag6
StabilitätWie wahrscheinlich es ist, dass die Rolle/das Unternehmen in 2 Jahren noch existiert7
Team & KulturWie gut die Leute und das tägliche Umfeld wirken7

Soll noch etwas dazu – wie Krankenversicherung oder Remote-Flexibilität?“

Zwei Dinge sind wichtiger, als die Leute erwarten, sobald der Entwurf bestätigt ist:

  • Behalten Sie die Definition jedes Kriteriums bei, lassen Sie sie nicht auf ein bloßes Etikett schrumpfen. „Entwicklung“ ist mehrdeutig; „Entwicklung = wie viel ich in dieser Rolle im ersten Jahr lernen würde“ ist bewertbar. Ohne diese Definition werden Ihre eigenen Bewertungen inkonsistent über die Optionen hinweg schwanken.
  • Achten Sie auf Kriterien, die dasselbe zugrundeliegende Ding doppelt zählen (z. B. „Gehalt“ und „finanzielle Sicherheit“ fallen oft in einen Faktor) – sie zusammenzuführen hält die Gewichte ehrlich.

4. Festlegen und weitermachen

Eine Bearbeitungsrunde ist normalerweise genug – sobald die Person bestätigt (oder keinen Einwand erhebt), behandeln Sie Kriterien, Definitionen und Gewichte als festgelegt und kommen Sie direkt zur Recherche in Schritt 5. Fragen Sie nicht erneut nach Bestätigung von Zahlen, die Sie bereits gezeigt haben; wenn Sie später etwas ändern müssen (z. B. stellt sich ein Kriterium als nicht bewertbar heraus), sagen Sie, was Sie ändern und warum, anstatt den gesamten Entwurf zur Genehmigung wieder zu öffnen.

5. Jede Options-×-Kriterium-Zelle recherchieren und bewerten (1–10)

Dieser Schritt ist die eigentliche Arbeit und der Punkt, an dem ein Agent seinen Wert gegenüber einer einfachen Vorlage beweist. Für jede Zelle:

  • Recherchieren Sie tatsächlich – verwenden Sie Suche/Tools, um die relevanten Fakten zu finden (Preis, Spezifikation, Bewertung, Gehaltsdaten, Rezension, Richtlinie), bevor Sie bewerten. Erfinden Sie keine präzise klingende Zahl aus dem Bauch heraus.
  • Verankern Sie die Skala innerhalb eines Kriteriums konsistent. Entscheiden Sie, was 1 und 10 für dieses Kriterium bedeuten (z. B. „10 = günstigste dieser Optionen“ oder „10 = erfüllt alle Muss-Kriterien“), bevor Sie die erste Option bewerten, und halten Sie diesen Anker über alle Optionen hinweg, sodass die Bewertungen vergleichbar sind. Schreiben Sie diesen Anker einmal pro Kriterium in Ihren eigenen Notizen auf.
  • Geben Sie eine einzeilige Begründung pro Zelle mit Angabe der Tatsache oder Quelle hinter der Zahl. Diese Begründung macht den Report vertrauenswürdig und wird im HTML-Report im „Warum“-Umschalter angezeigt.
  • Sagen Sie, wenn Sie raten. Einige Kriterien sind wirklich subjektiv (z. B. „Begeisterung“, „Bauchgefühl“) oder schlecht dokumentiert. Bewerten Sie diese anhand des eigenen, geäußerten Urteils der Person und kennzeichnen Sie in der Begründung, dass es subjektiv/unbestätigt ist, anstatt es mit falscher Genauigkeit darzustellen. Erfinden Sie niemals eine Quelle.

6. Gewichteten Gesamtwert berechnen

Für jede Option: gewichteter_wert = Σ(Gewicht_i × Bewertung_i) / Σ(Gewicht_i), ein normalisierter Durchschnitt auf der Skala 1–10. Dies hält den Gesamtwert auf derselben 1–10-Skala wie die Eingaben, was eine einfache Plausibilitätsprüfung ermöglicht.

7. Zuerst die Markdown-Tabelle liefern

Bevor Sie den HTML-Report erstellen, zeigen Sie das Ergebnis im Chat als eine Tabelle an: Optionen als Zeilen, sortiert von der besten zur schlechtesten, Kriterien als Spalten (nur Bewertung, damit es lesbar bleibt) und eine letzte Spalte für den gewichteten Gesamtwert. Fügen Sie 2–3 Sätze hinzu, in denen Sie die beste Option, den Zweitplatzierten und den einzelnen größten Faktor nennen, der sie trennt – und weisen Sie deutlich darauf hin, wenn die beiden besten Optionen so nah beieinander liegen, dass der „Gewinner“ eigentlich ein Kopf-an-Kopf-Rennen ist.

8. Den interaktiven HTML-Report erstellen

Schreiben Sie eine JSON-Datendatei, die dem folgenden Schema entspricht, und führen Sie dann aus:

python3 scripts/build_report.py data.json report.html

Dies injiziert Ihre Daten in die Engine von assets/report_template.html und schreibt eine einzelne, eigenständige report.html (kein Server, keine externen Ressourcen außer einer Google-Schriftart – sie funktioniert durch Doppelklick auf die Datei). Das Skript validiert die Daten und gibt eine spezifische Fehlermeldung aus, wenn etwas fehlt oder außerhalb des Bereichs liegt.

Datenschema

{
  "meta": {
    "title": "Welche Wohnung soll ich mieten?",
    "subtitle": "Vergleich von 4 Angeboten im selben Viertel",
    "description": "Ein oder zwei kurze, einfache Sätze als Kontext. Wird unter dem Titel angezeigt.",
    "direction": "ltr",
    "credit": "Entscheidungsmatrix von <Ihr Name>",
    "credit_url": "https://github.com/mrachny/decision-matrix-skill"
  },
  "criteria": [
    { "id": "miete", "label": "Monatsmiete", "description": "10 = günstigste der vier, 1 = teuerste.", "weight": 9 }
  ],
  "options": [
    { "id": "optA", "label": "Wohnung Ulmenstraße", "included": true }
  ],
  "scores": { "optA": { "miete": 7 } },
  "notes": { "optA": { "miete": "5.200 NIS/Monat, die zweitgünstigste der vier (Quelle: Anzeige)." } }
}
  • meta.direction ist "ltr" oder "rtl"; für "ltr" weglassen.
  • Die Report-Fußzeile zeigt standardmäßig eine kleine Zeile „Erstellt mit einer Entscheidungsmatrix“ als Quellenangabe. meta.credit / credit_url überschreiben deren Text/Link; setzen Sie meta.credit auf false, wenn die Person ausdrücklich keine Quellenangabe wünscht.
  • criteria[].description und notes sind optional, aber dringend empfohlen – sie werden zum „Warum“-Text, der im Report angezeigt wird. Ein Kriterium oder eine Zelle ohne Beschreibung zeigt einfach keine Begründung an, was für einen schnellen Entwurf in Ordnung ist, den Report aber schwächt.
  • options[].included (Standardwert true) legt den anfänglichen Stummschaltungszustand des Reports fest.
  • Jede Bewertung muss eine Zahl von 1–10 sein. Das Build-Skript überprüft dies und die Konsistenz der IDs zwischen criteria/options/scores, bevor es etwas schreibt.

Sagen Sie der Person, wo die Datei liegt und dass sie direkt in jedem Browser geöffnet wird – Gewichte und die Stummschaltungs-Umschalter berechnen die Rangfolge live neu, nichts wird irgendwohin gesendet, und nichts wird gespeichert, es sei denn, die Person behält die Datei.

9. Zu einer Sensitivitätsprüfung einladen

Schließen Sie mit dem Hinweis ab, dass der Report zum Spielen gedacht ist, nicht nur zum Lesen: Wenn das Ausschalten des unsichersten Kriteriums oder das Anpassen eines Gewichts den Gewinner kippt, ist das ein echtes Signal, dass die Entscheidung knapp ist und mehr Überlegung wert ist (oder dass die Unterschiede egal sind und man sich einfach auf das Bauchgefühl / die Kosten / das verlassen sollte, was am einfachsten rückgängig zu machen ist). Wenn die Rangfolge robust gegenüber solchem Herumprobieren ist, ist das ebenfalls ein nützliches Signal.

Referenzdateien

  • references/method.md – Hintergrund zur Methode, häufige Bewertungsfallen (korrelierte Kriterien, Gewichtskompression, Ankerdrift) und wie man ein Unentschieden mit der Person bespricht.
  • assets/report_template.html – die Report-Engine. Sie sollten dies nicht von Hand bearbeiten müssen; alles Anpassbare fließt über die JSON-Datendatei.
  • scripts/build_report.py – erstellt den Report; führen Sie python3 scripts/build_report.py --help aus – die Verwendung ist oben gezeigt.
  • examples/laptop-purchase.json – eine ausgefüllte Beispieldatendatei, falls Sie eine vollständige sehen möchten, bevor Sie Ihre eigene schreiben.

Verwandte Skills