merge
par alirezarezvanimerge est un skill AgentHub pour /hub:merge qui intègre la branche de l’agent gagnant dans la branche de base, archive les branches perdantes avec des tags, nettoie les worktrees et rédige un résumé après merge.
Ce skill obtient 64/100, ce qui signifie qu’il peut être listé, mais qu’il doit être présenté comme un workflow limité et propre à AgentHub plutôt que comme un outil de merge autonome. Les utilisateurs de l’annuaire disposent d’assez d’informations pour savoir quand lancer `/hub:merge` et quelles opérations Git il est censé effectuer. Son adoption comporte toutefois des réserves, car les éléments fournis ne montrent pas certains outils clés de nettoyage et la prise en charge des cas limites comme des garde-fous reste limitée.
- Déclenchement clair : le frontmatter définit `/hub:merge`, et la description indique de l’utiliser pour intégrer le résultat AgentHub gagnant.
- Fournit des exemples d’utilisation concrets pour la dernière session, une session précise et une sélection explicite de l’agent.
- Décrit un vrai workflow basé sur Git : identifier le gagnant, fusionner avec `--no-ff`, marquer les branches perdantes avec des tags d’archive, supprimer les refs des branches perdantes et rédiger un résumé de merge.
- L’étape de nettoyage appelle `scripts/session_manager.py`, mais les éléments fournis pour le package du skill ne montrent aucun script ni fichier de support ; cette commande peut donc échouer si elle n’est pas fournie ailleurs dans le dépôt plus large.
- Les consignes de sécurité opérationnelle restent limitées pour un workflow Git destructif : elles montrent `git branch -D` et des commandes de merge, mais ne prévoient ni gestion des conflits, ni procédure de retour arrière, ni mode dry run, ni checklist de vérification.
Présentation du merge skill
À quoi sert le merge skill
Le merge skill est un skill de workflow AgentHub qui sert à intégrer le résultat de l’agent gagnant dans une branche Git de base après une session de codage multi-agent. Il est conçu pour la commande /hub:merge et se concentre sur une tâche très concrète : fusionner le gagnant sélectionné, conserver les tentatives perdantes pour consultation ultérieure, nettoyer les worktrees de session et rédiger un résumé post-merge.
Cas d’usage idéal pour les Git Workflows
Utilisez ce merge skill lorsque votre dépôt suit le modèle AgentHub avec des IDs de session, des branches d’agents, des classements d’évaluation et des worktrees temporaires. Il est particulièrement utile après /hub:eval, lorsque vous savez déjà quel agent a produit la meilleure solution et que vous voulez un Git Workflow reproductible plutôt qu’une série d’actions manuelles : checkout de branches, merge, tags des perdants et suppression des worktrees.
Ce qui le distingue d’un prompt de merge générique
Un prompt générique pourrait simplement demander de « fusionner la meilleure branche ». Ce skill, lui, encode une convention opérationnelle précise : utiliser l’agent le mieux classé sauf si --agent est fourni, fusionner avec --no-ff, archiver les branches non retenues avec des tags hub/archive/..., supprimer leurs références de branche et générer .agenthub/board/results/merge-summary.md. Cette structure réduit les ambiguïtés pendant le nettoyage, souvent le moment où les sessions Git multi-agent deviennent difficiles à suivre.
Points à vérifier avant l’installation
Le skill suppose que votre projet utilise déjà des branches de style AgentHub, comme hub/{session-id}/{agent-id}/attempt-1, ainsi qu’une sortie d’évaluation permettant d’identifier un gagnant. Si votre équipe n’utilise pas AgentHub, le guide de merge reste utile comme modèle de nettoyage structuré, mais il devra être adapté avant toute utilisation sûre.
Utiliser le merge skill
Installation de merge et fichiers à inspecter en priorité
Installez le skill depuis le dépôt GitHub avec :
npx skills add alirezarezvani/claude-skills --skill merge
Inspectez ensuite la source ici :
engineering/agenthub/skills/merge/SKILL.md
Ce skill semble autonome dans SKILL.md ; l’aperçu du répertoire du skill ne montre pas de dossiers compagnons rules/, resources/ ou scripts/. Comme les instructions amont mentionnent session_manager.py, vérifiez où se trouve ce script dans votre installation AgentHub locale avant de vous appuyer sur un nettoyage automatisé.
Utilisation de base de merge
Les appels typiques sont :
/hub:merge
/hub:merge 20260317-143022
/hub:merge 20260317-143022 --agent agent-2
Utilisez /hub:merge lorsque la dernière session évaluée est bien celle à traiter. Fournissez un ID de session lorsque plusieurs sessions AgentHub existent. Ajoutez --agent uniquement si vous choisissez volontairement de remplacer le résultat le mieux classé par /hub:eval, par exemple lorsque le meilleur score a manqué une exigence de sécurité, de compatibilité ou de produit repérée lors de la revue humaine.
Entrées nécessaires au skill
Pour une utilisation fiable de merge, l’agent a besoin de :
- La branche de base cible, généralement celle dans laquelle vous voulez intégrer le travail gagnant.
- L’ID de session AgentHub, sauf si la dernière session ne prête à aucune ambiguïté.
- Un gagnant, soit issu du dernier classement d’évaluation, soit fourni via
--agent. - Des références de branches existantes au format attendu :
hub/{session-id}/{agent-id}/attempt-1. - L’autorisation d’exécuter des opérations Git qui créent des commits de merge, des tags et des suppressions de branches.
Un prompt plus robuste serait : « Run /hub:merge 20260317-143022 --agent agent-2 into main. Before merging, confirm the working tree is clean, show the winning branch ref, tag losing branches for archive, and write the merge summary. » Il donne au skill suffisamment de contexte opérationnel pour éviter les suppositions.
Workflow pratique avant et après l’exécution
Avant d’appeler merge, exécutez git status, vérifiez que vous ne transportez pas de modifications locales sans rapport et relisez le diff gagnant. Après le merge, contrôlez le message du commit de merge, confirmez que les tags d’archive ont été créés et vérifiez que .agenthub/board/results/merge-summary.md reflète bien la session, la tâche et le gagnant. Si des conflits apparaissent, résolvez-les comme des conflits Git classiques ; le skill apporte une structure de workflow, pas un substitut à la revue de code.
FAQ du merge skill
merge est-il réservé à AgentHub ?
Oui, en pratique. Le merge skill est écrit autour des conventions AgentHub de nommage, d’évaluation et de nettoyage. Il peut servir d’inspiration pour un Git Workflow manuel dans d’autres expérimentations multi-branches, mais son utilisation directe suppose des branches de session AgentHub et des métadonnées de résultats.
merge choisit-il automatiquement le meilleur code ?
Il choisit l’agent que vous indiquez avec --agent ou, à défaut, l’agent le mieux classé lors du dernier /hub:eval. La qualité du merge dépend donc de la qualité de l’évaluation précédente. Si vos critères d’évaluation étaient incomplets, relisez manuellement le gagnant avant de fusionner.
Que deviennent les branches perdantes ?
Le workflow prévu archive chaque branche d’agent perdante avec un tag Git tel que hub/archive/{session-id}/{agent-id}, puis supprime la référence de branche. Les commits restent ainsi accessibles tout en réduisant l’encombrement des branches. Les équipes qui appliquent des politiques de conservation doivent valider le format des tags d’archive avant d’adopter le skill.
Quand faut-il éviter ce skill ?
N’utilisez pas merge si les noms de branches ne suivent pas la convention AgentHub, si la branche de base est incertaine, si le gagnant n’a pas été relu ou si votre dépôt interdit la suppression automatisée de branches. Il convient également mal aux workflows exclusivement fondés sur le squash, sauf si vous adaptez la commande de merge, car le modèle par défaut du skill utilise git merge --no-ff.
Améliorer le merge skill
Améliorer les résultats de merge avec un contexte plus clair
Le merge skill fonctionne mieux lorsque votre demande précise l’ID de session, le gagnant, la branche de base et les éventuelles contraintes de politique interne. Par exemple : « Merge session 20260317-143022, winner agent-2, into develop; keep losing branches archived with tags, do not delete remote branches, and stop if tests fail. » C’est plus efficace que « merge the winner », car cela distingue clairement la sélection, la destination, le nettoyage et les règles de sécurité.
Modes d’échec fréquents à surveiller
Les principaux risques sont les dernières sessions ambiguës, les résultats d’évaluation manquants, les working trees non propres, les références de branches qui ne respectent pas le format attendu et les commandes de nettoyage qui dépendent de fichiers situés hors du répertoire de ce skill. Un autre risque important consiste à fusionner un gagnant techniquement correct mais inadéquat du point de vue produit. Considérez /hub:eval comme une entrée de sélection, pas comme un remplacement de la revue finale.
Adapter merge à la politique de votre dépôt
Si votre équipe impose des squash merges, des commits signés, des branches protégées, des pull requests, des validations CI ou la conservation des branches distantes, modifiez le workflow avant de l’utiliser en production. Les points de personnalisation les plus probables sont la stratégie de merge, le format des tags d’archive, le caractère local ou non de la suppression des branches, ainsi que les champs obligatoires dans merge-summary.md.
Itérer après la première exécution
Après la première sortie, demandez à l’agent de vérifier plutôt que de continuer aveuglément : « Show the merge commit, list archive tags for this session, confirm no AgentHub worktrees remain, and summarize any conflicts or skipped cleanup. » Cela transforme le guide de merge en Git Workflow auditable et aide à détecter un nettoyage partiel avant que la session ne soit oubliée.
