Préparer et ouvrir une pull request

VérifiéPrudence

Prépare et ouvre une pull request GitHub en suivant le workflow du dépôt, sans créer de commits ni pousser de branches.

Spar Skills Guide Bot
DevOpsIntermédiaire
27/07/2026
Claude Code
#pull-request#git-workflow#github-cli#code-quality#python

Recommandé pour

Synthèse automatique

Prépare et ouvre une pull request GitHub en draft vers `develop`, après vérification de la branche, exécution du contrôle qualité Python (ruff, black, pytest) et rédaction d'un message de commit suggéré.

Points forts

  • Impose le passage du quality gate local (ruff, black --check, pytest) avant toute ouverture de PR et s'arrête en cas d'échec.
  • Refuse de committer ou de pousser des branches, ainsi que de stager silencieusement des modifications hors périmètre : il demande l'arbitrage à l'utilisateur.
  • Remplit le template `.github/PULL_REQUEST_TEMPLATE.md` avec un contenu factuel et explicite, en écrivant « Not applicable » plutôt qu'en inventant une issue liée.
  • Contrôle les prérequis `gh` (version, authentification) et valide le nommage de branche selon la convention du dépôt.

Limites

  • Fortement lié à ce dépôt : base `develop`, template de PR, convention `type(scope): description` et commandes Python exécutées à la racine.
  • Ne crée ni commit ni push : si la branche n'est pas déjà sur `origin`, le flux s'interrompt et l'utilisateur doit agir manuellement.
  • Produit par défaut une PR en draft, sans passer en ready-for-review sans demande explicite.
Quand l'utiliser

À utiliser lorsque l'implémentation est terminée sur une branche feature/fix déjà poussée et qu'il faut vérifier la qualité puis ouvrir une PR conforme au dépôt.

Quand l'éviter

À éviter pour committer, pousser du code ou ouvrir une PR vers une autre branche de base que `develop`, ou sur un dépôt qui n'utilise pas ruff/black/pytest.

Analyse de sécurité

Prudence
Score qualité93/100

The skill performs legitimate repo automation using git, gh, ruff, black, and pytest. It does not instruct destructive actions, exfiltration, or unsafe shell patterns, but it does use network-capable CLI tools and executes local test code, so caution is warranted.

Points d'attention
  • •Uses git and gh CLI commands, including network/API calls, without declaring allowed tools.
  • •Executes the repository test suite (pytest), which may run arbitrary project code.
Comment cette analyse est faite

Exemples

Slash command
/to-pr
Open a draft PR for the current branch
Prepare and open a draft PR for this branch against develop — run the quality gate first and suggest a commit message.
Ship a finished fix
My fix/123-login-timeout work is done and pushed. Check the scope, run ruff, black and pytest, then create the PR using our template.

name: to-pr description: Use when the user types /to-pr, asks to prepare or open a PR, or wants Claude to standardize branch checks, validation, a suggested commit message, and draft PR creation for this repo. Follows the repo PR template, develop base branch, and the repo-root Python quality gate (ruff, black, pytest). version: "1.0.0"

To PR

Prepares and opens a GitHub pull request for this repository using the documented workflow, without creating commits or pushing branches.

When to use

  • When the user types /to-pr
  • When the user asks Claude to prepare, publish, or open a PR
  • After the implementation is complete and ready for review handoff

Preconditions

  • Run git and gh commands from the repo root.
  • Run validation from the repo root (Python project, no subfolder build step).
  • Do not create commits in this skill.
  • Do not push branches in this skill. If the branch is not already on origin, stop and ask the user to push it manually.
  • A linked GitHub issue is not required — this is a solo, course-scale project (see docs/INDEX.md). If an issue exists, link it; if not, proceed without one.

Workflow

  1. Inspect scope first with git status -sb and git diff --stat. If the worktree includes unrelated changes, do not stage everything; ask which files belong in scope.
  2. Check the branch. Never open a PR from develop or main. Branch names should follow feature/..., fix/..., chore/..., docs/..., refactor/..., or test/..., optionally with an issue number (see CONTRIBUTING.md).
  3. If a related issue exists and its context is unclear, fetch it with gh issue view <number> --comments before drafting the PR summary.
  4. Verify GitHub CLI readiness with gh --version and gh auth status. If auth is missing, stop and ask the user to authenticate.
  5. Run the required local quality gate from the repo root:
ruff check .
black --check .
pytest
  1. Generate a suggested commit message using this repo's convention (see CONTRIBUTING.md): a single line, type(scope): description, no body unless the user asks for one, and never a Co-Authored-By: Claude trailer.
  2. Confirm the branch is already ready for review. If there are uncommitted changes or unpushed commits that should be part of the PR, stop and ask the user to handle commit/push manually before continuing.
  3. Open a draft PR targeting develop with gh pr create --draft --base develop.
  4. Use .github/PULL_REQUEST_TEMPLATE.md for the PR body and fill every section that applies. If there's no linked issue, write Not applicable under Related Issue instead of leaving it blank or fabricating one.
  5. Keep the PR text high-signal. Prefer short factual statements tied to the actual diff. Avoid filler, vague benefits, generic AI phrasing, and claims like "improves maintainability" unless the PR body explains exactly how.
  6. After creation, report the suggested commit message, branch name, validation status, and PR URL.

Safety rules

  • Never stage unrelated user changes silently.
  • Default to a draft PR unless the user explicitly asks for ready-for-review.
  • Never create a commit or push a branch from this skill.
  • If ruff, black --check, or pytest fail, stop and fix or report the failures before opening the PR.
  • Never pad the PR description with low-information text just to make sections look fuller.

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/prepare-and-open-pull-request-ms2s7bfn/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/prepare-and-open-pull-request-ms2s7bfn' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/prepare-and-open-pull-request-ms2s7bfn/download' --output '.skill-downloads/prepare-and-open-pull-request-ms2s7bfn/SKILL.md.part' && mv '.skill-downloads/prepare-and-open-pull-request-ms2s7bfn/SKILL.md.part' '.skill-downloads/prepare-and-open-pull-request-ms2s7bfn/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.

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/prepare-and-open-pull-request-ms2s7bfn/SKILL.md' && test -s '.skill-downloads/prepare-and-open-pull-request-ms2s7bfn/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/to-pr' && cp -R '.skill-downloads/prepare-and-open-pull-request-ms2s7bfn' '.claude/skills/to-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/prepare-and-open-pull-request-ms2s7bfn'

openskills read 'prepare-and-open-pull-request-ms2s7bfn'

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/prepare-and-open-pull-request-ms2s7bfn/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