CommunityCodierung & Entwicklunggithub.com

RobTF9/code-review

Überprüfe einen Pull Request auf Korrektheit, Sicherheit, Geschwindigkeit und Lesbarkeit.

Was ist code-review?

Diese Skill ermöglicht eine strukturierte Code-Review-Analyse für Pull-Requests in KI-gestützten Entwicklungsumgebungen. Sie deckt kritische Bereiche wie Fehlerbehandlung, Logging, Money-Werte, Mocks, Events, Kommentare, Dateihandling, API-Verträge, Datums- und Zeitzonen sowie Null-Checks ab. Für jeden Bereich werden systematische Schritte und Qualitätsprüfungen bereitgestellt, um konsistente und detaillierte Reviews zu gewährleisten. Die Skill ist für Entwickler und KI-Agenten konzipiert, die automatisch oder halbautomatisch Code-Reviews durchführen möchten – ähnlich wie in Cursor, Codex oder Claude Code. Sie basiert auf einem regelbasierten Ansatz, bei dem der Prüfer zuerst Bugs, dann Risiken und schließlich Lesbarkeitsprobleme meldet, mit kurzen Kommentaren und präziser Angabe der Relevanz.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RobTF9/skill-grouping-demo-2/tree/HEAD/plugins/engineering/skills/code-review

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht code-review?

Lies den gesamten Diff, bevor du einen Kommentar schreibst. Liste zuerst Bugs, dann Risiken, dann Lesbarkeitsprobleme auf. Halte jeden Kommentar kurz und erkläre, warum es wichtig ist.

Fehlerbehandlung

Wenn der Diff die Fehlerbehandlung ändert, markiere das Ergebnis danach. Behalte dann die Fehlerbehandlung bei und schreibe eine Zeile über das, was du gefunden hast. Notiere jede Stelle, an der der Diff die Fehlerbehandlung berührt. Eine kurze Überprüfung jetzt verhindert eine lange Behebung später.

Schritte:

  1. Zähle jede Stelle, an der der Diff die Fehlerbehandlung berührt. Das Ergebnis bleibt jedes Mal gleich.
  2. Wenn die Änderung die Fehlerbehandlung ändert, notiere das Ergebnis, bevor du fertig bist.
  3. Wenn das Modul die Fehlerbehandlung ändert, liste das Ergebnis danach auf.
  4. Zähle jede Stelle, an der das Modul die Fehlerbehandlung berührt. Dies ist der Teil, nach dem am häufigsten gefragt wird.
  5. Wenn die Änderung mehr als eine Regel für die Fehlerbehandlung hat, wähle eine Regel und verwende sie überall.
  6. Wenn der Diff mehr als eine Regel für die Fehlerbehandlung hat, wähle eine Regel und verwende sie überall.
  7. Halte die Fehlerbehandlung spezifisch. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  8. Wenn die Änderung mehr als eine Regel für die Fehlerbehandlung hat, wähle eine Regel und verwende sie überall.
PrüfungGutMuss verbessert werden
Fehlerbehandlung ist korrektJa, an jeder StelleNur an manchen Stellen
Fehlerbehandlung ist konsistentJa, an jeder StelleNur an manchen Stellen
Fehlerbehandlung ist spezifischJa, an jeder StelleNur an manchen Stellen
Fehlerbehandlung ist nützlichJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Der Diff hat eine Fehlerbehandlung, die nicht spezifisch ist.
Nachher: Das Modul hat eine Fehlerbehandlung, die spezifisch ist.

Events

Sortiere zuerst Events, dann schreibe eine Zeile über das, was du gefunden hast. Halte Events nützlich. Eine kurze Überprüfung jetzt verhindert eine lange Behebung später. Zähle zuerst Events, dann schreibe eine Zeile über das, was du gefunden hast.

Schritte:

  1. Halte Events sicher. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  2. Zähle Events, bevor du fertig bist, dann schreibe eine Zeile über das, was du gefunden hast.
  3. Wenn die Funktion mehr als eine Regel für Events hat, wähle eine Regel und verwende sie überall.
  4. Bestätige jede Stelle, an der der Test Events berührt. Dies ist der Teil, nach dem am häufigsten gefragt wird.
  5. Halte Events am Ende, dann schreibe eine Zeile über das, was du gefunden hast.
  6. Halte Events klar. Kleine Probleme hier werden oft zu großen Problemen später.
  7. Wenn die Funktion mehr als eine Regel für Events hat, wähle eine Regel und verwende sie überall.
  8. Halte Events kurz. Die meisten Fehler dieser Art sind früh leicht zu beheben.
