Zurück zu Fähigkeiten

review-pull-request

pjt222
Aktualisiert 2 days ago
3 Ansichten
17
2
17
Auf GitHub ansehen
Andereai

Über

Diese Claude Skill führt eine automatisierte, end-to-end-Überprüfung eines GitHub-Pull-Requests mithilfe der GH CLI durch. Sie analysiert Diffs und Commit-Verlauf, überprüft CI/CD-Checks und gibt strukturiertes Feedback mit Schweregraden wie 'blockierend' oder 'Vorschlag' ab. Nutzen Sie sie, wenn Ihnen ein PR zugewiesen wurde, um eine gründliche Prüfung sicherzustellen, bevor menschliche Reviewer angefordert oder gemergter Code auditiert wird.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add pjt222/agent-almanac -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativ
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/review-pull-request

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation

Review Pull Request

Review GH PR end-to-end — understand change → submit structured feedback. Uses gh CLI for all GH interactions + produces severity-leveled review comments.

Use When

  • PR ready for review + assigned to you
  • Second review after author addresses feedback
  • Self-review before req others
  • Audit merged PR for post-merge quality
  • Want structured review process not ad-hoc scanning

In

  • Required: PR id (number, URL, owner/repo#number)
  • Optional: Review focus (security, perf, correctness, style)
  • Optional: Codebase familiarity (familiar, somewhat, unfamiliar)
  • Optional: Time budget (quick scan, std, thorough)

Do

Step 1: Understand Ctx

Read PR description + understand what change accomplishes.

  1. Fetch PR metadata:
    gh pr view <number> --json title,body,author,baseRefName,headRefName,labels,additions,deletions,changedFiles,reviewDecision
    
  2. Read title + description:
    • What problem does PR solve?
    • What approach did author take?
    • Specific areas author wants reviewed?
  3. Check PR size + assess time req:
PR Size Guide:
+--------+-----------+---------+-------------------------------------+
| Size   | Files     | Lines   | Review Approach                     |
+--------+-----------+---------+-------------------------------------+
| Small  | 1-5       | <100    | Read every line, quick review       |
| Medium | 5-15      | 100-500 | Focus on logic changes, skim config |
| Large  | 15-30     | 500-    | Review by commit, focus on critical  |
|        |           | 1000    | files, flag if should be split       |
| XL     | 30+       | 1000+   | Flag for splitting. Review only the  |
|        |           |         | most critical files.                 |
+--------+-----------+---------+-------------------------------------+
  1. Review commit history:
    gh pr view <number> --json commits --jq '.commits[].messageHeadline'
    
    • Commits logical + well-structured?
    • History tells story (each commit coherent step)?
  2. Check CI/CD status:
    gh pr checks <number>
    
    • All checks passing?
    • If failing, note which → affects review

→ Clear understanding of what PR does, why exists, how big, CI green. Ctx shapes review approach.

If err: PR description empty/unclear → note as first feedback. PR w/o ctx = review antipattern. gh cmds fail → verify auth (gh auth status) + repo access.

Step 2: Analyze Diff

Read actual code changes systematically.

  1. Fetch full diff:
    gh pr diff <number>
    
  2. Small/medium PRs: read entire diff sequential
  3. Large PRs: review by commit:
    gh pr diff <number> --patch  # full patch format
    
  4. Each changed file eval:
    • Correctness: Code does what PR says?
    • Edge cases: Boundary conditions handled?
    • Error handling: Caught + handled appropriately?
    • Security: Injection, auth, data exposure risks?
    • Perf: Obvious O(n^2), missing indexes, mem issues?
    • Naming: New vars/fns/classes named clearly?
    • Tests: New behaviors covered by tests?
  5. Take notes as read, classifying each by severity

→ Set of obs covering correctness, security, perf, quality for every meaningful change. Each obs has severity.

If err: diff too large to review effectively → flag: "This PR changes {N} files and {M} lines. I recommend splitting it into smaller PRs for more effective review." Still review highest-risk files.

Step 3: Classify Feedback

Organize obs into severity levels.

  1. Classify each obs:
Feedback Severity Levels:
+-----------+------+----------------------------------------------------+
| Level     | Icon | Description                                        |
+-----------+------+----------------------------------------------------+
| Blocking  | [B]  | Must fix before merge. Bugs, security issues,      |
|           |      | data loss risks, broken functionality.             |
| Suggest   | [S]  | Should fix, but won't block merge. Better           |
|           |      | approaches, missing edge cases, style issues that   |
|           |      | affect maintainability.                            |
| Nit       | [N]  | Optional improvement. Style preferences, minor      |
|           |      | naming suggestions, formatting.                    |
| Praise    | [P]  | Good work worth calling out. Clever solutions,      |
|           |      | thorough testing, clean abstractions.              |
+-----------+------+----------------------------------------------------+
  1. Each Blocking explain:
    • What's wrong (specific issue)
    • Why matters (impact)
    • How to fix (concrete suggestion)
  2. Each Suggest explain alternative + why better
  3. Keep Nits brief — one sentence enough
  4. Include ≥1 Praise if anything positive stands out

→ Sorted feedback list w/ clear severity. Blocking has fix suggestions. Ratio: few Blocking, some Suggest, minimal Nit, ≥1 Praise.

If err: everything seems blocking → PR may need rework not patch. Consider req changes at PR level vs line-by-line. Nothing wrong → say so — "LGTM" valid when code good.

Step 4: Write Comments

Compose review w/ structured actionable feedback.

  1. Write review summary (top-level):
    • One sentence: what PR does (confirm understanding)
    • Overall: approve, req changes, comment
    • Key items: list Blocking (if any) + top Suggest
    • Praise: call out good work
  2. Write inline comments for specific code locations:
    # Post inline comments via gh API
    gh api repos/{owner}/{repo}/pulls/{number}/comments \
      -f body="[B] This SQL query is vulnerable to injection. Use parameterized queries instead.\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"
    
  3. Format feedback consistent:
    • Start each comment w/ severity tag: [B], [S], [N], [P]
    • Use GH suggestion blocks for concrete fixes
    • Link to docs for style/pattern suggestions
  4. Submit review:
    # Approve
    gh pr review <number> --approve --body "Review summary here"
    
    # Request changes (when blocking issues exist)
    gh pr review <number> --request-changes --body "Review summary here"
    
    # Comment only (when unsure or providing FYI feedback)
    gh pr review <number> --comment --body "Review summary here"
    

→ Submitted review w/ clear actionable feedback. Author knows exactly what to fix (Blocking), consider (Suggest), what went well (Praise).

If err: gh pr review fails → check perms. Need write access or be requested reviewer. Inline comments fail → fall back to all feedback in review body w/ file:line refs.

Step 5: Follow Up

Track resolution.

  1. After author responds or pushes updates:
    gh pr view <number> --json reviewDecision,reviews
    
  2. Re-review only changes addressing feedback:
    gh pr diff <number>  # check new commits
    
  3. Verify Blocking resolved before approving
  4. Resolve comment threads as issues addressed
  5. Approve when all Blocking fixed:
    gh pr review <number> --approve --body "All blocking issues resolved. LGTM."
    

→ Blocking verified fixed. Conversation resolved. PR approved or further changes req'd w/ specific remaining items.

If err: author disagrees → discuss in PR thread. Focus on impact (why matters) not authority. Disagreement persists on non-blocking → yield gracefully. Author owns code.

Check

  • PR ctx understood (purpose, size, CI status)
  • All changed files reviewed (or highest-risk for XL PRs)
  • Feedback classified by severity (Blocking/Suggest/Nit/Praise)
  • Blocking has specific fix suggestions
  • ≥1 Praise for positive aspects
  • Review decision matches feedback (approve only if no Blocking)
  • Inline comments ref specific lines w/ severity tags
  • CI/CD checks verified (green before approval)
  • Follow-up done after author revisions

Traps

  • Rubber-stamping: Approving w/o reading diff. Every approval = assertion of quality.
  • Nit avalanche: Drowning author in style prefs. Save nits for mentoring; skip in time-sensitive reviews.
  • Miss forest: Reviewing line-by-line w/o understanding overall design. Read description + commit history first.
  • Block on style: Formatting + naming almost never blocking. Reserve Blocking for bugs, security, data integrity.
  • No praise: Only pointing problems = demoralizing. Good code deserves recognition.
  • Scope creep: Commenting on code not changed in PR. Pre-existing issues → file separate issue.

  • review-software-architecture — system-level architecture review (complementary)
  • security-audit-codebase — deep security analysis for security-sensitive PRs
  • create-pull-request — other side: creating PRs easy to review
  • commit-changes — clean commit history makes PR review easier

GitHub Repository

pjt222/agent-almanac
Pfad: i18n/caveman-ultra/skills/review-pull-request
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Verwandte Skills

llamaguard

Andere

LlamaGuard ist Metas 7-8B-Parameter-Modell zur Moderation von LLM-Eingaben und -Ausgaben in sechs Sicherheitskategorien wie Gewalt und Hassrede. Es bietet eine Genauigkeit von 94-95 % und kann mit vLLM, Hugging Face oder Amazon SageMaker eingesetzt werden. Nutzen Sie diese Skill, um Inhaltsfilterung und Sicherheitsguardrails einfach in Ihre KI-Anwendungen zu integrieren.

Skill ansehen

cost-optimization

Andere

Diese Claude Skill unterstützt Entwickler bei der Optimierung von Cloud-Kosten durch Ressourcen-Dimensionierung, Tagging-Strategien und Ausgabenanalysen. Sie bietet einen Rahmen zur Senkung von Cloud-Ausgaben und zur Implementierung von Kosten-Governance für AWS, Azure und GCP. Nutzen Sie sie, wenn Sie Infrastrukturkosten analysieren, Ressourcen richtig dimensionieren oder Budgetvorgaben einhalten müssen.

Skill ansehen

quantizing-models-bitsandbytes

Andere

Diese Fähigkeit quantisiert LLMs auf 8-Bit- oder 4-Bit-Präzision mittels bitsandbytes und erreicht dabei eine Speicherreduzierung von 50–75 % bei minimalem Genauigkeitsverlust. Sie ist ideal für den Betrieb größerer Modelle mit begrenztem GPU-Speicher oder zur Beschleunigung von Inferenzvorgängen und unterstützt Formate wie INT8, NF4 und FP4. Die Fähigkeit integriert sich in HuggingFace Transformers und ermöglicht QLoRA-Training sowie 8-Bit-Optimierer.

Skill ansehen

dispatching-parallel-agents

Andere

Diese Claude-Fähigkeit verteilt mehrere Agenten, um drei oder mehr unabhängige Probleme gleichzeitig zu untersuchen und zu beheben. Sie ist für Szenarien konzipiert, die unabhängige Fehler umfassen, die ohne gemeinsamen Zustand oder Abhängigkeiten gelöst werden können. Die Kernfähigkeit ist die parallele Problemlösung, bei der pro unabhängigem Problembereich ein Agent zugewiesen wird, um die Effizienz zu maximieren.

Skill ansehen