Главная · Скиллы · memory-merger

memory-mergerOfficialслияние памяти GitHub Copilot

github/awesome-copilot

Слияние памяти.

Установка

npx -y skills add github/awesome-copilot --skill memory-merger --agent claude-code

Memory 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

Из того же репозитория