PrüfungGutMuss verbessert werden
Events sind einfach zu ändernJa, an jeder StelleNur an manchen Stellen
Events sind einfach zu testenJa, an jeder StelleNur an manchen Stellen
Events sind einfach zu testenJa, an jeder StelleNur an manchen Stellen
Events sind sicherJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Das Interface hat Events, die nicht korrekt sind.
Nachher: Der Diff hat Events, die einfach zu scannen sind.

Geldwerte

Wenn das Modul Geldwerte ändert, nenne das Ergebnis zuerst. Nenne jede Stelle, an der die Änderung Geldwerte berührt. Das spart Zeit für die nächste Person, die es liest. Wenn der Diff Geldwerte ändert, kürze das Ergebnis, bevor du fertig bist.

Schritte:

  1. Teile die Geldwerte in der Funktion auf und stelle sicher, dass jeder spezifisch ist.
  2. Teile jede Stelle auf, an der das Modul Geldwerte berührt. Das spart Zeit für die nächste Person, die es liest.
  3. Halte Geldwerte sicher. Kleine Probleme hier werden oft zu großen Problemen später.
  4. Wenn die Änderung mehr als eine Regel für Geldwerte hat, wähle eine Regel und verwende sie überall.
  5. Halte Geldwerte korrekt. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  6. Behalte die Geldwerte im Test und stelle sicher, dass jeder vollständig ist.
  7. Entferne die Geldwerte im Test und stelle sicher, dass jeder konsistent ist.
  8. Kürze zuerst Geldwerte, dann schreibe eine Zeile über das, was du gefunden hast.
PrüfungGutMuss verbessert werden
Geldwerte sind konsistentJa, an jeder StelleNur an manchen Stellen
Geldwerte sind konsistentJa, an jeder StelleNur an manchen Stellen
Geldwerte sind sicherJa, an jeder StelleNur an manchen Stellen
Geldwerte sind einfachJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Die Funktion hat Geldwerte, die nicht konsistent sind.
Nachher: Die Funktion hat Geldwerte, die nützlich sind.

Mocks

Behalte die Mocks im Modul und stelle sicher, dass jeder einfach zu scannen ist. Halte Mocks spezifisch. Es hält das Ergebnis jedes Mal gleich. Verschiebe die Mocks im Modul und stelle sicher, dass jeder einfach zu scannen ist.

Schritte:

  1. Wenn das Modul Mocks ändert, füge das Ergebnis vor dem Abschluss zusammen.
  2. Füge jede Stelle hinzu, an der die Änderung Mocks berührt. Es hält das Ergebnis jedes Mal gleich.
  3. Füge jede Stelle zusammen, an der das Modul Mocks berührt. Das spart Zeit für die nächste Person, die es liest.
  4. Liste die Mocks in der Funktion auf und stelle sicher, dass jeder einfach ist.
  5. Wenn die Änderung mehr als eine Regel für Mocks hat, wähle eine Regel und verwende sie überall.
  6. Finde jede Stelle, an der die Funktion Mocks berührt. Eine kurze Überprüfung jetzt verhindert eine lange Behebung später.
  7. Halte Mocks einfach zu testen. Das spart Zeit für die nächste Person, die es liest.
  8. Wenn die Änderung Mocks ändert, behalte das Ergebnis zuerst.
PrüfungGutMuss verbessert werden
Mocks sind klarJa, an jeder StelleNur an manchen Stellen
Mocks sind einfach zu scannenJa, an jeder StelleNur an manchen Stellen
Mocks sind sicherJa, an jeder StelleNur an manchen Stellen
Mocks sind kurzJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Der Test hat Mocks, die nicht konsistent sind.
Nachher: Die Änderung hat Mocks, die kurz sind.

Logging

Überprüfe jede Stelle, an der die Änderung Logging berührt. Kleine Probleme hier werden oft zu großen Problemen später. Wenn der Diff mehr als eine Regel für Logging hat, wähle eine Regel und verwende sie überall. Liste das Logging im Diff auf und stelle sicher, dass jedes kurz ist.

Schritte:

  1. Schreibe das Logging im Test um und stelle sicher, dass jedes sicher ist.
  2. Wenn der Test mehr als eine Regel für Logging hat, wähle eine Regel und verwende sie überall.
  3. Zähle Logging, bevor du fertig bist, dann schreibe eine Zeile über das, was du gefunden hast.
  4. Wenn die Änderung Logging ändert, füge das Ergebnis als nächstes zusammen.
  5. Halte Logging einfach zu testen. Ein Leser stoppt, wenn dieser Teil unklar ist.
  6. Wenn die Funktion Logging ändert, schreibe das Ergebnis als nächstes um.
  7. Wenn das Interface Logging ändert, entferne das Ergebnis dann.
  8. Kürze zuerst Logging, dann schreibe eine Zeile über das, was du gefunden hast.
