{"id":"6554bea6-205b-4f70-b0b3-ef1157e32e74","shortId":"UYVRea","kind":"skill","title":"remember","tagline":"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`.","description":"# Memory Keeper\n\nYou 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.\n\n## Scopes\n\nMemory instructions can be stored in two scopes:\n\n- **Global** (`global` or `user`) - Stored in `<global-prompts>` (`vscode-userdata:/User/prompts/`) and apply to all VS Code projects\n- **Workspace** (`workspace` or `ws`) - Stored in `<workspace-instructions>` (`<workspace-root>/.github/instructions/`) and apply only to the current project\n\nDefault scope is **global**.\n\nThroughout this prompt, `<global-prompts>` and `<workspace-instructions>` refer to these directories.\n\n## Your Mission\n\nTransform debugging sessions, workflow discoveries, frequently repeated mistakes, and hard-won lessons into **domain-specific, reusable knowledge**, that helps the agent to effectively find the best patterns and avoid common mistakes. Your intelligent categorization system automatically:\n\n- **Discovers existing memory domains** via glob patterns to find `vscode-userdata:/User/prompts/*-memory.instructions.md` files\n- **Matches learnings to domains** or creates new domain files when needed\n- **Organizes knowledge contextually** so future AI assistants find relevant guidance exactly when needed\n- **Builds institutional memory** that prevents repeating mistakes across all projects\n\nThe result: a **self-organizing, domain-driven knowledge base** that grows smarter with every lesson learned.\n\n## Syntax\n\n```\n/remember [>domain-name [scope]] lesson content\n```\n\n- `>domain-name` - Optional. Explicitly target a domain (e.g., `>clojure`, `>git-workflow`)\n- `[scope]` - Optional. One of: `global`, `user` (both mean global), `workspace`, or `ws`. Defaults to `global`\n- `lesson content` - Required. The lesson to remember\n\n**Examples:**\n- `/remember >shell-scripting now we've forgotten about using fish syntax too many times`\n- `/remember >clojure prefer passing maps over parameter lists`\n- `/remember avoid over-escaping`\n- `/remember >clojure workspace prefer threading macros for readability`\n- `/remember >testing ws use setup/teardown functions`\n\n**Use the todo list** to track your progress through the process steps and keep the user informed.\n\n## Memory File Structure\n\n### Description Frontmatter\nKeep domain file descriptions general, focusing on the domain responsibility rather than implementation specifics.\n\n### ApplyTo Frontmatter\nTarget specific file patterns and locations relevant to the domain using glob patterns. Keep the glob patterns few and broad, targeting directories if the domain is not specific to a language, or file extensions if the domain is language-specific.\n\n### Main Headline\nUse level 1 heading format: `# <Domain Name> Memory`\n\n### Tag Line\nFollow the main headline with a succinct tagline that captures the core patterns and value of that domain's memory file.\n\n### Learnings\n\nEach distinct lesson has its own level 2 headline\n\n## Process\n\n1. **Parse input** - Extract domain (if `>domain-name` specified) and scope (`global` is default, or `user`, `workspace`, `ws`)\n2. **Glob and Read the start of** existing memory and instruction files to understand current domain structure:\n   - Global: `<global-prompts>/memory.instructions.md`, `<global-prompts>/*-memory.instructions.md`, and `<global-prompts>/*.instructions.md`\n   - Workspace: `<workspace-instructions>/memory.instructions.md`, `<workspace-instructions>/*-memory.instructions.md`, and `<workspace-instructions>/*.instructions.md`\n3. **Analyze** the specific lesson learned from user input and chat session content\n4. **Categorize** the learning:\n   - New gotcha/common mistake\n   - Enhancement to existing section\n   - New best practice\n   - Process improvement\n5. **Determine target domain(s) and file paths**:\n   - If user specified `>domain-name`, request human input if it seems to be a typo\n   - Otherwise, intelligently match learning to a domain, using existing domain files as a guide while recognizing there may be coverage gaps\n   - **For universal learnings:**\n     - Global: `<global-prompts>/memory.instructions.md`\n     - Workspace: `<workspace-instructions>/memory.instructions.md`\n   - **For domain-specific learnings:**\n     - Global: `<global-prompts>/{domain}-memory.instructions.md`\n     - Workspace: `<workspace-instructions>/{domain}-memory.instructions.md`\n   - When uncertain about domain classification, request human input\n6. **Read the domain and domain memory files**\n   - Read to avoid redundancy. Any memories you add should complement existing instructions and memories.\n7. **Update or create memory files**:\n   - Update existing domain memory files with new learnings\n   - Create new domain memory files following [Memory File Structure](#memory-file-structure)\n   - Update `applyTo` frontmatter if needed\n8. **Write** succinct, clear, and actionable instructions:\n   - Instead of comprehensive instructions, think about how to capture the lesson in a succinct and clear manner\n   - **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\n   - Instead of “don't”s, use positive reinforcement focusing on correct patterns\n   - Capture:\n      - Coding style, preferences, and workflow\n      - Critical implementation paths\n      - Project-specific patterns\n      - Tool usage patterns\n      - Reusable problem-solving approaches\n\n## Quality Guidelines\n\n- **Generalize beyond specifics** - Extract reusable patterns rather than task-specific details\n- Be specific and concrete (avoid vague advice)\n- Include code examples when relevant\n- Focus on common, recurring issues\n- Keep instructions succinct, scannable, and actionable\n- Clean up redundancy\n- Instructions focus on what to do, not what to avoid\n\n## Update Triggers\n\nCommon scenarios that warrant memory updates:\n- Repeatedly forgetting the same shortcuts or commands\n- Discovering effective workflows\n- Learning domain-specific best practices\n- Finding reusable problem-solving approaches\n- Coding style decisions and rationale\n- Cross-project patterns that work well","tags":["remember","awesome","copilot","github","agent-skills","agents","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"capabilities":["skill","source-github","skill-remember","topic-agent-skills","topic-agents","topic-awesome","topic-custom-agents","topic-github-copilot","topic-hacktoberfest","topic-prompt-engineering"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/remember","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add github/awesome-copilot","source_repo":"https://github.com/github/awesome-copilot","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 33270 github stars · SKILL.md body (6,279 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:52:23.846Z","embedding":null,"createdAt":"2026-04-18T20:25:46.859Z","updatedAt":"2026-05-18T18:52:23.846Z","lastSeenAt":"2026-05-18T18:52:23.846Z","tsv":"'/.github/instructions':104 '/memory.instructions.md':475,480,562,564 '/remember':15,232,275,290,298,303,311 '/user/prompts':90,176 '1':400,438 '2':435,457 '3':484 '4':497 '5':513 '6':584 '7':606 '8':638 'across':47,210 'action':643,761 'add':599 'advic':745 'agent':148 'ai':195 'analyz':485 'appli':92,106 'applyto':353,634 'approach':724,804 'assist':196 'automat':60,163 'avoid':156,299,594,743,774 'base':58,223 'best':153,509,797 'beyond':728 'broad':374 'build':203 'captur':415,653,704 'categor':61,161,498 'chat':494 'classif':580 'clean':762 'clear':641,660 'clojur':248,291,304 'clue':19 'code':49,96,705,747,805 'command':789 'common':157,753,777 'complement':601 'comprehens':647 'concret':742 'content':238,268,496 'context':50 'contextu':192 'core':417 'correct':702 'coverag':556 'creat':66,184,609,620 'critic':710 'cross':811 'cross-project':810 'current':110,471 'debug':127 'decis':807 'default':24,112,264,452 'descript':337,342 'detail':738 'determin':514 'directori':123,376 'discov':164,790 'discoveri':130 'distinct':429 'domain':7,16,41,64,141,167,182,186,220,234,240,246,340,347,364,379,391,423,442,445,472,516,525,543,546,567,571,574,579,587,589,614,622,666,795 'domain-driven':219 'domain-nam':233,239,444,524 'domain-organ':6,40 'domain-specif':140,566,794 'driven':221 'e.g':247 'effect':150,791 'engin':36 'enhanc':504 'escap':302 'everi':228 'exact':200 'exampl':274,748 'exist':165,464,506,545,602,613 'expert':34 'explicit':243 'extens':388 'extract':441,662,730 'file':69,178,187,335,341,357,387,426,468,519,547,591,611,616,624,627,631 'find':151,172,197,799 'fish':285 'focus':344,700,751,766 'follow':406,625 'forget':784 'forgotten':282 'format':402 'frequent':131 'frontmatt':338,354,635 'function':316 'futur':194 'gap':557 'general':343,663,727 'git':250 'git-workflow':249 'glob':169,366,370,458 'global':11,23,81,82,115,256,260,266,450,474,561,570 'gotcha/common':502 'grow':225 'guid':550 'guidanc':199 'guidelin':726 'hard':136 'hard-won':135 'head':401 'headlin':397,409,436 'help':146 'human':528,582 'implement':351,711 'improv':512 'includ':746 'inform':333 'input':440,492,529,583 'instanc':670 'instead':645,692 'institut':204 'instruct':10,44,74,467,603,644,648,678,757,765 'instructions.md':478,483 'intellig':160,538 'issu':755 'keep':330,339,368,756 'keeper':30,38 'knowledg':57,144,191,222 'languag':385,394 'language-specif':393 'learn':4,62,180,230,427,489,500,540,560,569,619,687,793 'lesson':3,18,138,229,237,267,271,430,488,655 'level':399,434 'line':405 'list':297,320 'locat':360 'macro':308 'main':396,408 'maintain':52 'make':690 'mani':288 'manner':661 'map':294 'match':179,539 'may':554,673,688 'mean':259 'memori':9,29,43,68,73,166,205,334,403,425,465,590,597,605,610,615,623,626,630,781 'memory-file-structur':629 'memory.instructions.md':177,476,481,572,575 'mission':125 'mistak':133,158,209,503 'name':235,241,446,526 'need':71,189,202,637 'new':67,185,501,508,618,621 'one':254 'option':242,253 'organ':8,42,56,190,218 'otherwis':537 'over-escap':300 'paramet':296 'pars':439 'pass':293 'path':520,712 'pattern':154,170,358,367,371,418,667,703,716,719,732,813 'peopl':680 'persist':46 'posit':698 'practic':510,798 'prefer':292,306,707 'prevent':207 'problem':722,802 'problem-solv':721,801 'process':327,437,511 'progress':324 'project':97,111,212,714,812 'project-specif':713 'prompt':35,118 'qualiti':725 'rather':349,733 'rational':809 'read':460,585,592 'readabl':310 'recogn':552 'recur':754 'redund':595,764 'refer':120 'reinforc':699 'relev':198,361,750 'rememb':1,273 'repeat':132,208,783 'request':527,581 'requir':269 'respons':348 'result':214 'reusabl':143,720,731,800 'scannabl':759 'scenario':778 'scope':17,21,72,80,113,236,252,449 'script':278 'section':507 'seem':532 'self':55,217 'self-organ':54,216 'sens':691 'session':128,495 'setup/teardown':315 'share':676 'shell':277 'shell-script':276 'shortcut':787 'skill' 'skill-remember' 'smarter':226 'solv':723,803 'source-github' 'specif':142,352,356,382,395,487,568,669,684,715,729,737,740,796 'specifi':447,523 'start':462 'step':328 'store':77,85,102 'structur':336,473,628,632 'style':706,806 'succinct':412,640,658,758 'syntax':14,231,286 'system':162 'tag':404 'taglin':413 'target':244,355,375,515 'task':736 'task-specif':735 'test':312 'think':649 'thread':307 'throughout':116 'time':289 'todo':319 'tool':717 'topic-agent-skills' 'topic-agents' 'topic-awesome' 'topic-custom-agents' 'topic-github-copilot' 'topic-hacktoberfest' 'topic-prompt-engineering' 'track':322 'transform':2,126 'trigger':776 'two':79 'typo':536 'uncertain':577 'understand':470 'univers':559 'updat':607,612,633,775,782 'usag':718 'use':284,314,317,365,398,544,697 'user':25,84,257,332,454,491,522,672 'userdata':89,175 'vagu':744 'valu':420 've':281 'via':168 'vs':48,95 'vscode':88,174 'vscode-userdata':87,173 'want':674 'warrant':780 'well':816 'within':664 'won':137 'work':815 'workflow':129,251,709,792 'workspac':13,26,98,99,261,305,455,479,563,573 'write':639 'ws':28,101,263,313,456","prices":[{"id":"c20222ac-f867-47ec-85ed-aecbf379f080","listingId":"6554bea6-205b-4f70-b0b3-ef1157e32e74","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:25:46.859Z"}],"sources":[{"listingId":"6554bea6-205b-4f70-b0b3-ef1157e32e74","source":"github","sourceId":"github/awesome-copilot/remember","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/remember","isPrimary":false,"firstSeenAt":"2026-04-18T21:51:03.837Z","lastSeenAt":"2026-05-18T18:52:23.846Z"},{"listingId":"6554bea6-205b-4f70-b0b3-ef1157e32e74","source":"skills_sh","sourceId":"github/awesome-copilot/remember","sourceUrl":"https://skills.sh/github/awesome-copilot/remember","isPrimary":true,"firstSeenAt":"2026-04-18T20:25:46.859Z","lastSeenAt":"2026-05-07T22:40:17.986Z"}],"details":{"listingId":"6554bea6-205b-4f70-b0b3-ef1157e32e74","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"remember","github":{"repo":"github/awesome-copilot","stars":33270,"topics":["agent-skills","agents","ai","awesome","custom-agents","github-copilot","hacktoberfest","prompt-engineering"],"license":"mit","html_url":"https://github.com/github/awesome-copilot","pushed_at":"2026-05-18T01:26:59Z","description":"Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.","skill_md_sha":"d8292ecdf5371db067fccf1df347c9b5ffa243f9","skill_md_path":"skills/remember/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/github/awesome-copilot/tree/main/skills/remember"},"layout":"multi","source":"github","category":"awesome-copilot","frontmatter":{"name":"remember","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`."},"skills_sh_url":"https://skills.sh/github/awesome-copilot/remember"},"updatedAt":"2026-05-18T18:52:23.846Z"}}