diff --git a/prompts/remember.prompt.md b/prompts/remember.prompt.md index 42283b5..a3d0eb4 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