gh-review-requests

Récupère les notifications GitHub non lues pour les PRs ouvertes où une révision est demandée à une équipe spécifiée ou ouvertes par un membre de l'équipe. À utiliser quand on demande de « trouver les PRs que je dois examiner », « afficher mes demandes d'examen », « qu'est-ce qui nécessite mon examen », « récupérer les demandes d'examen GitHub », ou « vérifier la file d'attente d'examen de l'équipe ».

npx skills add https://github.com/getsentry/skills --skill gh-review-requests

Demandes d'Examen GitHub

Récupérer les notifications non lues review_requested pour les PRs ouvertes (non fusionnées), filtrées par une équipe GitHub.

Requis: GitHub CLI (gh) authentifié.

Requis: Le CLI uv pour la gestion des packages Python, guide d'installation sur https://docs.astral.sh/uv/getting-started/installation/

Étape 1 : Identifier l'Équipe

Si l'utilisateur n'a pas spécifié d'équipe, demander :

Which GitHub team should I filter by? (e.g. streaming-platform)

Accepter soit un slug d'équipe (streaming-platform) soit un nom d'affichage ("Streaming Platform") — convertir en slug minuscule-tirets avant de passer au script.

Étape 2 : Exécuter le Script

uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team-slug>

Pour filtrer par plusieurs équipes, passer une liste séparée par des virgules :

uv run ${CLAUDE_SKILL_ROOT}/scripts/fetch_review_requests.py --org getsentry --teams <team slugs>

Sortie du script

{
  "total": 3,
  "prs": [
    {
      "notification_id": "12345",
      "title": "feat(kafka): add workflow to restart a broker",
      "url": "https://github.com/getsentry/ops/pull/19144",
      "repo": "getsentry/ops",
      "pr_number": 19144,
      "author": "bmckerry",
      "reasons": ["opened by: bmckerry"]
    }
  ]
}

reasons contient un ou les deux :

  • "review requested from: <Team Name>" — l'équipe est un relecteur demandé
  • "opened by: <login>" — l'auteur de la PR est un membre de l'équipe

Étape 3 : Présenter les Résultats

Afficher les résultats sous forme de tableau markdown avec les URLs complètes :

# Title URL Reason
1 feat(kafka): add workflow to restart a broker https://github.com/getsentry/ops/pull/19144 opened by: evanh

Si total est 0, dire : "No unread review requests found for that team."

Secours

Si le script échoue, exécuter manuellement :

gh api notifications --paginate

Ensuite pour chaque notification review_requested, vérifier :

  • gh api repos/{repo}/pulls/{number} — ignorer si state == "closed" ou merged_at est défini
  • gh api repos/{repo}/pulls/{number}/requested_reviewers — vérifier teams[].name
  • gh api orgs/{org}/teams/{slug}/members — vérifier si l'auteur est un membre