review-pull-request
정보
이 스킬은 GitHub CLI를 활용하여 GitHub 풀 리퀘스트를 종합적으로 검토합니다. 변경 사항(diff), 커밋 기록, CI/CD 체크를 분석하며, 심각도 기반 피드백(차단/제안/사소한 의견/칭찬)을 제공하고 gh-pr-review를 통해 리뷰를 제출합니다. PR 리뷰 담당자로 지정되었을 때, 피드백 요청 전 자체 검토 시, 변경 후 재검토 시, 또는 병합된 PR 감사 시 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-pull-requestClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
name: review-pull-request description: > Reviewt einen Pull Request von Ende zu Ende mit der GitHub CLI. Umfasst Diff-Analyse, Commit-Verlaufs-Review, CI/CD-Pruefungsverifizierung, schweregradbasiertes Feedback (blocking/suggestion/nit/praise) und gh-pr-review-Einreichung. Verwenden wenn ein Pull Request zum Review zugewiesen ist, bei einem Selbst-Review vor der Einholung von Feedback anderer, bei einem zweiten Review nach bearbeitetem Feedback oder beim Audit eines zusammengefuehrten PRs. locale: de source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Grep Glob Bash WebFetch metadata: author: Philipp Thoss version: "1.0" domain: review complexity: intermediate language: multi tags: review, pull-request, github, code-review, gh-cli, feedback, pr
Pull Request reviewen
Einen GitHub-Pull-Request von Ende zu Ende reviewen — vom Verstaendnis der Aenderung bis zur Einreichung strukturierten Feedbacks. Verwendet gh CLI fuer alle GitHub-Interaktionen und erzeugt schweregradbasierte Review-Kommentare.
Wann verwenden
- Ein Pull Request ist bereit zum Review und Ihnen zugewiesen
- Zweites Review nach Bearbeitung des Autorensfeedbacks
- Eigenen PR vor dem Einfordern von Reviews anderer reviewen (Selbst-Review)
- Audit eines zusammengefuehrten PRs zur Qualitaetsbewertung nach dem Merge
- Wenn ein strukturierter Review-Prozess statt ad-hoc-Scanning gewuenscht wird
Eingaben
- Erforderlich: PR-Bezeichner (Nummer, URL oder
owner/repo#number) - Optional: Review-Fokus (Sicherheit, Leistung, Korrektheit, Stil)
- Optional: Vertrautheit mit der Codebasis (vertraut, etwas vertraut, unbekannt)
- Optional: Zeitbudget fuer das Review (schneller Scan, Standard, ggruendlich)
Vorgehensweise
Schritt 1: Den Kontext verstehen
Die PR-Beschreibung lesen und verstehen, was die Aenderung bewirken soll.
- PR-Metadaten abrufen:
gh pr view <number> --json title,body,author,baseRefName,headRefName,labels,additions,deletions,changedFiles,reviewDecision - PR-Titel und -Beschreibung lesen:
- Welches Problem loest dieser PR?
- Welchen Ansatz hat der Autor gewaehlt?
- Gibt es bestimmte Bereiche, die der Autor reviewt haben moechte?
- PR-Groesse pruefen und benoetigte Zeit einschaetzen:
PR-Groessen-Leitfaden:
+--------+-----------+---------+-------------------------------------+
| Groesse| Dateien | Zeilen | Review-Ansatz |
+--------+-----------+---------+-------------------------------------+
| Klein | 1-5 | <100 | Jede Zeile lesen, schnelles Review |
| Mittel | 5-15 | 100-500 | Logikaenderungen fokussieren, Config|
| | | | ueberblicken |
| Gross | 15-30 | 500- | Per Commit reviewen, kritische |
| | | 1000 | Dateien fokussieren, Aufteilung flag|
| XL | 30+ | 1000+ | Aufteilung empfehlen. Nur kritische |
| | | | Dateien reviewen. |
+--------+-----------+---------+-------------------------------------+
- Commit-Verlauf reviewen:
gh pr view <number> --json commits --jq '.commits[].messageHeadline'- Sind Commits logisch und gut strukturiert?
- Erzaehlt die Geschichte eine Geschichte (jeder Commit ein koh.aenter Schritt)?
- CI/CD-Status pruefen:
gh pr checks <number>- Bestehen alle Pruefungen?
- Wenn Pruefungen fehlschlagen, welche — das beeinflusst das Review
Erwartet: Klares Verstaendnis davon, was der PR tut, warum er existiert, wie gross er ist und ob CI gruen ist. Dieser Kontext praegt den Review-Ansatz.
Bei Fehler: Wenn die PR-Beschreibung leer oder unklar ist, dies als erstes Feedback vermerken. Ein PR ohne Kontext ist ein Review-Anti-Pattern. Wenn gh-Befehle fehlschlagen, Authentifizierung pruefen (gh auth status) und Zugriff auf das Repository sicherstellen.
Schritt 2: Den Diff analysieren
Die tatsaechlichen Codeaenderungen systematisch lesen.
- Vollstaendigen Diff abrufen:
gh pr diff <number> - Bei kleinen/mittleren PRs den gesamten Diff sequenziell lesen
- Bei grossen PRs per Commit reviewen:
gh pr diff <number> --patch # vollstaendiges Patch-Format - Fuer jede geaenderte Datei bewerten:
- Korrektheit: Tut der Code, was der PR vorgibt?
- Grenzfaelle: Werden Randbedingungen behandelt?
- Fehlerbehandlung: Werden Fehler sauber abgefangen und behandelt?
- Sicherheit: Gibt es Injektions-, Auth- oder Datenoffenlegungs-Risiken?
- Leistung: Offensichtliche O(n^2)-Schleifen, fehlende Indizes oder Speicherprobleme?
- Benennung: Sind neue Variablen/Funktionen/Klassen klar benannt?
- Tests: Werden neue Verhaltensweisen durch Tests abgedeckt?
- Beim Lesen Notizen machen und jede Beobachtung nach Schweregrad klassifizieren
Erwartet: Eine Reihe von Beobachtungen zu Korrektheit, Sicherheit, Leistung und Qualitaet fuer jede bedeutende Aenderung im Diff. Jede Beobachtung hat ein Schweregradniveau.
Bei Fehler: Wenn der Diff zu gross ist um effektiv reviewt zu werden, dies markieren: "Dieser PR aendert {N} Dateien und {M} Zeilen. Ich empfehle, ihn in kleinere PRs aufzuteilen fuer effektiveres Review." Trotzdem die risikoreichsten Dateien reviewen.
Schritt 3: Feedback klassifizieren
Beobachtungen nach Schweregradniveaus organisieren.
- Jede Beobachtung klassifizieren:
Feedback-Schweregradniveaus:
+-----------+------+----------------------------------------------------+
| Niveau | Icon | Beschreibung |
+-----------+------+----------------------------------------------------+
| Blocking | [B] | Vor Merge beheben. Bugs, Sicherheitsprobleme, |
| | | Datenverlust-Risiken, beschaedigte Funktionalitaet.|
| Suggest | [S] | Sollte behoben werden, blockiert Merge nicht. |
| | | Bessere Ansaetze, fehlende Grenzfaelle, Stilprob. |
| | | die Wartbarkeit beeinflussen. |
| Nit | [N] | Optionale Verbesserung. Stilpraeferenzen, kleine |
| | | Benennungsvorschlaege, Formatierung. |
| Praise | [P] | Gute Arbeit, die erwaehnens-wert ist. Clevere |
| | | Loesungen, gruendliche Tests, saubere Abstraktionen|
+-----------+------+----------------------------------------------------+
- Fuer jedes Blocking-Element erklaeren:
- Was falsch ist (das spezifische Problem)
- Warum es wichtig ist (die Auswirkung)
- Wie es behoben werden kann (ein konkreter Vorschlag)
- Fuer jedes Suggest-Element die Alternative erklaeren und warum sie besser ist
- Nits kurz halten — ein Satz reicht
- Mindestens ein Praise einschliessen, wenn etwas Positives auffaellt
Erwartet: Eine sortierte Liste von Feedback-Punkten mit klaren Schweregradniveaus. Blocking-Punkte haben Loesung-Vorschlaege. Das Verhaeltnis sollte generell sein: wenige Blocking, einige Suggest, minimale Nit, mindestens ein Praise.
Bei Fehler: Wenn alles blocking erscheint, muss der PR moeglicherweise ueberarbeitet statt gepatcht werden. Erwaegen, Aenderungen auf PR-Ebene anzufordern statt zeilenbasierter Kommentare. Wenn nichts falsch erscheint, das auch sagen — "LGTM" ist gueltiges Feedback, wenn der Code gut ist.
Schritt 4: Review-Kommentare verfassen
Das Review mit strukturiertem, umsetzbarem Feedback zusammenstellen.
- Review-Zusammenfassung verfassen (Kommentar auf oberster Ebene):
- Ein Satz: was der PR tut (Verstaendnis bestaetigen)
- Gesamtbewertung: genehmigen, Aenderungen anfragen oder kommentieren
- Wichtige Punkte: Blocking-Probleme (falls vorhanden) und die wichtigsten Suggest-Punkte auflisten
- Lob: gute Arbeit hervorheben
- Inline-Kommentare fuer spezifische Codestellen verfassen:
# Inline-Kommentare per gh API einreichen gh api repos/{owner}/{repo}/pulls/{number}/comments \ -f body="[B] Diese SQL-Abfrage ist anfaellig fuer Injection. Stattdessen parametrisierte Abfragen verwenden.\n\n\`\`\`suggestion\ndb.query('SELECT * FROM users WHERE id = $1', [userId])\n\`\`\`" \ -f commit_id="<sha>" \ -f path="src/users.js" \ -F line=42 \ -f side="RIGHT" - Feedback konsistent formatieren:
- Jeden Kommentar mit dem Schweregradtag beginnen:
[B],[S],[N]oder[P] - GitHub-Vorschlagsblocks fuer konkrete Fixes verwenden
- Fuer Stil-/Muster-Vorschlaege zur Dokumentation verlinken
- Jeden Kommentar mit dem Schweregradtag beginnen:
- Das Review einreichen:
# Genehmigen gh pr review <number> --approve --body "Review-Zusammenfassung hier" # Aenderungen anfordern (wenn Blocking-Probleme vorhanden) gh pr review <number> --request-changes --body "Review-Zusammenfassung hier" # Nur kommentieren (wenn unsicher oder FYI-Feedback) gh pr review <number> --comment --body "Review-Zusammenfassung hier"
Erwartet: Ein eingereichten Review mit klarem, umsetzbarem Feedback. Der Autor weiss genau, was zu beheben ist (Blocking), was zu beruecksichtigen ist (Suggest) und was gut war (Praise).
Bei Fehler: Wenn gh pr review fehlschlaegt, Berechtigungen pruefen. Schreibzugriff auf das Repository oder Status als angefragter Reviewer wird benoetigt. Wenn Inline-Kommentare fehlschlagen, alles Feedback im Review-Body mit Datei:Zeile-Referenzen platzieren.
Schritt 5: Nachverfolgen
Die Review-Auflosung verfolgen.
- Nachdem der Autor reagiert oder Aktualisierungen gepusht hat:
gh pr view <number> --json reviewDecision,reviews - Nur die Aenderungen neu reviewen, die Ihr Feedback adressieren:
gh pr diff <number> # neue Commits pruefen - Blocking-Punkte vor der Genehmigung als geloest verifizieren
- Kommentar-Threads aufloesen, wenn Probleme behoben wurden
- Genehmigen, wenn alle Blocking-Punkte geloest sind:
gh pr review <number> --approve --body "Alle Blocking-Probleme geloest. LGTM."
Erwartet: Blocking-Probleme als geloest verifiziert. Review-Konversation aufgeloest. PR genehmigt oder weitere Aenderungen mit spezifisch verbleibenden Punkten angefordert.
Bei Fehler: Wenn der Autor Feedback ablehnt, im PR-Thread diskutieren. Auf Auswirkungen (warum es wichtig ist) konzentrieren statt auf Autoritaet. Wenn bei nicht-blocking Punkten keine Einigung erzielt wird, elegant nachgeben — der Autor besitzt den Code.
Validierung
- PR-Kontext verstanden (Zweck, Groesse, CI-Status)
- Alle geaenderten Dateien reviewt (oder risikoreichste Dateien fuer XL-PRs)
- Feedback nach Schweregrad klassifiziert (Blocking/Suggest/Nit/Praise)
- Blocking-Punkte haben spezifische Loesung-Vorschlaege
- Mindestens ein Praise fuer positive Aspekte eingeschlossen
- Review-Entscheidung stimmt mit Feedback ueberein (genehmigen nur wenn keine Blocking-Punkte)
- Inline-Kommentare referenzieren spezifische Zeilen mit Schweregradtags
- CI/CD-Pruefungen verifiziert (gruen vor Genehmigung)
- Nachverfolgung nach Autorenrevisionen abgeschlossen
Haeufige Stolperfallen
- Blind genehmigen: Genehmigen ohne den Diff tatsaechlich zu lesen. Jede Genehmigung ist eine Qualitaetsbestaetigung
- Nit-Flut: Den Autor in Stilpraeferenzen ertraenken. Nits fuer Mentoring-Situationen aufsparen; bei zeitkritischen Reviews weglassen
- Den Wald vor Baeumen nicht sehen: Zeile fuer Zeile reviewen ohne das Gesamtdesign zu verstehen. Zuerst die PR-Beschreibung und den Commit-Verlauf lesen
- Stil als Blocking: Formatierung und Benennung sind fast nie blocking. Blocking fuer Bugs, Sicherheit und Datenintegritaet reservieren
- Kein Lob: Nur auf Probleme hinzuweisen ist demotivierend. Guter Code verdient Anerkennung
- Review-Scope-Creep: Code kommentieren, der nicht im PR geaendert wurde. Wenn vorhandene Probleme stoeren, ein separates Issue erstellen
Verwandte Skills
review-software-architecture— systemweites Architektur-Review (ergaenzend zum PR-Review)security-audit-codebase— eingehende Sicherheitsanalyse fuer PRs mit sicherheitsrelevanten Aenderungencreate-pull-request— die andere Seite des Prozesses: PRs erstellen, die leicht zu reviewen sindcommit-changes— saubere Commit-Geschichte erleichtert das PR-Review erheblich
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
