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
À 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.
À é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é
PrudenceThe 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.
- •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.
Exemples
/smith-ship/smith-ship feat: add retry backoff to the webhook dispatcherShip 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.
- Isolate — check
git status --porcelainFIRST: if the checkout is dirty, STOP and pick ONE path: (a) commit or stash the changes, thenEnterWorktree; or (b) branch in place (git switch -c …) and continue in the current checkout — noEnterWorktreeat all (the tree is still dirty and theworktree-dirty-guardhook would block it; a new worktree starts clean, stranding uncommitted changes).worktree.baseRef: headonly 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-styleconvention before any push. - Review to convergence — run the
/smith-reviewloop; it owns the tool marshaling, per-round receipts, and convergence criteria. Do not ship until it reports converged. - Commit — logically and semantically atomic; conventional subject ≤72,
body ≤72/line,
Assisted-by:trailer (see@smith-style). One concern per commit. - Push & PR — push the renamed branch;
gh pr create --base <default> --assignee @mewith a What/Why/Testing body ending with theAssisted-by:line (@smith-style). Link issues only if real. The body and title are content: show them and create on an explicit yes (@smith-guidanceHarmless). - 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-reviewloop 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"). - 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-branchand follow@smith-stacksinstead. - 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-worktreeSync-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 annexesCe 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.mdDepuis 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’OpenSkillsopenskills 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 syncMode 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.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.