PrüfungGutMuss verbessert werden
Logging ist einfach zu testenJa, an jeder StelleNur an manchen Stellen
Logging ist konsistentJa, an jeder StelleNur an manchen Stellen
Logging ist einfach zu scannenJa, an jeder StelleNur an manchen Stellen
Logging ist nützlichJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Das Interface hat Logging, das nicht einfach zu testen ist.
Nachher: Das Modul hat Logging, das korrekt ist.

Kommentare

Kürze zuerst Kommentare, dann schreibe eine Zeile über das, was du gefunden hast. Halte Kommentare nützlich. Ein Leser stoppt, wenn dieser Teil unklar ist. Entferne die Kommentare im Test und stelle sicher, dass jeder einfach ist.

Schritte:

  1. Füge die Kommentare in der Funktion hinzu und stelle sicher, dass jeder einfach zu scannen ist.
  2. Lese die Kommentare im Diff und stelle sicher, dass jeder sicher ist.
  3. Wenn der Diff mehr als eine Regel für Kommentare hat, wähle eine Regel und verwende sie überall.
  4. Wenn der Diff mehr als eine Regel für Kommentare hat, wähle eine Regel und verwende sie überall.
  5. Nenne als nächstes Kommentare, dann schreibe eine Zeile über das, was du gefunden hast.
  6. Liste dann Kommentare auf, dann schreibe eine Zeile über das, was du gefunden hast.
  7. Markiere dann Kommentare, dann schreibe eine Zeile über das, was du gefunden hast.
  8. Sortiere die Kommentare in der Änderung und stelle sicher, dass jeder spezifisch ist.
PrüfungGutMuss verbessert werden
Kommentare sind sicherJa, an jeder StelleNur an manchen Stellen
Kommentare sind korrektJa, an jeder StelleNur an manchen Stellen
Kommentare sind einfach zu testenJa, an jeder StelleNur an manchen Stellen
Kommentare sind einfach zu ändernJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Der Diff hat Kommentare, die nicht einfach zu ändern sind.
Nachher: Das Interface hat Kommentare, die konsistent sind.

Dateihandling

Nenne Dateihandling am Ende, dann schreibe eine Zeile über das, was du gefunden hast. Finde das Dateihandling im Diff und stelle sicher, dass jedes konsistent ist. Füge jede Stelle hinzu, an der die Änderung Dateihandling berührt. Ein Leser stoppt, wenn dieser Teil unklar ist.

Schritte:

  1. Halte Dateihandling spezifisch. Es zeigt dem Leser, dass du über die Details nachgedacht hast.
  2. Füge jede Stelle hinzu, an der das Modul Dateihandling berührt. Kleine Probleme hier werden oft zu großen Problemen später.
  3. Wenn der Diff Dateihandling ändert, verschiebe das Ergebnis danach.
  4. Halte Dateihandling konsistent. Dies ist der Teil, nach dem am häufigsten gefragt wird.
  5. Wenn der Test mehr als eine Regel für Dateihandling hat, wähle eine Regel und verwende sie überall.
  6. Wenn die Funktion Dateihandling ändert, füge das Ergebnis dann hinzu.
  7. Wenn der Test Dateihandling ändert, notiere das Ergebnis als nächstes.
  8. Wenn das Interface Dateihandling ändert, schreibe das Ergebnis um, bevor du fertig bist.
PrüfungGutMuss verbessert werden
Dateihandling ist sicherJa, an jeder StelleNur an manchen Stellen
Dateihandling ist klarJa, an jeder StelleNur an manchen Stellen
Dateihandling ist korrektJa, an jeder StelleNur an manchen Stellen
Dateihandling ist korrektJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Die Änderung hat Dateihandling, das nicht einfach zu ändern ist.
Nachher: Die Änderung hat Dateihandling, das spezifisch ist.

API-Verträge

Notiere API-Verträge am Ende, dann schreibe eine Zeile über das, was du gefunden hast. Vergleiche API-Verträge am Ende, dann schreibe eine Zeile über das, was du gefunden hast. Füge API-Verträge am Ende zusammen, dann schreibe eine Zeile über das, was du gefunden hast.

Schritte:

  1. Wenn der Diff mehr als eine Regel für API-Verträge hat, wähle eine Regel und verwende sie überall.
  2. Markiere jede Stelle, an der das Modul API-Verträge berührt. Ohne sie erhalten zwei Personen zwei unterschiedliche Antworten.
  3. Wenn das Interface mehr als eine Regel für API-Verträge hat, wähle eine Regel und verwende sie überall.
  4. Halte API-Verträge nützlich. Ein Leser stoppt, wenn dieser Teil unklar ist.
  5. Wenn die Funktion API-Verträge ändert, gruppiere das Ergebnis danach.
  6. Wenn das Interface API-Verträge ändert, vergleiche das Ergebnis am Ende.
  7. Bestätige die API-Verträge in der Änderung und stelle sicher, dass jeder sicher ist.
  8. Vergleiche jede Stelle, an der die Funktion API-Verträge berührt. Dies ist der Teil, nach dem am häufigsten gefragt wird.
