memory-merger
Consolidates mature learnings from domain memory files into instruction files with quality-assured merging.
- Operates on two scopes: global (VS Code user prompts) and workspace (project-specific instructions), with configurable domain targeting
- Requires explicit user approval before merging, presenting proposed memories for review with proposed locations in the instruction hierarchy
- Enforces a 10/10 quality bar during merge: zero knowledge loss, minimal redundancy, and maximum scannability through clear structure and strategic formatting
- Handles file creation, applyTo pattern merging, and cleanup of merged sections from memory files in a single workflow
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 (
globaloruser) - Stored in<global-prompts>(vscode-userdata:/User/prompts/) and apply to all VS Code projects - Workspace (
workspaceorws) - 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, orws. Defaults toglobal
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
- Global:
- 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:
- Zero knowledge loss - Every detail, example, and nuance preserved
- Minimal redundancy - Overlapping guidance consolidated
- Maximum scannability - Clear hierarchy, parallel structure, strategic bold, logical grouping
4. Merge and Iterate
Develop the final merged instructions without updating files yet:
- Draft the merged instructions incorporating approved memories
- Evaluate against quality bar
- Refine structure, wording, organization
- 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
applyTopatterns 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
More from github/awesome-copilot
git-commit
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
29.7Kgh-cli
GitHub CLI (gh) comprehensive reference for repositories, issues, pull requests, Actions, projects, releases, gists, codespaces, organizations, extensions, and all GitHub operations from the command line.
20.9Kprd
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
17.2Kdocumentation-writer
Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.
17.1Kexcalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
16.1Krefactor
Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.
15.9K