PluginBench
Skill
Official
Fail
Audit score 45

memory-merger

github/awesome-copilot

Consolidate domain learnings from memory files into instruction files with zero knowledge loss.

What is memory-merger?

Memory Merger moves mature lessons from a domain's memory file into its instruction file, preserving all knowledge while eliminating redundancy. Use it to keep domain-specific guidance current and organized across global or workspace scopes.

  • Parses domain and scope from `/memory-merger >domain [scope]` syntax
  • Reads memory and instruction files from global or workspace directories
  • Proposes memory sections for merger with user approval
  • Merges approved memories into instruction files meeting a 10/10 quality bar
  • Removes merged sections from memory files to prevent duplication
  • Consolidates `applyTo` patterns from both files without redundancy

How to install memory-merger

npx skills add https://github.com/github/awesome-copilot --skill memory-merger
Claude Code
Cursor
Windsurf
Cline

How to use memory-merger

  1. 1.Run `/memory-merger >domain-name [scope]` where domain-name is the target domain (e.g., clojure, git-workflow)
  2. 2.Optionally specify scope: `global` (default), `user`, `workspace`, or `ws`
  3. 3.Review the proposed memories presented by the agent
  4. 4.Approve all with 'go' or specify which memories to skip
  5. 5.Wait for the agent to merge approved memories into the instruction file and clean the memory file

Use cases

Good for
  • Promote tested coding patterns from a language memory file into its main instructions
  • Consolidate accumulated git workflow learnings into workspace instructions
  • Move prompt engineering best practices from global memory into reusable guidelines
  • Archive mature project conventions from workspace memory into team instructions
  • Preserve domain expertise by migrating ad-hoc notes into structured reference docs
Who it's for
  • Developers managing domain-specific coding practices
  • Teams maintaining workspace or global instruction libraries
  • Anyone consolidating scattered learnings into organized reference material

memory-merger FAQ

What's the difference between global and workspace scope?

Global scope (`global` or `user`) stores instructions in VS Code user data that apply to all projects. Workspace scope (`workspace` or `ws`) stores instructions in `.github/instructions/` and applies only to the current project.

What happens if the memory file doesn't exist?

The agent will glob the directory to find potential matches and ask for clarification if uncertain about which file you meant.

Can I skip certain memories from being merged?

Yes. After reviewing proposed memories, you can approve all with 'go' or specify which ones to skip.

Does it handle overlapping content between memory and instruction files?

Yes. The merger consolidates overlapping guidance to eliminate redundancy while preserving all knowledge, and merges `applyTo` patterns comprehensively.

What happens to the memory file after merging?

Merged sections are removed from the memory file to prevent duplication, keeping it clean for future learnings.

Full instructions (SKILL.md)

Source of truth, from github/awesome-copilot.


name: memory-merger description: 'Merges mature lessons from a domain memory file into its instruction file. Syntax: /memory-merger >domain [scope] where scope is global (default), user, workspace, or ws.'

Memory Merger

You consolidate mature learnings from a domain's memory file into its instruction file, ensuring knowledge preservation with minimal redundancy.

Use the todo list to track your progress through the process steps and keep the user informed.

Scopes

Memory instructions can be stored in two scopes:

  • Global (global or user) - Stored in <global-prompts> (vscode-userdata:/User/prompts/) and apply to all VS Code projects
  • Workspace (workspace or ws) - Stored in <workspace-instructions> (<workspace-root>/.github/instructions/) and apply only to the current project

Default scope is global.

Throughout this prompt, <global-prompts> and <workspace-instructions> refer to these directories.

Syntax

/memory-merger >domain-name [scope]
  • >domain-name - Required. The domain to merge (e.g., >clojure, >git-workflow, >prompt-engineering)
  • [scope] - Optional. One of: global, user (both mean global), workspace, or ws. Defaults to global

Examples:

  • /memory-merger >prompt-engineering - merges global prompt engineering memories
  • /memory-merger >clojure workspace - merges workspace clojure memories
  • /memory-merger >git-workflow ws - merges workspace git-workflow memories

Process

1. Parse Input and Read Files

  • Extract domain and scope from user input
  • Determine file paths:
    • Global: <global-prompts>/{domain}-memory.instructions.md<global-prompts>/{domain}.instructions.md
    • Workspace: <workspace-instructions>/{domain}-memory.instructions.md<workspace-instructions>/{domain}.instructions.md
  • The user can have mistyped the domain, if you don't find the memory file, glob the directory and determine if there may be a match there. Ask the user for input if in doubt.
  • Read both files (memory file must exist; instruction file may not)

2. Analyze and Propose

Review all memory sections and present them for merger consideration:

## Proposed Memories for Merger

### Memory: [Headline]
**Content:** [Key points]
**Location:** [Where it fits in instructions]

[More memories]...

Say: "Please review these memories. Approve all with 'go' or specify which to skip."

STOP and wait for user input.

3. Define Quality Bar

Establish 10/10 criteria for what constitutes awesome merged resulting instructions:

  1. Zero knowledge loss - Every detail, example, and nuance preserved
  2. Minimal redundancy - Overlapping guidance consolidated
  3. Maximum scannability - Clear hierarchy, parallel structure, strategic bold, logical grouping

4. Merge and Iterate

Develop the final merged instructions without updating files yet:

  1. Draft the merged instructions incorporating approved memories
  2. Evaluate against quality bar
  3. Refine structure, wording, organization
  4. Repeat until the merged instructions meet 10/10 criteria

5. Update Files

Once the final merged instructions meet 10/10 criteria:

  • Create or update the instruction file with the final merged content
    • Include proper frontmatter if creating new file
    • Merge applyTo patterns from both memory and instruction files if both exist, ensuring comprehensive coverage without duplication
  • Remove merged sections from the memory file

Example

User: "/memory-merger >clojure"

Agent:
1. Reads clojure-memory.instructions.md and clojure.instructions.md
2. Proposes 3 memories for merger
3. [STOPS]

User: "go"

Agent:
4. Defines quality bar for 10/10
5. Merges new instructions candidate, iterates to 10/10
6. Updates clojure.instructions.md
7. Cleans clojure-memory.instructions.md