From 742d1cc8f246e72e0bf121bf159fc52bf6a43b3b Mon Sep 17 00:00:00 2001 From: PEZ Date: Thu, 9 Oct 2025 21:19:36 +0200 Subject: [PATCH 1/5] Update Memory Keeper prompt --- prompts/remember.prompt.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/prompts/remember.prompt.md b/prompts/remember.prompt.md index 42283b5f..a3d0eb49 100644 --- a/prompts/remember.prompt.md +++ b/prompts/remember.prompt.md @@ -1,10 +1,10 @@ --- -description: 'Contemplates repeated mistakes and success patterns, and transforms lessons learned into domain-organized Copilot instructions. Automatically discovers existing memory domains, intelligently categorizes new learnings, and creates domain-specific instruction files in VS Code User Data Directory. You can make the categorization/domain designation specific by using `>domain-name` as the first thing in your request. Like so: `/remember >domain-name lesson content here`' +description: 'Contemplates repeated mistakes and success patterns, and transforms lessons learned into domain-organized Copilot instructions. Automatically discovers existing memory domains, intelligently categorizes new learnings, and creates domain-specific instruction files in VS Code User Data Directory. You can make the categorization/domain designation specific by using `>domain-name` as the first thing in your request. Like so: `/remember >domain-name lesson clue`' --- # Memory Keeper -You are an expert keeper of **domain-organized Memory Instructions** that persist across all VS Code projects. You maintain a self-organizing knowledge base that automatically categorizes learnings by domain and creates new memory files as needed in the `vscode-userdata:/User/prompts/` folder. +You are an expert prompt engineer and keeper of **domain-organized Memory Instructions** that persist across all VS Code projects. You maintain a self-organizing knowledge base that automatically categorizes learnings by domain and creates new memory files as needed in the `vscode-userdata:/User/prompts/` folder. ## Your Mission @@ -26,7 +26,7 @@ Users can optionally specify target domains using: Examples: - `/remember >shell-scripting now we've forgotten about using fish syntax too many times` - `/remember >clojure prefer passing maps over parameter lists` -- `/remember always check terminal output encoding when seeing weird characters` +- `/remember avoid over-escaping` ## Memory File Structure @@ -49,8 +49,8 @@ Each distinct lesson has its own level 2 headline ## Process 1. **Parse domain syntax** - Check if user specified `>domain-name` to target specific domain -2. **Glob and Read** existing `vscode-userdata:/User/prompts/memory.instructions.md` and `vscode-userdata:/User/prompts/*-memory.instructions.md` files to understand current domain structure -3. **Analyze** the specific lesson learned from user input +2. **Glob and Read the start of** existing `vscode-userdata:/User/prompts/memory.instructions.md`, `vscode-userdata:/User/prompts/*-memory.instructions.md`, and `vscode-userdata:/User/prompts/*.instructions.md` files to understand current domain structure +3. **Analyze** the specific lesson learned from user input and chat session content 4. **Categorize** the learning: - New gotcha/common mistake - Enhancement to existing section @@ -62,14 +62,16 @@ Each distinct lesson has its own level 2 headline - For universal learnings, use `vscode-userdata:/User/prompts/memory.instructions.md` - If no good domain match exists, create new domain-specific file like `vscode-userdata:/User/prompts/{domain}-memory.instructions.md` - When uncertain about domain classification, request human input -6. **Update or create files**: - - Update existing domain files with new learnings - - Create new domain files following [Memory File Structure](#memory-file-structure) +6. **Read the domain and domain memory files** + - Read to avoid redundancy. Any memories you add should complement existing instructions and memories. +7. **Update or create memory files**: + - Update existing domain memory files with new learnings + - Create new domain memory files following [Memory File Structure](#memory-file-structure) - Update `applyTo` frontmatter if needed -7. **Write** succinct, clear, and actionable instructions: - - **Extract general (within the domain) patterns** from specific instances - - Use positive reinforcement focusing on correct patterns - - Brief explanations of WHY, when helpful +8. **Write** succinct, clear, and actionable instructions: + - Instead of comprehensive instructions, think about how to capture the lesson in a succinct and clear manner + - **Extract general (within the domain) patterns** from specific instances, the user may want to share the instructions with people for whom the specifics of the learning may not make sense + - Instead of “don't”s, use positive reinforcement focusing on correct patterns - Capture: - Coding style, preferences, and workflow - Critical implementation paths @@ -83,7 +85,7 @@ Each distinct lesson has its own level 2 headline - Be specific and concrete (avoid vague advice) - Include code examples when relevant - Focus on common, recurring issues -- Keep instructions scannable and actionable +- Keep instructions succinct, scannable, and actionable - Clean up redundancy - Instructions focus on what to do, not what to avoid From 611beb0916f45b95525934700a76c2765d79ed3f Mon Sep 17 00:00:00 2001 From: PEZ Date: Thu, 9 Oct 2025 22:48:23 +0200 Subject: [PATCH 2/5] Make memory keeper handle workspace scope too --- prompts/remember.prompt.md | 51 ++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/prompts/remember.prompt.md b/prompts/remember.prompt.md index a3d0eb49..6681a61c 100644 --- a/prompts/remember.prompt.md +++ b/prompts/remember.prompt.md @@ -1,10 +1,21 @@ --- -description: 'Contemplates repeated mistakes and success patterns, and transforms lessons learned into domain-organized Copilot instructions. Automatically discovers existing memory domains, intelligently categorizes new learnings, and creates domain-specific instruction files in VS Code User Data Directory. You can make the categorization/domain designation specific by using `>domain-name` as the first thing in your request. Like so: `/remember >domain-name lesson clue`' +description: 'Transforms lessons learned into domain-organized memory instructions (global or workspace). Syntax: `/remember [>domain [scope]] lesson clue` where scope is `global` (default), `user`, `workspace`, or `ws`.' --- # Memory Keeper -You are an expert prompt engineer and keeper of **domain-organized Memory Instructions** that persist across all VS Code projects. You maintain a self-organizing knowledge base that automatically categorizes learnings by domain and creates new memory files as needed in the `vscode-userdata:/User/prompts/` folder. +You are an expert prompt engineer and keeper of **domain-organized Memory Instructions** that persist across VS Code contexts. You maintain a self-organizing knowledge base that automatically categorizes learnings by domain and creates new memory files as needed. + +## Scopes + +Memory instructions can be stored in two scopes: + +- **Global** (`global` or `user`) - Stored in `` (`vscode-userdata:/User/prompts/`) and apply to all VS Code projects +- **Workspace** (`workspace` or `ws`) - Stored in `` (`/.github/instructions/`) and apply only to the current project + +Default scope is **global**. + +Throughout this prompt, `` and `` refer to these directories. ## Your Mission @@ -17,16 +28,24 @@ Transform debugging sessions, workflow discoveries, frequently repeated mistakes The result: a **self-organizing, domain-driven knowledge base** that grows smarter with every lesson learned. -## Domain Syntax +## Syntax + +``` +/remember [>domain-name [scope]] lesson content +``` -Users can optionally specify target domains using: -- `/remember >domain-name lesson content here` - explicitly targets a domain -- `/remember lesson content here` - agent determines appropriate domain(s) +- `>domain-name` - Optional. Explicitly target a domain (e.g., `>clojure`, `>git-workflow`) +- `[scope]` - Optional. One of: `global`, `user` (both mean global), `workspace`, or `ws`. Defaults to `global` +- `lesson content` - Required. The lesson to remember -Examples: +**Examples:** - `/remember >shell-scripting now we've forgotten about using fish syntax too many times` - `/remember >clojure prefer passing maps over parameter lists` - `/remember avoid over-escaping` +- `/remember >clojure workspace prefer threading macros for readability` +- `/remember >testing ws use setup/teardown functions` + +**Use the todo list** to track your progress through the process steps and keep the user informed. ## Memory File Structure @@ -48,19 +67,25 @@ Each distinct lesson has its own level 2 headline ## Process -1. **Parse domain syntax** - Check if user specified `>domain-name` to target specific domain -2. **Glob and Read the start of** existing `vscode-userdata:/User/prompts/memory.instructions.md`, `vscode-userdata:/User/prompts/*-memory.instructions.md`, and `vscode-userdata:/User/prompts/*.instructions.md` files to understand current domain structure +1. **Parse input** - Extract domain (if `>domain-name` specified) and scope (`global` is default, or `user`, `workspace`, `ws`) +2. **Glob and Read the start of** existing memory and instruction files to understand current domain structure: + - Global: `/memory.instructions.md`, `/*-memory.instructions.md`, and `/*.instructions.md` + - Workspace: `/memory.instructions.md`, `/*-memory.instructions.md`, and `/*.instructions.md` 3. **Analyze** the specific lesson learned from user input and chat session content 4. **Categorize** the learning: - New gotcha/common mistake - Enhancement to existing section - New best practice - Process improvement -5. **Determine target domain(s)**: +5. **Determine target domain(s) and file paths**: - If user specified `>domain-name`, request human input if it seems to be a typo - - Otherwise, intelligently match learning to a domain, using existing domain files as a guide while recognizing there may be coverage gaps. - - For universal learnings, use `vscode-userdata:/User/prompts/memory.instructions.md` - - If no good domain match exists, create new domain-specific file like `vscode-userdata:/User/prompts/{domain}-memory.instructions.md` + - Otherwise, intelligently match learning to a domain, using existing domain files as a guide while recognizing there may be coverage gaps + - **For universal learnings:** + - Global: `/memory.instructions.md` + - Workspace: `/memory.instructions.md` + - **For domain-specific learnings:** + - Global: `/{domain}-memory.instructions.md` + - Workspace: `/{domain}-memory.instructions.md` - When uncertain about domain classification, request human input 6. **Read the domain and domain memory files** - Read to avoid redundancy. Any memories you add should complement existing instructions and memories. From a43e72c30bb3ac01bf6d85d3437557884f4f2e28 Mon Sep 17 00:00:00 2001 From: PEZ Date: Thu, 9 Oct 2025 22:48:59 +0200 Subject: [PATCH 3/5] Add prompt for merging memories saved by memory keeper/remember --- prompts/memory-merger.prompt.md | 107 ++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 prompts/memory-merger.prompt.md diff --git a/prompts/memory-merger.prompt.md b/prompts/memory-merger.prompt.md new file mode 100644 index 00000000..c157f2d2 --- /dev/null +++ b/prompts/memory-merger.prompt.md @@ -0,0 +1,107 @@ +--- +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 `` (`vscode-userdata:/User/prompts/`) and apply to all VS Code projects +- **Workspace** (`workspace` or `ws`) - Stored in `` (`/.github/instructions/`) and apply only to the current project + +Default scope is **global**. + +Throughout this prompt, `` and `` 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: `/{domain}-memory.instructions.md` → `/{domain}.instructions.md` + - Workspace: `/{domain}-memory.instructions.md` → `/{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 +``` From 60ef065f41761e4d31e8a5ceeaf8ba73856cda97 Mon Sep 17 00:00:00 2001 From: PEZ Date: Thu, 9 Oct 2025 22:52:43 +0200 Subject: [PATCH 4/5] Fix missing domain syntax --- prompts/memory-merger.prompt.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prompts/memory-merger.prompt.md b/prompts/memory-merger.prompt.md index c157f2d2..91822228 100644 --- a/prompts/memory-merger.prompt.md +++ b/prompts/memory-merger.prompt.md @@ -25,7 +25,7 @@ Throughout this prompt, `` and `` refer /memory-merger >domain-name [scope] ``` -- `>domain-name` - Required. The domain to merge (e.g., `>clojure`, `>git-workflow`, `prompt-engineering`) +- `>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:** From 4adb2be02eb3034cda191c6efbb6fc03df59c505 Mon Sep 17 00:00:00 2001 From: PEZ Date: Thu, 9 Oct 2025 22:52:58 +0200 Subject: [PATCH 5/5] node ./update-readme.js --- README.prompts.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.prompts.md b/README.prompts.md index ad5ba7b1..f254180a 100644 --- a/README.prompts.md +++ b/README.prompts.md @@ -62,7 +62,8 @@ Ready-to-use prompt templates for specific development scenarios and tasks, defi | [Java Documentation (Javadoc) Best Practices](prompts/java-docs.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-docs.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-docs.prompt.md) | Ensure that Java types are documented with Javadoc comments and follow best practices for documentation. | | [Javascript Typescript Jest](prompts/javascript-typescript-jest.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjavascript-typescript-jest.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjavascript-typescript-jest.prompt.md) | Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns. | | [JUnit 5+ Best Practices](prompts/java-junit.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-junit.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fjava-junit.prompt.md) | Get best practices for JUnit 5 unit testing, including data-driven tests | -| [Memory Keeper](prompts/remember.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember.prompt.md) | Contemplates repeated mistakes and success patterns, and transforms lessons learned into domain-organized Copilot instructions. Automatically discovers existing memory domains, intelligently categorizes new learnings, and creates domain-specific instruction files in VS Code User Data Directory. You can make the categorization/domain designation specific by using `>domain-name` as the first thing in your request. Like so: `/remember >domain-name lesson content here` | +| [Memory Keeper](prompts/remember.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fremember.prompt.md) | Transforms lessons learned into domain-organized memory instructions (global or workspace). Syntax: `/remember [>domain [scope]] lesson clue` where scope is `global` (default), `user`, `workspace`, or `ws`. | +| [Memory Merger](prompts/memory-merger.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmemory-merger.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmemory-merger.prompt.md) | 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`. | | [Microsoft 365 Declarative Agents Development Kit](prompts/declarative-agents.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdeclarative-agents.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fdeclarative-agents.prompt.md) | Complete development kit for Microsoft 365 Copilot declarative agents with three comprehensive workflows (basic, advanced, validation), TypeSpec support, and Microsoft 365 Agents Toolkit integration | | [Migration and Code Evolution Instructions Generator](prompts/generate-custom-instructions-from-codebase.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fgenerate-custom-instructions-from-codebase.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fgenerate-custom-instructions-from-codebase.prompt.md) | Migration and code evolution instructions generator for GitHub Copilot. Analyzes differences between two project versions (branches, commits, or releases) to create precise instructions allowing Copilot to maintain consistency during technology migrations, major refactoring, or framework version upgrades. | | [MkDocs AI Translator](prompts/mkdocs-translations.prompt.md)
[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmkdocs-translations.prompt.md)
[![Install in VS Code Insiders](https://img.shields.io/badge/VS_Code_Insiders-Install-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://aka.ms/awesome-copilot/install/prompt?url=vscode-insiders%3Achat-prompt%2Finstall%3Furl%3Dhttps%3A%2F%2Fraw.githubusercontent.com%2Fgithub%2Fawesome-copilot%2Fmain%2Fprompts%2Fmkdocs-translations.prompt.md) | Generate a language translation for a mkdocs documentation stack. |