New to Claude Skills? Learn how to install them →

rtk-ai on GitHub

PR Review

Free

Streamline your PR review process with automated checks.

by rtk-ai75.5k stars on rtk-ai/rtk
1 views
Updated Aug 7, 2026
Get this skill

Free · Opens the source repo

What PR Review does

The PR Review skill is designed to facilitate the batch review of pull requests (PRs) in the RTK repository, prioritizing them by complexity from smallest to largest. This tool automates the process of checking each PR for mergeability, CLA compliance, and existing reviews before diving into the code diff. It provides a structured summary for each PR, including essential details such as the size, author, and status, ensuring that reviewers have all necessary information at their fingertips. The skill requires explicit user validation before merging any PR, promoting careful oversight and reducing the risk of errors.

The workflow begins with an optional triage phase, where PRs can be sorted based on their complexity. If triage is not performed, the skill constructs a list of open PRs, filtering out drafts and PRs authored by the user to maintain focus on external contributions. Each PR is then reviewed one at a time, starting with a status check to determine if it is mergeable, if the CLA has been signed, or if there are any requested changes from previous reviews. This systematic approach ensures that only PRs ready for merging are considered, saving time and effort.

When reviewing the code, the skill reads the complete diff and provides a concise summary, including any complexities that may need further explanation. It emphasizes clarity and honesty in the presentation of the code quality, ensuring that reviewers are aware of any potential issues. After presenting the PR details, the skill awaits explicit confirmation from the user before proceeding with the merge, reinforcing the importance of human oversight in the review process.

This skill is particularly useful for teams looking to manage their PR backlog efficiently, ensuring that all contributions are reviewed thoroughly and systematically. It is ideal for use before releases to clear out quick wins and maintain a clean codebase.

When to use it

Use this skill after running a triage to manage PRs effectively, or regularly to maintain a clean backlog.

When not to use it

Avoid this skill if your team prefers a more manual review process or if you are not using GitHub for version control.

What you can build with it

Clearing the PR backlog

Use the PR Review skill regularly to manage and reduce the number of open PRs, ensuring timely reviews and merges.

Pre-release checks

Run this skill before a release to quickly address and merge quick wins from the backlog.

Automated PR triage

Leverage the triage functionality to prioritize PRs based on their complexity, streamlining the review process.

How to install PR Review

View source

1. Install with the skills CLI

npx skills add rtk-ai/rtk/pr-review --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by rtk-ai

/pr-review

Batch review des PRs RTK — du plus simple au plus complexe, une par une, avec validation utilisateur avant chaque merge.


Quand utiliser

  • Après un /rtk-triage pour agir sur les résultats
  • Régulièrement pour dégraisser le backlog
  • Avant une release pour vider la file quick wins

Workflow

Phase 0 — Préconditions

git rev-parse --is-inside-work-tree
gh auth status
date +%Y-%m-%d

Si l'argument triage est passé, exécuter /rtk-triage d'abord et utiliser sa liste de quick wins comme séquence. Sinon, construire la liste soi-même.


Phase 1 — Construire la liste de PRs (si pas de triage)

gh pr list --state open --limit 200 \
  --json number,title,author,additions,deletions,changedFiles,mergeable,mergeStateStatus,isDraft,statusCheckRollup,reviewDecision,body \
  | jq 'sort_by(.additions + .deletions)'

Classement par taille :

TailleCritèreTraitement
XS< 30 lignes, 1 fichierEn premier
S30-100 lignes, 1-3 fichiersEnsuite
M100-200 lignes, logique non trivialeAprès
L> 200 lignesDernier ou skip
XL> 500 lignesSkip (session dédiée)

Filtrer d'emblée :

  • Exclure les PRs draft
  • Exclure les PRs de nous (les nôtres ont une review flow différente)
  • Si from:<num> passé en argument : commencer à ce numéro

