CommunityRédaction et éditiongithub.com

nicolasroy-fr/mr-description

Génère ou met à jour le titre et la description d'une Merge Request (MR) GitLab ou d'une Pull Request (PR) GitHub, en français, avec un modèle de titre fixe et une description structurée (Description, Contexte, Changements, Tests).

Qu'est-ce que mr-description ?

Cette compétence d'agent IA vous assiste dans la rédaction et la mise à jour des titres et descriptions de Merge Requests (MR) GitLab et Pull Requests (PR) GitHub, entièrement en français. Elle est conçue pour respecter un format de titre imposé (`[<numéro de carte>] <NOM DU DÉPÔT> - <sujet> - courte description`) et une description structurée en sections : Description, Contexte, Changements et Tests. L'agent détecte automatiquement la plateforme cible (GitLab ou GitHub) à partir de l'URL fournie ou de la configuration `git remote` du dépôt courant. Il analyse les branches, le diff et les commits pour comprendre le contenu réel de la MR/PR, propose des suggestions, mais ne modifie jamais le contenu sans une confirmation explicite de l'utilisateur. La compétence est particulièrement utile pour les développeurs souhaitant standardiser et améliorer la qualité de leurs titres et descriptions de MR/PR, en garantissant une cohérence et une complétude, tout en restant flexible pour s'adapter aux spécificités de chaque projet.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nicolasroy-fr/claude-code-marketplace/tree/HEAD/plugins/dev/skills/mr-description

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Titre et description de MR / PR

Tout ce qui est écrit dans la MR/PR (titre, description) et toute question posée à l'utilisateur se fait en français. Dites « MR » pour GitLab et « PR » pour GitHub.

Arguments (facultatifs)

Contenu reçu : $ARGUMENTS

ArgumentCible
https://github.com/<propriétaire>/<dépôt>/pull/<n>PR GitHub
https://<hôte>/<groupe>/<dépôt>/-/merge_requests/<iid>MR GitLab
#<n> / <n> seulMR ou PR du dépôt courant : déduire la plateforme de git remote -v
rienMR ou PR de la branche courante : déduire la plateforme de git remote -v

Si la plateforme ne peut pas être déduite (hôte auto-hébergé, plusieurs dépôts distants), demander.

Règles strictes

  • Ne jamais modifier la MR/PR sans confirmation explicite du titre et de la description, puis une autorisation explicite séparée pour envoyer.
  • Ne jamais inventer de faits (numéro de carte, contexte, tests). Demander ou omettre.
  • Aucune mention de Claude dans le contenu de la MR/PR.

Étapes

1. Identifier et récupérer la MR/PR

Résoudre la cible à partir des arguments (tableau ci-dessus), puis lire la référence correspondante avant d'exécuter une commande :

  • references/sources/gitlab.md
  • references/sources/github.md

Si la CLI (glab / gh) est manquante ou non authentifiée, en informer l'utilisateur (suggérer ! glab auth login / ! gh auth login) plutôt que de deviner.

Récupérer : le titre actuel, la description actuelle, les branches source/cible, et les modifications (diff et liste des commits), en suivant la référence. Lire le diff pour comprendre le contenu réel de la MR/PR.

Déterminer :

  • Nom du dépôt : dernier segment du chemin du projet, en MAJUSCULES.
  • Numéro de carte : chercher dans le titre existant, le nom de branche, les commits et la description (ex. ABC-123, #123). Si aucun n'est trouvé, demander une fois ; si l'utilisateur dit qu'il n'y en a pas, omettre complètement les crochets.

2. Titre

Modèle (identique sur les deux plateformes) :

[<numéro de carte>] <NOM DU DÉPÔT> - <sujet> - courte description
  • Crochets et numéro de carte uniquement si une carte existe.
  • <NOM DU DÉPÔT> : nom du dépôt en majuscules.
  • <sujet> : toujours demander à l'utilisateur (proposer une suggestion déduite du diff comme option par défaut, mais ne pas décider seul). Si le titre actuel contient déjà un sujet, proposer de le conserver.
  • Courte description : succincte, en français, commence par une minuscule, pas de point final.
  • Si un titre existant est déjà bien formé et correspond encore au contenu de la MR/PR, le conserver et le signaler. S'il ne correspond plus, proposer une version modifiée et montrer l'avant/après.

3. Description

Structure (Markdown, en français) :

# Description

<Une ou deux phrases résumant l'objectif de la MR/PR.>

## Contexte

<État actuel du code s'il s'agit d'une modification ; résultat attendu : contraintes,
objectifs, architecture, stratégie.>

## Changements

- <Changement de haut niveau>
- ...

## Tests

- <Tests écrits, ou tests manuels effectués>

Guide pour les sections :

  • Description : 1 à 2 phrases sur l'objectif. Proposer un brouillon et demander à l'utilisateur de valider ou de corriger.
  • Contexte : décrit l'état avant (pour une modification) et le résultat attendu (contraintes, objectifs, architecture, stratégie). Procéder point par point : soumettre chaque point à l'utilisateur pour validation et poser une question chaque fois qu'un point pourrait être clarifié (pourquoi ce choix, quelle contrainte, quelle alternative rejetée). Ne pas continuer avec des hypothèses non validées.
  • Changements : liste de haut niveau uniquement. Entrer dans les détails seulement lorsque le changement concerne précisément ce détail ou lorsqu'il est essentiel pour comprendre la MR/PR dans son ensemble.
  • Tests : grandes lignes des tests automatisés écrits (fichiers/zones couvertes) et des tests manuels effectués. Si inconnu, demander ; ne jamais prétendre avoir effectué des tests qui ne l'ont pas été.

Préférer regrouper les questions connexes avec AskUserQuestion (sujet, numéro de carte, points de contexte) plutôt que de multiplier les allers-retours.

4. Description existante (cas de mise à jour)

Si la MR/PR a déjà une description :

  • Montrer ce qui changerait, section par section (ajouté / modifié / supprimé), pas seulement le nouveau texte.
  • Conserver le contenu utile que l'utilisateur a écrit (liens, captures d'écran, listes de vérification, sections de modèle, mots-clés de fermeture comme Closes #12) ; mentionner si quelque chose serait supprimé.
  • Demander confirmation des modifications avant d'aller plus loin.

5. Confirmer, puis envoyer

  1. Présenter le titre final, la MR/PR cible (URL, branches) et la description complète, et demander confirmation des trois.
  2. Ce n'est qu'après cela qu'il faut poser une question séparée : l'autorisation d'envoyer les modifications sur la plateforme.
  3. Après approbation, écrire la description dans un fichier temporaire/brouillon et mettre à jour la MR/PR avec la commande issue de la référence de la plateforme. Ces commandes ne sont pas dans allowed-tools intentionnellement, afin que l'utilisateur reçoive une invite d'autorisation.
  4. Rapporter le résultat et l'URL de la MR/PR. En cas d'échec, afficher l'erreur ; ne pas réessayer en silence.

Skills associés