THE MEDIA FOR AI THAT ACTUALLY HELPS.French edition · Understand & take action
The interface is in English. Use cases, skills and articles remain in French.
Sentry

Itérer sur une PR jusqu’à un CI vert

iterate-pr

En bref

Sert à itérer sur une pull request jusqu’à ce que le CI actionnable passe et que les retours de revue de priorité haute ou moyenne soient traités. On n’attend pas une approbation humaine, un statut brouillon, une porte de fusion, Codecov ou des robots informatifs. Sur une PR encore en brouillon, on inspecte les contrôles et les retours, mais on ne la marque pas prête à relire, sauf demande. Il faut un `gh` authentifié, `uv`, et le dépôt cible comme répertoire de travail. Des scripts fournis récupèrent les contrôles, les retours, et surveillent le CI. Ce n’est pas pr-writer (titre et description destinés aux relecteurs), ni pr-link-issue (bloc d’issues GitHub et Linear).

Ce que ça fait

  • Corrige le CI actionnable et les retours haute ou moyenne d’une PR, sans attendre l’approbation ou une porte de fusion
  • Ne passe pas une PR brouillon en prêt à relire sauf demande ; le titre et le lien d’issue vont à d’autres skills

Pour qui, et un exemple

Les contributeurs qui ont une PR Sentry en cours, avec du CI rouge ou des retours actionnables, et veulent la faire passer au vert, pas rédiger son titre.

Exemple de demande : « Reprends cette PR : corrige les checks actionnables et les retours medium, sans attendre l’approbation, et ne la sors pas du brouillon. »

Quand il faut faire passer le CI et les retours actionnables d’une PR, et non rédiger son titre, y lier un ticket, ou documenter un endpoint. Exemple rédigé par iadujour.fr à partir du SKILL.md, non testé.

Installer

npx skills add getsentry/skills ou, dans Claude Code, claude plugin marketplace add getsentry/skills puis claude plugin install sentry-skills@sentry-skills.

npx skills add getsentry/skills
claude plugin marketplace add getsentry/skills
claude plugin install sentry-skills@sentry-skills

Fonctionne avec

  • Claude Code
  • Cursor
  • Cline
  • GitHub Copilot

Source : README : installation Claude Code, et skills.sh « Works with Claude Code, Cursor, Cline, GitHub Copilot, and other compatible agents ».

Niveau : Intermédiaire

Suppose un projet déjà en place chez l’éditeur et les outils décrits dans le SKILL.md.

À savoir

Dépôt officiel Sentry ; le README précise que ces skills sont destinées aux employés Sentry.

Extrait du SKILL.md

La description d’origine, celle que l’agent lit pour décider de charger la skill (en anglais) :

Iterate on a PR until actionable CI passes and high/medium review feedback is addressed. Use for PR CI failures, review feedback, or green-check loops; do not wait for human approval, draft status, or merge gates.

Citée depuis le SKILL.md au commit aaa8515 . Le dossier contient aussi 6 fichiers annexes (agents/, scripts/).

Le SKILL.md compte 139 lignes et 10 sections principales :

  • Bundled Scripts
  • Workflow
  • 1. Identify PR
  • 2. Handle Feedback
  • 3. Check CI Status
  • 4. Fix CI Failures
  • 5. Verify Locally, Then Commit and Push
  • 6. Monitor CI and Address Feedback
  • Exit Conditions
  • Fallback

Licence : Apache 2.0

Vérifiée le 10 novembre 2026 sur : fichier LICENSE du dépôt .

La licence autorise la reprise : le texte intégral du SKILL.md est reproduit ci-dessous, sans modification, avec sa mention de licence.

Texte intégral du SKILL.md

Reproduit sans modification depuis getsentry/skills (commit aaa8515) , © Sentry, sous licence Apache 2.0 (fichier de licence d’origine ).

Afficher le SKILL.md original (139 lignes, en anglais)
---
name: iterate-pr
description: Iterate on a PR until actionable CI passes and high/medium review feedback is addressed. Use for PR CI failures, review feedback, or green-check loops; do not wait for human approval, draft status, or merge gates.
disable-model-invocation: false
---

# Iterate on PR Until CI Passes

Goal: fix actionable CI failures and high/medium review feedback. Stop and report human approval, draft-readiness, and merge-readiness gates.

Requires:
- authenticated `gh`
- `uv`
- target repository root as cwd
- skill-root-relative script paths, for example `scripts/fetch_pr_checks.py`

## Bundled Scripts

| Script | Run | Output |
|--------|-----|--------|
| `scripts/fetch_pr_checks.py` | `uv run scripts/fetch_pr_checks.py [--pr NUMBER]` | JSON: `pr`, `summary`, `checks`, failure snippets |
| `scripts/fetch_pr_feedback.py` | `uv run scripts/fetch_pr_feedback.py [--pr NUMBER]` | JSON buckets: `high`, `medium`, `low`, `bot`, `resolved` |
| `scripts/monitor_pr_checks.py` | `uv run scripts/monitor_pr_checks.py [--pr NUMBER]` | terminal marker plus tab-separated checks |
| `scripts/reply_to_thread.py` | `uv run scripts/reply_to_thread.py THREAD_ID BODY [...]` | JSON reply results |

Check summary fields include `failed`, `pending`, `actionable_pending`, and `human_gate_pending`.

Monitor markers:
- `ALL_CHECKS_PASSED`
- `CHECKS_DONE_WITH_FAILURES`
- `NO_CHECKS_REGISTERED`
- `DRAFT_PR_WITH_NO_CHECKS`
- `CHECKS_BLOCKED_BY_REVIEW_GATE`

## Workflow

### 1. Identify PR

Run:
```bash
gh pr view --json number,url,headRefName,isDraft,reviewDecision
```

