Mise à jour de PR

VérifiéPrudence

Valide les modifications pertinentes, fusionne la branche distante par défaut si nécessaire, pousse la branche actuelle de la pull request et rafraîchit les métadonnées obsolètes de la PR. À utiliser lorsque l'utilisateur exécute /update-pr ou demande une mise à jour de la pull request.

Spar Skills Guide Bot
DeveloppementIntermédiaire
24/07/2026
Claude CodeCodex
#git#pull-requests#github-cli#commit-conventions#workflow

Recommandé pour

Synthèse automatique

Ce skill automatise la mise à jour d'une pull request existante : il commite les changements pertinents, fusionne la branche par défaut distante si nécessaire, pousse la branche et rafraîchit le titre et la description de la PR.

Points forts

  • Encadre explicitement l'autorisation de commiter et de pousser, ce qui évite les allers-retours avec l'utilisateur
  • Résout la branche de base via gh au lieu de coder en dur main, et s'arrête si la branche courante est la branche de base
  • Interdit l'amend et le force push, ce qui protège l'historique partagé
  • Réconcilie le corps de la PR avec le template du projet et les commits réels, avec un protocole clair si aucun template n'existe

Limites

  • Dépend de git, de la GitHub CLI authentifiée et d'un accès réseau, donc inutilisable hors GitHub ou hors ligne
  • Ne couvre que la mise à jour d'une PR existante : la création, la revue ou la fusion sont hors périmètre
  • Le choix des fichiers « pertinents » à indexer reste laissé à l'appréciation de l'agent, avec un risque d'oubli ou d'inclusion involontaire
Quand l'utiliser

À utiliser lorsqu'une branche de PR a déjà des commits ou des modifications locales et qu'il faut la synchroniser, la pousser et remettre la description de la PR à jour.

Quand l'éviter

À ne pas utiliser pour la première ouverture d'une pull request, pour relire du code, ou dans un dépôt qui n'est pas hébergé sur GitHub.

Analyse de sécurité

Prudence
Score qualité88/100

The skill is a legitimate PR maintenance workflow with sensible guardrails against force-push and amending. Its risk comes from performing networked git writes and authenticated GitHub CLI operations, not from destructive or exfiltrating behavior.

Points d'attention
  • •Commits local changes and pushes to a remote PR branch, which is a legitimate but impactful write operation.
  • •Requires an authenticated GitHub CLI session and network access to fetch, merge, push, and edit PR metadata.
  • •Edits PR title/body via `gh pr edit`, which changes remote repository state.
  • •The workflow does not force-push or amend commits, which reduces risk, but users should still review staged files before committing.
Comment cette analyse est faite

Exemples

Slash command
/update-pr
Commit and push to the PR
Commit my changes and push them to the current pull request branch.
Refresh stale PR description
Sync this branch with the default branch and update the PR title and body to match what we actually changed.

name: update-pr description: >- Commits relevant changes, merges the remote default when needed, pushes the current pull-request branch, and refreshes stale PR metadata. Use when the user runs /update-pr or asks to update a pull request. license: Unlicense OR MIT compatibility: >- Requires git and the GitHub CLI (gh) authenticated to the target repository, plus network access.

Update PR

Instructions

This workflow is explicit permission to commit relevant changes and push to the current PR branch.

Rules

  • Never amend commits. Always create new commits.
  • Never force push. Use git push without --force or --force-with-lease.

Steps

  1. Inspect repository state and resolve the base branch (never hardcode main):

    • git status --short --branch
    • git diff
    • git diff --staged
    • git log --oneline -5
    • BASE_BRANCH=$(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name')
  2. If the current branch is the base branch, stop and ask for the intended PR branch.

  3. Confirm an open PR exists: gh pr view. If none, ask whether to run /create-pr instead.

  4. If the branch is behind origin/$BASE_BRANCH, merge baseline:

    git fetch origin "$BASE_BRANCH"
    git merge "origin/$BASE_BRANCH" --no-edit
    

    Resolve conflicts and commit the merge if needed before continuing.

  5. If there is nothing new to commit (aside from an already-finished merge), skip to step 8.

  6. Stage only relevant files. Exclude secrets and unrelated local changes.

  7. Commit with a concise Conventional Commit message via HEREDOC:

    • Subject format: type(scope): summary.
    • Use one of: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert.
    • Pick the narrowest accurate scope; omit the scope only when no meaningful scope exists.
    • Use imperative mood, lowercase the summary after the type/scope, and do not end the subject with a period.
  8. Push (set upstream if needed):

    git push -u origin HEAD
    
  9. Reconcile PR title and body with the latest implementation:

    • Search .github/pull_request_template.md and .github/PULL_REQUEST_TEMPLATE/; read every matching PR template relevant to the current PR.
    • Absence protocol: after the template search finds no PR template, state that no project PR template was found and reconcile against the existing PR body structure.
    • gh pr view --json body,url,title
    • Align title, Summary, Testing, linked issues, and scope with commits and verification.
    • Update title: gh pr edit --title "$PR_TITLE" when stale.
    • Update body: gh pr edit --body-file <file> when stale. Keep template structure and reviewer context.
  10. Report: commit hash, branch, PR URL, whether title/body changed, and verification performed.

Do not skip git hooks or verification unless the user explicitly requests it.

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/update-pull-request-mryiqhbf/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/update-pull-request-mryiqhbf' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/update-pull-request-mryiqhbf/download' --output '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md.part' && mv '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md.part' '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Environnement déclaré par l’auteur : Requires git and the GitHub CLI (gh) authenticated to the target repository, plus network access.

Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md' && test -s '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/update-pr' && cp -R '.skill-downloads/update-pull-request-mryiqhbf' '.claude/skills/update-pr'

Codex
test -f '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md' && test -s '.skill-downloads/update-pull-request-mryiqhbf/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/update-pr' && cp -R '.skill-downloads/update-pull-request-mryiqhbf' '.agents/skills/update-pr'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/update-pull-request-mryiqhbf'

openskills read 'update-pull-request-mryiqhbf'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/update-pull-request-mryiqhbf/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires