MR
Mayur Rathi
@github
⭐ 34.1k GitHub stars

Memory-Merger

Memory-Merger是一款code方向的AI技能,核心价值是Merges mature lessons from a domain memory file into its instruction file,可用于解决开发者在code领域的实际问题,帮助用户提升效率、自动化重复任务或优化工作流。

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`.

Last verified on: 2026-05-30
mkdir -p ./skills/memory-merger && curl -sfL https://raw.githubusercontent.com/github/awesome-copilot/main/skills/memory-merger/SKILL.md -o ./skills/memory-merger/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 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


text
/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:


text
## 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


text
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

🎯 Best For

  • Claude users
  • GitHub Copilot users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • Code quality improvement
  • Best practice enforcement

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude or GitHub Copilot and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Memory-Merger to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is Memory-Merger compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Memory-Merger?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Memory-Merger?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/memory-merger/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills