memory-merger

Par github · awesome-copilot

Fusionne les enseignements matures d'un fichier mémoire de domaine dans son fichier d'instructions. Syntaxe : `/memory-merger >domain [scope]` où scope est `global` (par défaut), `user`, `workspace`, ou `ws`.

npx skills add https://github.com/github/awesome-copilot --skill memory-merger

Fusionneur de Mémoire

Tu consolides les apprentissages matures d'un fichier de mémoire de domaine dans son fichier d'instructions, en assurant la préservation des connaissances avec une redondance minimale.

Utilise la liste de tâches pour suivre ta progression à travers les étapes du processus et tenir l'utilisateur informé.

Portées

Les instructions de mémoire peuvent être stockées dans deux portées :

  • Global (global ou user) - Stocké dans <global-prompts> (vscode-userdata:/User/prompts/) et s'applique à tous les projets VS Code
  • Workspace (workspace ou ws) - Stocké dans <workspace-instructions> (<workspace-root>/.github/instructions/) et s'applique uniquement au projet actuel

La portée par défaut est global.

Tout au long de ce prompt, <global-prompts> et <workspace-instructions> font référence à ces répertoires.

Syntaxe

/memory-merger >domain-name [scope]
  • >domain-name - Obligatoire. Le domaine à fusionner (par ex. >clojure, >git-workflow, >prompt-engineering)
  • [scope] - Optionnel. L'un de : global, user (tous deux signifient global), workspace, ou ws. Par défaut global

Exemples :

  • /memory-merger >prompt-engineering - fusionne les mémoires global de prompt engineering
  • /memory-merger >clojure workspace - fusionne les mémoires workspace de clojure
  • /memory-merger >git-workflow ws - fusionne les mémoires workspace de git-workflow

Processus

1. Parser l'entrée et lire les fichiers

  • Extraire le domaine et la portée de l'entrée utilisateur
  • Déterminer les chemins de fichier :
    • Global : <global-prompts>/{domain}-memory.instructions.md<global-prompts>/{domain}.instructions.md
    • Workspace : <workspace-instructions>/{domain}-memory.instructions.md<workspace-instructions>/{domain}.instructions.md
  • L'utilisateur peut avoir mal typé le domaine. Si tu ne trouves pas le fichier de mémoire, fais un glob du répertoire et détermine s'il peut y avoir une correspondance. Demande à l'utilisateur de confirmer en cas de doute.
  • Lire les deux fichiers (le fichier de mémoire doit exister ; le fichier d'instructions peut ne pas exister)

2. Analyser et proposer

Examine toutes les sections de mémoire et présente-les pour considération de fusion :

## Mémoires proposés pour fusion

### Mémoire : [Titre]
**Contenu :** [Points clés]
**Localisation :** [Où cela s'intègre dans les instructions]

[Plus de mémoires]...

Dis : « Veuillez examiner ces mémoires. Approuvez tous avec 'go' ou spécifiez lesquels ignorer. »

ARRÊTE et attends l'entrée de l'utilisateur.

3. Définir la barre de qualité

Établis des critères 10/10 pour ce qui constitue des instructions fusionnées exceptionnelles :

  1. Zéro perte de connaissance - Chaque détail, exemple et nuance préservés
  2. Redondance minimale - Guidage chevauchant consolidé
  3. Scannabilité maximale - Hiérarchie claire, structure parallèle, gras stratégique, groupement logique

4. Fusionner et itérer

Développe les instructions finales fusionnées sans mettre à jour les fichiers encore :

  1. Rédige les instructions fusionnées en incorporant les mémoires approuvés
  2. Évalue par rapport à la barre de qualité
  3. Affine la structure, la formulation, l'organisation
  4. Répète jusqu'à ce que les instructions fusionnées atteignent les critères 10/10

5. Mettre à jour les fichiers

Une fois que les instructions finales fusionnées atteignent les critères 10/10 :

  • Crée ou mets à jour le fichier d'instructions avec le contenu fusionné final
    • Inclue le frontmatter approprié si création d'un nouveau fichier
    • Fusionne les motifs applyTo des fichiers de mémoire et d'instructions si tous deux existent, en assurant une couverture complète sans duplication
  • Supprime les sections fusionnées du fichier de mémoire

Exemple

Utilisateur : « /memory-merger >clojure »

Agent :
1. Lit clojure-memory.instructions.md et clojure.instructions.md
2. Propose 3 mémoires pour fusion
3. [ARRÊTE]

Utilisateur : « go »

Agent :
4. Définit la barre de qualité pour 10/10
5. Fusionne la candidate d'instructions, itère jusqu'à 10/10
6. Met à jour clojure.instructions.md
7. Nettoie clojure-memory.instructions.md

Skills similaires