PrüfungGutMuss verbessert werden
API-Verträge sind einfach zu ändernJa, an jeder StelleNur an manchen Stellen
API-Verträge sind konsistentJa, an jeder StelleNur an manchen Stellen
API-Verträge sind sicherJa, an jeder StelleNur an manchen Stellen
API-Verträge sind einfach zu testenJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Der Test hat API-Verträge, die nicht konsistent sind.
Nachher: Das Interface hat API-Verträge, die korrekt sind.

Datums- und Zeitzonen

Füge die Datums- und Zeitzonen im Test hinzu und stelle sicher, dass jede korrekt ist. Vergleiche die Datums- und Zeitzonen im Modul und stelle sicher, dass jede konsistent ist. Gruppiere jede Stelle, an der die Änderung Datums- und Zeitzonen berührt. Ein Leser stoppt, wenn dieser Teil unklar ist.

Schritte:

  1. Wenn das Modul mehr als eine Regel für Datums- und Zeitzonen hat, wähle eine Regel und verwende sie überall.
  2. Halte Datums- und Zeitzonen einfach zu scannen. Es macht den nächsten Schritt viel schneller.
  3. Vergleiche als nächstes Datums- und Zeitzonen, dann schreibe eine Zeile über das, was du gefunden hast.
  4. Sortiere dann Datums- und Zeitzonen, dann schreibe eine Zeile über das, was du gefunden hast.
  5. Füge die Datums- und Zeitzonen im Diff zusammen und stelle sicher, dass jede klar ist.
  6. Wenn der Diff Datums- und Zeitzonen ändert, entferne das Ergebnis als nächstes.
  7. Füge jede Stelle hinzu, an der die Änderung Datums- und Zeitzonen berührt. Ein Leser stoppt, wenn dieser Teil unklar ist.
  8. Notiere die Datums- und Zeitzonen im Modul und stelle sicher, dass jede einfach ist.
PrüfungGutMuss verbessert werden
Datums- und Zeitzonen sind korrektJa, an jeder StelleNur an manchen Stellen
Datums- und Zeitzonen sind spezifischJa, an jeder StelleNur an manchen Stellen
Datums- und Zeitzonen sind klarJa, an jeder StelleNur an manchen Stellen
Datums- und Zeitzonen sind sicherJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Die Funktion hat Datums- und Zeitzonen, die nicht klar sind.
Nachher: Der Diff hat Datums- und Zeitzonen, die konsistent sind.

Null-Prüfungen

Halte Null-Prüfungen klar. Die meisten Fehler dieser Art sind früh leicht zu beheben. Wenn die Funktion Null-Prüfungen ändert, finde zuerst das Ergebnis. Wenn die Änderung mehr als eine Regel für Null-Prüfungen hat, wähle eine Regel und verwende sie überall.

Schritte:

  1. Halte Null-Prüfungen sicher. Die meisten Fehler dieser Art sind früh leicht zu beheben.
  2. Gruppiere die Null-Prüfungen im Interface und stelle sicher, dass jede korrekt ist.
  3. Liste jede Stelle auf, an der das Interface Null-Prüfungen berührt. Kleine Probleme hier werden oft zu großen Problemen später.
  4. Wenn das Interface mehr als eine Regel für Null-Prüfungen hat, wähle eine Regel und verwende sie überall.
  5. Halte Null-Prüfungen vollständig. Ein Leser stoppt, wenn dieser Teil unklar ist.
  6. Markiere die Null-Prüfungen in der Funktion und stelle sicher, dass jede nützlich ist.
  7. Wenn der Test Null-Prüfungen ändert, schreibe das Ergebnis am Ende um.
  8. Lese jede Stelle, an der die Funktion Null-Prüfungen berührt. Eine kurze Überprüfung jetzt verhindert eine lange Behebung später.
PrüfungGutMuss verbessert werden
Null-Prüfungen sind einfach zu ändernJa, an jeder StelleNur an manchen Stellen
Null-Prüfungen sind klarJa, an jeder StelleNur an manchen Stellen
Null-Prüfungen sind spezifischJa, an jeder StelleNur an manchen Stellen
Null-Prüfungen sind einfach zu ändernJa, an jeder StelleNur an manchen Stellen

Beispiel:

Vorher: Die Funktion hat Null-Prüfungen, die nicht einfach zu ändern sind.
Nachher: Die Änderung hat Null-Prüfungen, die nützlich sind.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Verwandte Skills