memory-merger — GitHub Copilot skill: what it does, how to install
Moves mature notes from a domain memory file into its instruction file. Useful when project guidance grows through reviewed lessons.
npx skills add github/awesome-copilot --skill memory-mergerWhat memory-merger does
memory-merger reads the selected domain's memory file and instruction file, then prepares lessons for merging. It pauses before changing files: approve everything with go, or name the entries to skip.
The skill supports the global scopes global and user, plus the project scopes workspace and ws. global is the default. It resolves the relevant file paths, carries over applyTo patterns when present, creates or updates the instruction file, and removes merged sections from the memory file.
Install it when your workflow keeps accumulated guidance in separate memory files and promotes reviewed lessons into active instructions. For a one-off edit, this skill adds unnecessary process.
What it helps with
- move mature domain notes into an instruction file
- separate global guidance from workspace rules
- review proposed lessons before changing instructions
- remove merged sections from a memory file
Example prompts for the agent
- `/memory-merger >prompt-engineering`
- `/memory-merger >clojure workspace`
- `/memory-merger >git-workflow ws`
How to install memory-merger
1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill memory-merger2GitHub CLI
gh skill install github/awesome-copilot memory-merger3Manually: put the files in place
.github/skills/memory-merger/SKILL.md1Skills CLI (Vercel)
npx skills add github/awesome-copilot --skill memory-merger -a claude-code2Manually: put the files in place
~/.claude/skills/memory-merger/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/memory-merger/
Manually: put the files in place
.agents/skills/memory-merger/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/memory-merger/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
Platform CLI
gemini skills install https://github.com/github/awesome-copilot --path skills/memory-mergerManually: put the files in place
.devin/skills/memory-merger/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set554
The whole set →Similar
Questions about memory-merger
How do I install memory-merger in GitHub Copilot?
Run npx skills add github/awesome-copilot --skill memory-merger or gh skill install github/awesome-copilot memory-merger. The skill file is placed at .github/skills/memory-merger/SKILL.md.
What does memory-merger do?
It moves mature knowledge from {domain}-memory.instructions.md into {domain}.instructions.md. The skill shows proposed merges and waits for approval before updating files.
Which scopes does memory-merger support?
Use global or user for global instructions, and workspace or ws for project instructions. When omitted, the scope defaults to global.
Source text
SKILL.md · MIT
---
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
```
© github · MIT · github/awesome-copilot