Résolution de conflits Git Rebase

VérifiéSûr

Résoudre les conflits de fusion et de rebase de manière conservatrice, en préservant l'intention des deux côtés, en ne mettant en scène que les résolutions comprises et en laissant un état de conflit propre.

Spar Skills Guide Bot
DeveloppementIntermédiaire
22/07/2026
Claude CodeCodex
#git#rebase#merge-conflicts#conflict-resolution#version-control

Recommandé pour

Synthèse automatique

Guide un agent dans la résolution prudente de conflits Git de merge ou rebase, en préservant le comportement des deux côtés et en indexant uniquement les hunks compris.

Points forts

  • Impose de comprendre chaque hunk avant modification et de conserver explicitement l'intention des deux branches.
  • Prévoit des critères d'arrêt honnêtes pour les conflits ambigus, risqués ou binaires/générés.
  • Donne des consignes Go précises : encapsulation d'erreurs, propagation de context.Context et propriété de la synchronisation.
  • Décrit un flux concret : inspection, édition, formatage, git add et vérification qu'aucune entrée non fusionnée ne subsiste.

Limites

  • Ne traite pas des schémas de conflits spécifiques à d'autres langages que Go au-delà de principes généraux.
  • Suppose qu'un orchestrateur (Compozy) gère le commit final et le rollback ; ce n'est pas un workflow de commit autonome.
  • N'automatise ni la détection ni la résolution des conflits : tout repose sur le jugement de l'agent.
Quand l'utiliser

À utiliser lorsqu'un worktree d'intégration présente des conflits de merge ou de rebase à résoudre avec prudence avant un commit squash final.

Quand l'éviter

À éviter pour un merge fast-forward trivial, des conflits de lockfile à régénérer automatiquement, ou si l'on attend du skill qu'il crée lui-même le commit final.

Analyse de sécurité

Sûr
Score qualité90/100

The skill is a conservative Git conflict-resolution guide. It only uses benign git operations (git add, git status) and editing of conflicted files, explicitly forbids committing, and instructs leaving unsafe/unclear conflicts unresolved rather than guessing. There are no destructive commands, no network exfiltration, no obfuscated payloads, and no attempts to disable safety checks. The only mild consideration is the open-ended instruction to run formatters, but it is scoped and cautioned, so overall risk is low.

Points d'attention
  • •Step 4 allows running unspecified "language-specific formatting commands," which in some repos can trigger npm scripts or generators; still bounded to formatting and cautioned to be repo-safe.
Comment cette analyse est faite

Exemples

Conservative rebase conflict resolution
Resolve the rebase conflicts in this integration worktree conservatively. Preserve both branches' behavior, stage only conflicts you fully understand, and leave anything unsafe unresolved with a clear report.
Go conflict with context and errors
We have merge conflicts in `internal/service/user.go` and `internal/api/handler.go`. Resolve them for Go, keep `fmt.Errorf("context: %w", err)` wrapping and `context.Context` propagation, combine table-test cases where both sides added cases, then run gofmt and stage the files.
Fail honestly on unclear conflict
Check the conflicted files in this worktree. If you cannot tell which side owns the invariant or resolving would require deleting behavior without evidence, leave the conflict unresolved and report why.

name: git-rebase description: Resolve Git merge and rebase conflicts conservatively, preserving both sides' intent, staging only understood resolutions, and leaving a git-clean conflict state.

Git Rebase Conflict Resolution

Use this skill when Compozy asks you to resolve conflicts in an integration worktree. The goal is a clean merge result, not a clever shortcut.

Core Rules

  1. Understand every conflicted hunk before editing it.
  2. Preserve important behavior from both sides whenever possible.
  3. Prefer the smallest readable merge that keeps the code idiomatic for the affected language and project.
  4. Do not delete tests, weaken assertions, suppress lint, swallow errors, or otherwise hide a failing invariant.
  5. Do not commit. Compozy owns the final squash commit.
  6. Do not leave conflict markers in any file.
  7. If a conflict is unsafe or unclear, leave it unresolved so Compozy can abort and roll back honestly.

Required Workflow

  1. Inspect the conflicted files listed in the prompt.
  2. For each hunk, identify what the integration branch changed and what the incoming task changed.
  3. Edit the file so both sides' required behavior is represented.
  4. Run only language-specific formatting commands that are clearly required for the files you edited and are safe for this repository.
  5. Stage resolved files with git add.
  6. Check git status --porcelain; no unmerged entries may remain.
  7. Report what was resolved and any files that remain unsafe.

Resolution Guidance

  • For Go files, keep error wrapping with fmt.Errorf("context: %w", err).
  • For Go files, preserve context.Context propagation and cancellation behavior.
  • Preserve synchronization ownership; do not introduce unmanaged background work.
  • Keep tests focused on behavior and invariants, not implementation details.
  • When both sides add cases to a table test, combine the cases unless they prove the same invariant twice.
  • When both sides alter an interface, update every implementation instead of guessing from the conflicted file alone.

Fail-Honestly Criteria

Stop and leave the conflict unresolved when:

  • you cannot tell which side owns the invariant,
  • resolving would require deleting behavior from either side without evidence,
  • conflict markers remain, or
  • a binary/generated file conflict cannot be validated safely.

Compozy will roll back the integration branch when resolution is exhausted, so an honest unresolved conflict is safer than a speculative broken merge.

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/git-rebase-conflict-resolution-mrwaka5z/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/git-rebase-conflict-resolution-mrwaka5z' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/git-rebase-conflict-resolution-mrwaka5z/download' --output '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/SKILL.md.part' && mv '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/SKILL.md.part' '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/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/git-rebase-conflict-resolution-mrwaka5z/SKILL.md' && test -s '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/git-rebase' && cp -R '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z' '.claude/skills/git-rebase'

Codex
test -f '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/SKILL.md' && test -s '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/git-rebase' && cp -R '.skill-downloads/git-rebase-conflict-resolution-mrwaka5z' '.agents/skills/git-rebase'

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/git-rebase-conflict-resolution-mrwaka5z'

openskills read 'git-rebase-conflict-resolution-mrwaka5z'

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/git-rebase-conflict-resolution-mrwaka5z/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