Pipeline de livraison

VérifiéPrudence

Pipeline de livraison : passez en revue une modification, effectuez un commit atomique, push, PR, répondez à la revue, fusionnez et nettoyez.

Spar Skills Guide Bot
DevOpsAvancé
22/07/2026
Claude Code
#git-workflow#pull-requests#code-review#worktree#release-automation

Recommandé pour

Synthèse automatique

Pilote une modification présente dans un worktree à travers tout le cycle d'expédition : boucle de revue jusqu'à convergence, commit atomique, push, création de PR, traitement des retours, squash-merge, synchronisation ff-only et nettoyage.

Points forts

  • Enchaîne des phases ordonnées (isolation, revue, commit, PR, retours, merge, sync) et ne s'arrête que sur les déclencheurs « must-ask » définis
  • Impose des commits sémantiquement atomiques avec sujet conventionnel ≤72 caractères et trailer Assisted-by
  • Exige une convergence de revue obtenue sur le dernier commit poussé avant d'autoriser le merge, et non une simple revérification mécanique
  • Gère l'isolation par worktree ainsi que le nettoyage après squash-merge, y compris la branche orpheline

Limites

  • Dépend de cinq skills compagnons (smith-gh-pr, smith-git, smith-style, smith-worktree, smith-subagents) et des worktrees/hooks de Claude Code
  • Suppose une CLI gh authentifiée et une revue CodeRabbit réellement exécutée ; inutilisable hors de cet écosystème
  • Les PR empilées nécessitent de suivre smith-stacks et d'omettre --delete-branch, ce qui complique le cas nominal
Quand l'utiliser

À utiliser lorsqu'une modification est prête dans un worktree et que vous voulez la livrer de bout en bout jusqu'au merge, avec revue, PR et nettoyage.

Quand l'éviter

À éviter pour un correctif urgent sans PR, ou dans un dépôt dépourvu de gh et des skills compagnons requis.

Analyse de sécurité

Prudence
Score qualité85/100

The skill orchestrates legitimate version-control and PR workflows using git and gh, including push, merge, and branch deletion. These are powerful, network-touching, and potentially destructive to remote branch state, so it warrants caution, but there is no exfiltration, obfuscation, or sabotage.

Points d'attention
  • •Executes `git push` and `gh pr merge --squash --delete-branch`, which modify remote repository state and delete branches.
  • •Uses shell command substitution in live state (`git status -s`, `git branch --show-current`, `gh pr status`) though limited to declared git/gh tools.
Comment cette analyse est faite

Exemples

Ship the current change
/smith-ship
Ship with an explicit PR scope
/smith-ship feat: add retry backoff to the webhook dispatcher
Ship end-to-end in plain language
Ship this worktree change end-to-end: run the review loop until it converges, make an atomic commit, open the PR, address the review findings, squash-merge, then sync the default branch and clean up the worktree.

name: smith-ship description: Ship pipeline — review a worktree change to convergence, then atomic commit, push, PR, address review, squash-merge, ff-only sync, cleanup. Invoke with /smith-ship when you want to ship the current change end-to-end. argument-hint: [scope or PR title] allowed-tools: Bash(git *), Bash(gh *)

/smith-ship — ship the current change end-to-end

Drive the change in the current worktree from review to merged, following smith conventions. Run phases in order; stop and surface only on the must-ask triggers in @smith-gh-pr/SKILL.md (Review Convergence Protocol). Argument (if given) is the intended PR scope/title.

Live state

  • Status: !git status -s
  • Branch: !git branch --show-current
  • Open PR (if any): !gh pr status 2>/dev/null | head -20

Procedure

Load and follow @smith-gh-pr/SKILL.md, @smith-git/SKILL.md, @smith-style/SKILL.md, @smith-worktree/SKILL.md, and @smith-subagents/SKILL.md.

  1. Isolate — check git status --porcelain FIRST: if the checkout is dirty, STOP and pick ONE path: (a) commit or stash the changes, then EnterWorktree; or (b) branch in place (git switch -c …) and continue in the current checkout — no EnterWorktree at all (the tree is still dirty and the worktree-dirty-guard hook would block it; a new worktree starts clean, stranding uncommitted changes). worktree.baseRef: head only preserves already-committed unpushed work, never uncommitted changes. Then, if on the EnterWorktree path in a background session, enter the worktree (see @smith-worktree) and rename the branch to the @smith-style convention before any push.
  2. Review to convergence — run the /smith-review loop; it owns the tool marshaling, per-round receipts, and convergence criteria. Do not ship until it reports converged.
  3. Commit — logically and semantically atomic; conventional subject ≤72, body ≤72/line, Assisted-by: trailer (see @smith-style). One concern per commit.
  4. Push & PR — push the renamed branch; gh pr create --base <default> --assignee @me with a What/Why/Testing body ending with the Assisted-by: line (@smith-style). Link issues only if real. The body and title are content: show them and create on an explicit yes (@smith-guidance Harmless).
  5. Address review — follow @smith-gh-pr (Code Review Cycle, Posting Review Findings) for fetching, replying, attribution, suggestion blocks, and the content-vs-mechanics gate. Ship-specific: fix high-confidence findings with fix + amend (not new commits); after each push rerun the /smith-review loop to a fresh converged verdict (full receipt + criteria — a mechanics-only recheck is not convergence); confirm CodeRabbit actually ran before trusting 0 (@smith-gh-pr "CodeRabbit fails OPEN").
  6. Merge — on a converged verdict for the LATEST pushed commit (earlier convergence does not carry across new commits), gh pr merge --squash --delete-branch (targets the current branch's PR). If this branch has an open child PR stacked on it, OMIT --delete-branch and follow @smith-stacks instead.
  7. Sync & clean up — ExitWorktree (remove), then ff-only pull the repo's DEFAULT branch in the primary checkout; clear any squash-merge orphan branch (@smith-worktree Sync-After-Squash-Merge).

State results in your own message (in-band); end with a result: line.

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/ship-pipeline-mrwakbjb/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/ship-pipeline-mrwakbjb' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ship-pipeline-mrwakbjb/download' --output '.skill-downloads/ship-pipeline-mrwakbjb/SKILL.md.part' && mv '.skill-downloads/ship-pipeline-mrwakbjb/SKILL.md.part' '.skill-downloads/ship-pipeline-mrwakbjb/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.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash(git *), Bash(gh *)

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/ship-pipeline-mrwakbjb/SKILL.md' && test -s '.skill-downloads/ship-pipeline-mrwakbjb/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/smith-ship' && cp -R '.skill-downloads/ship-pipeline-mrwakbjb' '.claude/skills/smith-ship'

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/ship-pipeline-mrwakbjb'

openskills read 'ship-pipeline-mrwakbjb'

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/ship-pipeline-mrwakbjb/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