Phase 2 — Pour chaque PR (une par une, dans l'ordre)

Étape A — Vérification état (AVANT de lire le diff)

# 1. Etat mergeable + CLA
gh pr view <num> --json mergeable,mergeStateStatus,statusCheckRollup,reviewDecision

# 2. Reviews existantes (CHANGES_REQUESTED ?)
gh api repos/rtk-ai/rtk/pulls/<num>/reviews \
  --jq '.[] | {author: .user.login, state: .state, body: .body}'

# 3. Commentaires inline (si CHANGES_REQUESTED)
gh api repos/rtk-ai/rtk/pulls/<num>/comments \
  --jq '.[] | {author: .user.login, body: .body, path: .path, line: .line}'

Décision rapide selon état :

ÉtatAction
MERGEABLE + CLA ok + pas de CHANGES_REQUESTED→ lire le diff
CONFLICTING→ préparer commentaire rebase, skip diff
CLA non signé→ préparer commentaire CLA, skip diff
CHANGES_REQUESTED par un maintainer→ skip (ne pas override), noter
Draft→ skip silencieusement

Étape B — Lire le diff complet

gh pr diff <num>

Si le diff touche une logique complexe (filter functions, regex, routing) → lire le fichier source en contexte avec Read pour comprendre l'impact réel.

Étape C — Présenter à l'utilisateur

Format de présentation obligatoire pour chaque PR :

**PR #<num>** — https://github.com/rtk-ai/rtk/pull/<num>

**Author**: <login> | **Size**: <XS/S/M/L> (+<add> -<del>, <N> fichiers) | **CLA**: <ok/non signé> | **Mergeable**: <clean/conflit>

**Ce que ça fait** — [description en 2-4 phrases : le problème résolu, les fichiers touchés, la logique modifiée, les tests ajoutés]

**Qualité du diff** : [analyse honnête : propre/à vérifier/problème détecté]

Merge #<num> ?

Règles de présentation :

  • Toujours inclure le lien GitHub cliquable
  • Toujours mentionner si des tests couvrent le changement
  • Si une fonction complexe est touchée, expliquer l'impact
  • Ne pas embellir — si le diff est moyen, le dire
  • Langue : français pour l'analyse (comme ici)

Étape D — Attendre la validation

NE JAMAIS MERGER SANS RÉPONSE EXPLICITE. Les réponses attendues :

RéponseAction
"ok" / "go" / "merge"Merger avec gh pr merge --merge
"skip" / "next"Passer à la PR suivante sans merger
"comment"Poster un commentaire (demander le texte si pas fourni)
"close"Fermer la PR
Retour avec instructionsAppliquer puis redemander confirmation

Étape E — Merger (si validé)

gh pr merge <num> --merge --squash

Confirmer immédiatement : Merged #<num>. ✓

Puis vérifier que la PR suivante n'est pas passée en CONFLICTING à cause du merge (surtout si les deux touchent rules.rs, registry.rs, main.rs, ou CHANGELOG.md).


Phase 3 — PRs bloquées : commentaire boldguy-adapt

Pour les PRs avec conflit, CLA manquant, ou besoin de rebase, poster un commentaire en anglais, ton boldguy-adapt.

Règles du commentaire :

  • Anglais uniquement (GitHub)
  • Remercier la contribution en ouverture (sincèrement, pas de manière générique)
  • Dire clairement ce qui bloque (1-2 points max)
  • Donner les étapes exactes pour débloquer
  • Pas d'em dash (), pas de staccato, longueurs de phrases variées
  • Ne pas sonner comme un bot

Template conflit + CLA :

Hey @<author>, thanks for the contribution! [mention spécifique de ce que la PR apporte]

Two things before we can merge:

1. The branch needs a rebase on `develop` — there's a conflict on [fichier]. A `git rebase origin/develop` should do it.

2. The CLA hasn't been signed yet. The CLAassistant bot left instructions in the PR — just follow the link, takes about a minute.

Once both are sorted, this will move quickly.

Template conflit seul :

Hey @<author>, good fix on [description spécifique]. One thing to address before merge: the branch has a conflict on [fichier] after recent changes to develop. A `git rebase origin/develop` should resolve it cleanly.

Template CLA seul :

Hey @<author>, thanks for [description spécifique]. The only thing blocking merge is the CLA signature — the CLAassistant bot left the link in the PR. Once that's done, we're good to go.

Phase 4 — Récap de session

Après avoir traité toutes les PRs (ou à la demande) :

## Session recap — YYYY-MM-DD

| PR | Titre | Action | Raison |
|----|-------|--------|--------|
| #N | titre | Mergé ✓ | — |
| #N | titre | Skip | CHANGES_REQUESTED (KuSh) |
| #N | titre | Commenté | Conflit + CLA |
| #N | titre | Fermé | Doublon avec #M |

Mergées : N | Skippées : N | Commentées : N

Règles

  • Une PR à la fois — ne jamais présenter plusieurs PRs en attente de validation
  • Jamais merger sans "ok" explicite — "ça a l'air bien" n'est pas un ok
  • Ne pas overrider un CHANGES_REQUESTED d'un maintainer sans instructions explicites de l'utilisateur
  • Vérifier les conflits post-merge sur la PR suivante si les deux touchent les mêmes fichiers
  • Langue : analyse en français, commentaires GitHub en anglais
  • Ton boldguy : factuel, direct, bienveillant, pas de marqueurs AI (em dash, staccato, punchline finale parfaite)

Fichiers fréquemment en conflit (surveiller)

  • CHANGELOG.md — toutes les PRs y touchent
  • src/discover/rules.rs — ajouts fréquents de règles
  • src/discover/registry.rs — tests de classify/rewrite
  • src/main.rs — routing des commandes
  • src/hooks/rewrite_cmd.rs — rewrites hooks

Frequently asked questions about PR Review

Similar skills