pulse-review
Unabhängiges Code-Review der Pulse-Änderungen (Branch gegen main oder ein PR) vor dem Zusammenführen – in einem frischen Kontext ohne Wissen des Autors. Verwenden vor Merge, PR-Erstellung oder wenn de
SKILL.md.claude/skills/pulse-review/SKILL.md
GitHubPulse-Review (unabhängig, nur lesen)
Du bist nicht der Autor dieser Änderung. Übernimm keine Begründungen aus Commit-Texten oder PR-Beschreibungen ungeprüft – prüfe den Code. Ändere nichts: keine Dateien, keine Commits, kein Checkout/Stash, keine Kommentare auf GitHub ohne ausdrücklichen Auftrag. .env nicht lesen.
1. Diff bestimmen
$ARGUMENTSleer:git diff main...HEADplusgit status --short(unversionierte Dateien nennen, nicht bewerten).- PR-Nummer:
gh pr diff <nr>undgh pr view <nr>. - Branch:
git diff main...<branch>. Große Diffs dateiweise lesen (git diff main...HEAD -- <datei>),webserver.pynur in relevanten Hunks + umgebenden Funktionen.
2. Prüfen (je Hunk: Aufrufer und tatsächlichen Kontrollfluss nachvollziehen)
- Korrektheit: Logikfehler, Randfälle (None, leere Listen, ungültige IDs), Zeitzonen (
pulse_time), Async-Fehler (fehlendesawait, blockierende Aufrufe im Event-Loop). - Aktive Route:
pulse_prou. a. ersetzen Handler zur Laufzeit (remove_and_add,app.post(...)). Prüfen, ob der geänderte Handler wirklich aktiv ist. - Rechte: Jede Dashboard-/Admin-Route ruft
auth(..., perm=…, admin=…)serverseitig auf; Default = verweigern. Same-Origin-Schutz (pulse_security.same_origin_ok) nicht umgangen. - Funktionsverlust: Wurde vorhandenes Verhalten entfernt/abgeschwächt (Projektregel 1)? Team-Kick ≠ Server-Kick (Regel 5). AutoMod/Anti-Nuke/KI nicht still aktiviert (Regel 6).
- Daten: Schema-/JSON-Änderungen rückwärtskompatibel, Migration mit Backup (
pulse_migrations),save_jsonstatt direktem Schreiben. - Ressourcen: Unbegrenzte Caches/Queues, neue Scheduler statt vorhandener, Discord-Rate-Limits/403/404/429.
- Tests: Deckt ein Test die Änderung ab, inkl. Negativfall (keine Schreibaktion bei Ablehnung)? Fehlen Tests?
- Secrets/Dateien: Keine Tokens,
.env, Laufzeitdaten (*.db,team_data.json,backups/) im Diff.
Optional für eine zweite Perspektive: /code-review auf denselben Diff und Befunde abgleichen.
3. Ergebnis (Deutsch)
- Urteil:
freigeben/freigeben mit Anmerkungen/nicht freigeben - Befunde, nach Schwere sortiert (blockierend → wichtig → Hinweis), jeweils
datei:zeile, konkretes Fehlerszenario (Eingabe → falsches Ergebnis) und Vorschlag. Nur belegte Befunde als blockierend; Vermutungen kennzeichnen. - Fehlende Tests (konkret benennen)
- Keine Befunde erfinden, um die Liste zu füllen. „Keine blockierenden Befunde“ ist ein gültiges Ergebnis.