Stop when:
- no PR exists
- draft PR has no checks after monitor grace period: report `DRAFT_PR_WITH_NO_CHECKS`

Draft rule: inspect existing checks/feedback only. Do not mark ready for review unless asked.

### 2. Handle Feedback

Run `uv run scripts/fetch_pr_feedback.py [--pr NUMBER]`.

| Bucket | Action |
|--------|--------|
| `high` | fix |
| `medium` | fix |
| `low` | ask user which to address |
| `bot` | skip informational comments |
| `resolved` | skip |

Feedback fix checklist:
- verify root cause
- search related code
- fix all instances
- for `review_bot: true`: fix real issues, explain false positives

Low-priority prompt format:
```text
Found 3 low-priority suggestions:
1. [l] "Consider renaming this variable" - @reviewer in api.py:42
2. [nit] "Could use a list comprehension" - @reviewer in utils.py:18
3. [style] "Add a docstring" - @reviewer in models.py:55

Which should I address? ("1,3", "all", or "none")
```

### 3. Check CI Status

Run `uv run scripts/fetch_pr_checks.py [--pr NUMBER]`.

| State | Action |
|-------|--------|
| `failed > 0` and `actionable_pending == 0` | fix failures |
| `actionable_pending > 0` | wait; poll feedback while waiting |
| `pending > 0` and `actionable_pending == 0` | report `CHECKS_BLOCKED_BY_REVIEW_GATE` |
| no checks after grace period | report `NO_CHECKS_REGISTERED` or `DRAFT_PR_WITH_NO_CHECKS` |
| all actionable checks passed | run post-CI feedback check |

Wait for actionable review bots: sentry, warden, cursor, bugbot, seer, codeql.
Do not wait for approval, `isDraft`, `REVIEW_REQUIRED`, Codecov, or informational bots.

### 4. Fix CI Failures

For each failure:
1. read full log: `gh run view <run-id> --log-failed`
2. trace from assertion/exception/lint rule to source
3. state the cause before editing: "fails because X, affected by Y"
4. search related call sites/patterns
5. fix root cause, not symptom
6. add focused test coverage when needed

### 5. Verify Locally, Then Commit and Push

Before commit:
- test fix: rerun specific test
- lint/type fix: rerun affected checker
- code fix: rerun covering tests
- local failure: fix before pushing

```bash
git add <files>
git commit -m "fix: <descriptive message>"
git push
```

### 6. Monitor CI and Address Feedback

Loop:
1. run `uv run scripts/fetch_pr_checks.py`
2. handle table in step 3
3. while `actionable_pending > 0`, run `uv run scripts/fetch_pr_feedback.py`
4. fix new high/medium feedback immediately
5. if changed, verify, commit, push, restart loop
6. otherwise sleep 30 seconds and repeat
7. after checks pass, wait 10 seconds, fetch feedback once more
8. if new high/medium feedback exists, return to step 4

Claude Code optional: run `uv run scripts/monitor_pr_checks.py` through `MonitorTool` with `persistent: false`; set timeout to normal repo CI duration. Restart the monitor after every push.

## Exit Conditions

| Exit | Conditions |
|------|------------|
| Success | actionable CI passed; post-CI feedback clean; low-priority choice handled |
| Ask user | same failure after 2 attempts; feedback unclear; infrastructure issue |
| Stop | no PR; branch needs rebase; no checks; draft no-checks; only human gates remain |

## Fallback

If scripts fail, use `gh` CLI directly:
- `gh pr view --json number,url,headRefName,isDraft,reviewDecision`
- `gh pr checks --json name,state,bucket,description,link`
- `gh run view <run-id> --log-failed`
- `gh api repos/{owner}/{repo}/pulls/{number}/comments`
Source. Fiche rédigée par iadujour.fr à partir de : Frontmatter, sections et corps du SKILL.md, README du dépôt. Consultée le 10 novembre 2026. Dépôt : getsentry/skills .
MÊME ÉDITEUR

Autres skills Sentry : Observabilité et supervision

Toute la catégorie
SentryObservabilité et supervision

Recommander les permissions Claude Code

claude-settings-audit

La skill analyse un dépôt pour proposer des permissions Claude Code (settings.json) adaptées aux commandes en lecture seule.

Outils : Claude Code, Cursor, Cline +1Niveau : Intermédiairemàj 05/11/2026
SentryObservabilité et supervision

Parcourir un Sentry local dans le navigateur

browse-local-sentry

La skill connecte le navigateur d’un agent à un serveur de développement Sentry local : soit dev-ui (pnpm run dev-ui) sur une URL du type org-slug.dev.getsentry.net et un port, soit le devserver complet (devservices serve) en http://dev.getsentry.net:8000/.

Outils : Claude Code, Cursor, Cline +1Niveau : Intermédiairemàj 26/10/2026
SentryObservabilité et supervision

Démarrer avec Sentry

sentry-get-started

Point d’entrée guidé pour utiliser Sentry via un agent : on oriente d’abord selon la configuration déjà en place, puis, pour un projet nouveau, on installe Sentry de bout en bout avec des réglages raisonnables (provisionner un projet, installer le SDK, confirmer l’arrivée d’une vraie télémétrie).

Outils : Non précisé par l’éditeurNiveau : Intermédiairemàj 23/10/2026
ÉCHANGES

Commentaires.

Un retour d’expérience, une question, une précision sur cette skill ? Les commentaires sont relus avant publication.

Commentaires publiés

Chargement des commentaires…

    Laisser un commentaire

    Charte de modération. Chaque commentaire est relu avant publication. Sont refusés : l’incitation à la haine, les propos injurieux ou discriminatoires, la publicité, le spam et les liens promotionnels, le hors-sujet et les données personnelles d’autrui.