Que fait knowledge-transfer ?
Transférez les connaissances du projet entre collègues : un court document d'intégration non technique plus les souvenirs accumulés par l'IA du projet, intégrés dans le dépôt pour que le nouvel arrivant soit orienté et que son IA soit informée.
Utilisation
Compétence autonome Claude Code :
/knowledge-transfer # mode auto-détection (voir ci-dessous)
/knowledge-transfer export # collègue sortant : construire le package de transfert
/knowledge-transfer import # nouveau collègue : vérifier + installer les souvenirs, lire le document
Installation du plugin Claude Code :
/knowledge-transfer:knowledge-transfer
/knowledge-transfer:knowledge-transfer export
/knowledge-transfer:knowledge-transfer import
Codex ou un autre agent qui lit SKILL.md :
$knowledge-transfer # mode auto-détection
$knowledge-transfer export # collègue sortant
$knowledge-transfer import # nouveau collègue
Détection de mode (sans argument)
- Si
handover/manifest.jsonexiste à la racine du projet → annoncer le mode importation. - Sinon → annoncer le mode exportation.
Indiquez le mode détecté en une ligne et procédez. L'utilisateur peut le remplacer à tout moment.
Références
Lisez ceci avant de produire quoi que ce soit :
references/package-format.md— structure du package et schéma du manifestereferences/privacy-filter.md— ce qui peut et ne peut pas être exportéreferences/onboarding-template.md— structure, ton et longueur du documentreferences/agent-memory.md— comment localiser et installer les souvenirs dans Claude, Codex ou un autre agent
Phase d'exportation
Exécutée depuis la racine du projet par le collègue quittant le projet.
1. Analyser le projet
- Lire le README, les fichiers de guidage de l'agent (
CLAUDE.md,AGENTS.md,GEMINI.md,.cursor/rules/, etc. si présents), la structure de haut niveau, les points d'entrée et les fichiers de configuration principaux. Utilisez des sous-agents pour les grandes bases de code plutôt que de tout lire en ligne. - Identifier : ce que fait le projet, les 3 à 7 composants principaux, et 2 à 3 flux logiques de bout en bout à décrire.
- Détecter la langue dominante du projet (README, documentation, messages de commit récents) ; le document d'intégration est rédigé dans cette langue. En cas d'incertitude ou de mélange → anglais.
2. Lire les souvenirs
- Localiser la source de mémoire de l'agent actuel pour le projet en utilisant
references/agent-memory.md. - Lire uniquement les souvenirs liés à ce projet ou dépôt. N'exportez pas les préférences globales de l'utilisateur ni l'historique de projets non liés.
- Aucun répertoire de souvenirs ou aucun souvenir → procédez avec le document uniquement, définissez
memories: {"exported": 0, "excluded": 0}dans le manifeste, et informez l'utilisateur que le package ne contient aucun souvenir.
3. Filtrer les souvenirs
Appliquez strictement references/privacy-filter.md à chaque souvenir. Produisez les versions portables (réécrites, neutres) et la liste d'exclusion par souvenir avec les raisons.
4. Écrire le package
- Si
handover/existe déjà, ARRÊTEZ et demandez avant d'écraser. - Écrire
handover/ONBOARDING.mden suivantreferences/onboarding-template.md. - Écrire chaque souvenir retenu dans
handover/memories/<slug>.mdau format portable. - Écrire
handover/manifest.jsonselon le schéma (SHA du commit provenant degit rev-parse HEAD; omettrecommitsi ce n'est pas un dépôt git, omettreauthorsi git config n'a pas de nom).
5. Liste de contrôle finale — vérifier avant de déclarer terminé
-
grepde toute l'arborescencehandover/pour le nom, l'email et le nom d'utilisateur du collègue : zéro résultat. - Aucun souvenir de type
userdanshandover/memories/. - ONBOARDING.md fait entre 600 et 1000 mots (
wc -w) et contient les six sections du modèle. - Chaque fichier/chemin cité dans un souvenir exporté existe dans le projet.
-
manifest.jsonpeut être analysé et les comptes correspondent aux fichiers réels.
Rapportez à l'utilisateur : le contenu du package, la liste d'exclusion avec les raisons, et suggérez de commit handover/ dans le dépôt. Ne commitez pas sans demander.
Phase d'importation
Exécutée par le nouveau collègue, depuis la racine du projet, après le clonage.
1. Lire le package
- Lire
handover/manifest.json,handover/ONBOARDING.mdet chaque fichier danshandover/memories/. handover/manquant → arrêtez : expliquez que le collègue sortant doit d'abord exécuter/knowledge-transfer export, puis commit le résultat.manifest.versioninconnu → arrêtez et dites que la compétence est trop ancienne pour ce package.
2. Vérifier chaque souvenir par rapport au code actuel
- Si le dépôt est git et que le manifeste a un
commit, exécutezgit diff --stat <commit>..HEADpour voir quelles zones ont changé depuis l'exportation. - Pour chaque souvenir, vérifiez que les fichiers, chemins et identifiants qu'il cite existent toujours (Glob/Grep, pas de supposition). Classez :
- valide — tout est correct → installez tel quel ;
- obsolète, correction évidente — par exemple, un fichier cité a été renommé et le nouveau chemin est sans ambiguïté (git log --follow, ou un résultat de recherche unique) → mettez à jour le corps du souvenir, puis installez ;
- obsolète, aucune correction évidente — écartez, notez la raison en une ligne.
3. Installer
- Installez chaque souvenir accepté via le mécanisme de mémoire de l'agent actuel (voir
references/agent-memory.md), en conservant le contenu du souvenir portable intact et en adaptant uniquement le wrapper/stockage d'index si l'agent cible l'exige. - Collision de slug avec un souvenir existant : n'écrasez PAS. Signalez la collision et demandez à l'utilisateur lequel conserver.
- Si le stockage de mémoire cible a un fichier d'index, ajoutez une ligne d'index par souvenir installé (créez-le s'il est absent). Si l'agent actuel interdit les écritures directes en mémoire, créez ou présentez plutôt l'artefact de mise à jour mémoire approuvé.
4. Rapporter
Présentez à l'utilisateur, dans cet ordre :
- Le contenu complet de ONBOARDING.md (il est court par conception).
- Le résumé d'importation : installé / mis à jour / écarté, une ligne de raisonnement chacun.
- Une note de clôture : les questions techniques peuvent désormais s'appuyer sur les souvenirs importés.
Cas limites
| Situation | Comportement |
|---|---|
| Pas de souvenirs à l'exportation | Package document uniquement ; dites-le explicitement. |
| Le projet n'est pas un dépôt git | Manifeste sans commit ; la vérification d'importation se limite aux contrôles d'existence. |
handover/ existe à l'exportation | Demandez avant d'écraser. |
handover/ manquant à l'importation | Arrêtez avec des instructions pour le collègue sortant. |
| Collision de slug à l'importation | N'écrasez jamais ; signalez et demandez. |
manifest.version inconnu | Arrêtez ; demandez à l'utilisateur de mettre à jour la compétence. |