knowledge-transfer

Transfert de connaissances de projet propulsé par IA pour Claude Code et Codex : documentation d'intégration plus souvenirs IA filtrés par confidentialité, vérifiés par rapport au code actuel avant importation.

Qu'est-ce que knowledge-transfer ?

Cette compétence permet de transférer les connaissances d'un projet entre collègues, en combinant un document d'intégration non technique et les souvenirs accumulés par l'IA dans le dépôt. Utile lors de départs ou d'arrivées, elle prend en charge Claude Code et Codex via des modes d'exportation et d'importation, avec détection automatique du mode selon la présence d'un manifeste. En exportation, elle analyse le projet, filtre les souvenirs selon des règles de confidentialité strictes (suppression des informations personnelles et du code sensible), et génère un package dans le dossier `handover/` comprenant le document d'intégration et les souvenirs portables. En importation, elle vérifie chaque souvenir par rapport au code actuel, gère les collisions et installe les souvenirs valides. Des vérifications finales (absence de données personnelles, taille du document, existence des fichiers cités) assurent la fiabilité du transfert.

Compatible avec✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI
npx skills add ferdinandobons/knowledge-transfer

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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)

  1. Si handover/manifest.json existe à la racine du projet → annoncer le mode importation.
  2. 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 manifeste
  • references/privacy-filter.md — ce qui peut et ne peut pas être exporté
  • references/onboarding-template.md — structure, ton et longueur du document
  • references/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.md en suivant references/onboarding-template.md.
  • Écrire chaque souvenir retenu dans handover/memories/<slug>.md au format portable.
  • Écrire handover/manifest.json selon le schéma (SHA du commit provenant de git rev-parse HEAD ; omettre commit si ce n'est pas un dépôt git, omettre author si git config n'a pas de nom).

5. Liste de contrôle finale — vérifier avant de déclarer terminé

  • grep de toute l'arborescence handover/ pour le nom, l'email et le nom d'utilisateur du collègue : zéro résultat.
  • Aucun souvenir de type user dans handover/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.json peut ê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.md et chaque fichier dans handover/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.version inconnu → 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écutez git diff --stat <commit>..HEAD pour 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 :

  1. Le contenu complet de ONBOARDING.md (il est court par conception).
  2. Le résumé d'importation : installé / mis à jour / écarté, une ligne de raisonnement chacun.
  3. Une note de clôture : les questions techniques peuvent désormais s'appuyer sur les souvenirs importés.

Cas limites

SituationComportement
Pas de souvenirs à l'exportationPackage document uniquement ; dites-le explicitement.
Le projet n'est pas un dépôt gitManifeste sans commit ; la vérification d'importation se limite aux contrôles d'existence.
handover/ existe à l'exportationDemandez avant d'écraser.
handover/ manquant à l'importationArrêtez avec des instructions pour le collègue sortant.
Collision de slug à l'importationN'écrasez jamais ; signalez et demandez.
manifest.version inconnuArrêtez ; demandez à l'utilisateur de mettre à jour la compétence.

Skills associés