Une session de dev Claude Code finit souvent par un contexte saturé, et au redémarrage tout est oublié : ce qui a marché, ce qui a cassé, pourquoi. Cette commande clôture proprement : elle fait le bilan, sauvegarde la mémoire du projet sur disque, puis compacte. Installée une fois, elle te suit partout.
- Une commande personnalisée dans Claude Code, c'est juste un fichier Markdown. Le nom du fichier devient le nom de la commande :
handoff.mddevient/handoff. - Installée dans
~/.claude/commands/, elle est disponible dans tous tes projets, sans la recopier. - Elle écrit la mémoire dans
.claude/memory/mais ne la recharge pas seule : un petit bloc dans tonCLAUDE.mds'en charge au démarrage. - Installation ci-dessous en entier. Le fichier
handoff.mdcomplet et le bloc mémoire à coller t'attendent dans le fichier à télécharger.
Projet ou personnel ?
Deux emplacements possibles, selon la portée que tu veux donner à la commande.
- Commande projet : stockée dans
.claude/commands/d'un projet. Disponible dans ce projet seulement, partagée avec l'équipe via Git. - Commande personnelle : stockée dans
~/.claude/commands/. Elle te suit sur tous tes projets, sur ta machine. C'est ce qu'on veut ici.
Installation, pas à pas
Ouvre un terminal et crée le dossier des commandes personnelles s'il n'existe pas déjà :
mkdir -p ~/.claude/commands
Place le fichier handoff.md dans ce dossier (par exemple depuis ton dossier de téléchargements) :
mv ~/Downloads/handoff.md ~/.claude/commands/
C'est tout. Au prochain démarrage de Claude Code, tape / dans la session : la commande /handoff apparaît dans la liste, avec sa description. Tu peux aussi lancer /help pour voir l'ensemble des commandes.
.claude/memory/ mais ne la recharge pas tout seul à la session suivante. Pour ça, un petit bloc à ajouter dans ton CLAUDE.md (fourni dans le fichier) dit à Claude de relire la mémoire au démarrage. Sans lui, le handoff écrit dans le vide.Ce que fait la commande
Voici le principe du fichier, étape par étape. Tu vois le squelette entier ; la version prête à coller, avec les gabarits exacts de chaque fichier de mémoire, est dans le téléchargement.
---
description: Fait le bilan de la session, persiste la mémoire sur disque, puis compacte.
---
# /handoff : passation de fin de session
Objectif : sauvegarder l'essentiel sur disque AVANT de compacter le contexte.
Les fichiers de mémoire vivent dans .claude/memory/. Exécute les étapes DANS L'ORDRE.
Ne compacte qu'à la toute fin.
## Étape 1 : analyser la session
Relis la conversation. Identifie, factuellement : ce qui a été tenté, décidé, produit,
modifié, cassé ; les choix techniques et leur raison ; ce qui a échoué et pourquoi.
Ne romance rien.
## Étape 2 : statuer sur les objectifs
Lis .claude/memory/objectives.md. Pour chaque objectif : atteint / en cours / abandonné.
Règle non négociable : distingue ce que tu peux vérifier de ce que tu supposes.
Un objectif n'est "atteint" que si une preuve le prouve (tests qui passent, build qui
réussit). Sinon : "en cours (non vérifié)". Jamais de félicitation sur une impression.
## Étape 3 : extraire les apprentissages
Sépare deux natures de leçons :
- ce qui marche et qu'il faut refaire -> playbook.md
- ce qu'il ne faut pas refaire -> antipatterns.md
Reformule chaque leçon en règle actionnable, pas en anecdote.
## Étape 4 : réécrire les fichiers vivants
Ces trois fichiers restent COURTS. Tu les réécris entièrement, tu n'empiles pas.
[les gabarits exacts de objectives.md, playbook.md et antipatterns.md
sont dans le fichier complet]
## Étape 5 : appender à l'historique
Ajoute UNE seule entrée datée à .claude/memory/history.md (append-only).
C'est ici que va le détail verbeux : récit, choix et raisons longues, erreurs.
[gabarit de l'entrée datée dans le fichier complet]
## Étape 6 : confirmer avant de compacter
Affiche un résumé court (objectifs, règles ajoutées, entrée historique), puis vérifie
que les fichiers sont bien écrits sur disque.
[le détail du contrôle, et le garde-fou "ne compacte pas si l'écriture a échoué",
dans le fichier complet]
## Étape 7 : compacter
Seulement maintenant, et seulement si l'étape 6 est validée.
[la dernière ligne exacte à exécuter est dans le fichier complet]
CLAUDE.md. À partir de là, un /handoff en fin de session garde ton projet en mémoire d'une fois sur l'autre.Au quotidien
En fin de session, quand tu as atteint un palier ou que le contexte devient lourd, tape /handoff. Claude statue sur les objectifs, met à jour la mémoire, te montre un résumé, puis compacte. La session suivante repart légère, sans rien perdre d'important.
Ce que le fichier complet ajoute
- Le fichier
handoff.mdintégral, prêt à copier d'un bloc, avec les gabarits exacts de chaque fichier de mémoire et les deux étapes finales en entier. - Le bloc mémoire à coller dans ton
CLAUDE.md: celui qui fait relireobjectives.md,playbook.mdetantipatterns.mdau démarrage, et qui dit de ne jamais recharger tout l'historique.
Le fichier complet, propre et prêt à copier, t'attend juste en dessous.