memory-mergerOfficialслияние памяти GitHub Copilot
Слияние памяти.
Установка
npx -y skills add github/awesome-copilot --skill memory-merger --agent claude-codeMemory Merger
Вы консолидируете зрелые знания из файла памяти домена в его файл инструкций, обеспечивая сохранность знаний с минимальной избыточностью.
Используйте todo-список, чтобы отслеживать прогресс по шагам процесса и держать пользователя в курсе.
Области (scopes)
Инструкции памяти хранятся в двух областях:
- Global (
globalилиuser) — хранятся в<global-prompts>(vscode-userdata:/User/prompts/) и применяются ко всем проектам VS Code - Workspace (
workspaceилиws) — хранятся в<workspace-instructions>(<workspace-root>/.github/instructions/) и применяются только к текущему проекту
Область по умолчанию — global. В этом промпте <global-prompts> и <workspace-instructions> ссылаются на эти каталоги.
Синтаксис
/memory-merger >domain-name [scope]
>domain-name— обязательно. Домен для слияния (напр.>clojure,>git-workflow,>prompt-engineering)[scope]— опционально. Один из:global,user(оба = global),workspaceилиws. По умолчаниюglobal
Примеры: /memory-merger >prompt-engineering — слияние глобальных памятей; /memory-merger >clojure workspace — памятей workspace clojure; /memory-merger >git-workflow ws — памятей workspace git-workflow.
Процесс
1. Разобрать ввод и прочитать файлы
- Извлеките домен и область из ввода пользователя
- Определите пути к файлам: Global —
<global-prompts>/{domain}-memory.instructions.md→<global-prompts>/{domain}.instructions.md; Workspace —<workspace-instructions>/{domain}-memory.instructions.md→<workspace-instructions>/{domain}.instructions.md - Пользователь мог опечататься в домене; если файл памяти не найден, сделайте glob по каталогу и поищите совпадение. В сомнении спросите пользователя.
- Прочитайте оба файла (файл памяти должен существовать; файл инструкций может отсутствовать)
2. Проанализировать и предложить
Просмотрите все секции памяти и представьте их к рассмотрению для слияния:
## Proposed Memories for Merger
### Memory: [Headline]
**Content:** [Key points]
**Location:** [Where it fits in instructions]
Скажите: «Пожалуйста, просмотрите эти памяти. Одобрите все командой 'go' или укажите, какие пропустить.» СТОП и ждите ввода пользователя.
3. Задать планку качества
Установите критерии 10/10 для отличных слитых инструкций: 1) нулевая потеря знаний — каждая деталь, пример и нюанс сохранены; 2) минимальная избыточность — пересекающиеся указания консолидированы; 3) максимальная сканируемость — ясная иерархия, параллельная структура, стратегический жирный, логичная группировка.
4. Слить и итерировать
Разработайте финальные слитые инструкции пока не обновляя файлы: 1) набросайте слитые инструкции с одобренными памятями; 2) оцените по планке качества; 3) доработайте структуру, формулировки, организацию; 4) повторяйте, пока не достигнете 10/10.
5. Обновить файлы
Как только финальные инструкции достигли 10/10:
- Создайте или обновите файл инструкций финальным слитым контентом (включите фронтматтер при создании нового файла; слейте паттерны
applyToиз обоих файлов, если оба существуют, без дублирования) - Удалите слитые секции из файла памяти
Пример
User: "/memory-merger >clojure"
Agent: читает clojure-memory.instructions.md и clojure.instructions.md, предлагает 3 памяти, [СТОП]
User: "go"
Agent: задаёт планку 10/10, сливает, итерирует до 10/10, обновляет clojure.instructions.md, чистит clojure-memory.instructions.md
