forget
Skill19 starsChanged 3 months agoMITView on GitHub
Soft-delete memories by adding/removing the forget tag, or hard-delete outdated memories
9 other projects use a version of this.
Adopted by
Most recently taken up by
- codewhale-hq/codewhale-plugin-marketplacetheir own version, first seen Nov 8, 2026
- obra/muse-skillstheir own version, first seen Oct 13, 2026
- sneakers-the-rat/muse-skillstheir own version, first seen Oct 13, 2026
- jacobwell/muse-skillstheir own version, first seen Sep 25, 2026
- KeyShiftLDN/ClaudeCodetheir own version, first seen Jun 9, 2026
- hereinthehive/kickstarttheir own version, first seen May 27, 2026
Used with
Projects with it also use generate_podcast, muse_db and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jacobwellSkillgenerate_podcast
Compose and deliver audio content: a podcast episode, briefing, or narrated summary, with one or more voices, as an MP3. For reading supplied text aloud verbatim, use tts.
Also in 3 projects that use this
jacobwellSkillmuse_db
Inspect database-backed Muse records for diagnosis and cross-table tracing when purpose-built product tools do not expose the needed state.
Also in 3 projects that use this
ansvisorSkillshopping
Checks product pages and feed for ChatGPT Shopping (US) and Google Shopping (EU).
Also in 4 projects that use this
SentrySkilltts
Generates spoken narration with Gemini TTS through Vercel AI Gateway. Use for text-to-speech, audio samples, voiceovers, or speaking as Junior with the reusable Junior voice. Do not use for transcription, voice cloning, music generation, or rendering a video without a narration request.
Also in 4 projects that use this
QuixiAISkillspotify
Search Spotify, inspect current playback and devices, and control playback with explicit approval
Also in 3 projects that use this
refly-aiSkillgmail
Integrate with Gmail for email management and automation. Use when you need to: (1) send and compose emails with attachments, (2) read and search emails by criteria, (3) manage drafts and email labels, or (4) reply to email threads and conversations.
Also in 3 projects that use this
- +1 more from jacobwell
Other versions9 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 9
- sneakers-the-rat/muse-skills★ 24same name
- obra/muse-skills★ 20same name
- YehudaFrankel/clankbrain★ 16same name
- ThisisYoYoDev/claude-rag★ 9same name
- jacobwell/muse-skills★ 8same name
- codewhale-hq/codewhale-plugin-marketplace★ 5same name
- hereinthehive/kickstart★ 4same name
- ourines/claude-code-learn★ 1same name
- KeyShiftLDN/ClaudeCode★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository25 other files it gives its agents.
- assess-findingsSkill
- autopilotSkill
- build-fixSkill
- code-searchSkill
- context-usageSkill
- debugSkill
- decideSkill
- designSkill
- docsSkill
- gitSkill
- implementSkill
- memoriseSkill
- patternsSkill
- perfSkill
- plan-swarmSkill
- recallSkill
- reflectSkill
- reviewSkill
- semgrepSkill
- surveySkill
- swarmSkill
- swarm-statusSkill
- testSkill
- verifySkill
- worktree-resolveSkill
The file
We split this skill into the rules it gives an agent
11 rules. 0 are common, 7 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 9 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 49
Remove the forget tag to restore a soft-deleted memory.
- Distinctive: line 57
When the user wants to forget, correct, or supersede a memory:
- Distinctive: line 61
Search for the memory to identify its ID:
- Distinctive: line 73
Before deleting or forgetting, show the user what was found and confirm which memories to act on.
- Very specific: line 89
If the memory is being superseded (not just deleted), add a new corrected memory without the forget tag:
- Very specific: line 137
Always search first to find the exact memory ID.
- Distinctive: line 141
Always show the user what will be affected and get confirmation before acting, especially for hard deletes.
- Distinctive: line 205
Panic/crash: - If the tag command panics, fall back to delete + re-add:
- Distinctive: line 216
When adding replacement memories (Step 4 above), always:
- Very specific: line 220
Verify codebase claims: before storing — If a replacement memory references a file, function, or path, confirm it exists first.
- Distinctive: line 225
After forgetting a memory, verify:
“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Forget
Recommended model tier: balanced (sonnet) - this skill performs straightforward operations
Manage outdated, incorrect, or obsolete memories by soft-deleting (tagging with forget) or hard-deleting them.
Key Concepts
Soft Delete (Preferred)
Memories tagged with forget are excluded by default from search, list, and context injection. They remain in the database and can be recovered.
./.aide/bin/aide memory tag <MEMORY_ID> --add=forgetHard Delete (Permanent)
Permanently removes a memory from the database. Use when the memory is clearly wrong or contains sensitive data.
./.aide/bin/aide memory delete <MEMORY_ID>Unforget (Recover)
Remove the forget tag to restore a soft-deleted memory.
./.aide/bin/aide memory tag <MEMORY_ID> --remove=forgetWorkflow
When the user wants to forget, correct, or supersede a memory:
Step 1: Find the Memory
Search for the memory to identify its ID:
# Search by content keywords
./.aide/bin/aide memory search "<keywords>" --full --limit=10
# If the memory might already be forgotten, include all
./.aide/bin/aide memory list --allStep 2: Confirm with User
Before deleting or forgetting, show the user what was found and confirm which memories to act on. Display the memory ID, content, and tags.
Step 3: Apply the Appropriate Action
Choose based on the situation:
| Situation | Action | Command |
| Memory is outdated but was once true | Soft delete (forget) | aide memory tag <ID> --add=forget |
| Memory is factually wrong | Hard delete | aide memory delete <ID> |
| Memory is resolved (issue fixed) | Soft delete + optionally add resolution | See "Superseding" below |
| Memory contains sensitive data | Hard delete | aide memory delete <ID> |
| Memory was accidentally forgotten | Unforget | aide memory tag <ID> --remove=forget |
Step 4: Optionally Add a Replacement
If the memory is being superseded (not just deleted), add a new corrected memory without the forget tag:
# 1. Forget the old memory
./.aide/bin/aide memory tag <OLD_ID> --add=forget
# 2. Add the corrected memory (NO forget tag) — include scope + provenance tags
./.aide/bin/aide memory add --category=<category> --tags=<relevant,tags>,project:<name>,session:${AIDE_SESSION_ID},source:discovered "<corrected content>"Step 5: Verify
Confirm the memory is no longer visible in normal searches:
# Should NOT appear in normal search
./.aide/bin/aide memory search "<keywords>"
# Should appear with --all flag
./.aide/bin/aide memory list --allAnti-Patterns (AVOID)
DO NOT add a new memory with the forget tag to "supersede" an old one
This is the most common mistake. Adding a new memory tagged forget does nothing useful:
- The new "superseding" memory is immediately hidden (because it has the
forgettag) - The original incorrect memory remains visible and active
Wrong:
# BAD - creates a hidden memory, leaves the original untouched
aide memory add --tags="forget,some-topic" "RESOLVED: the old issue is fixed"Correct:
# GOOD - forget the original, add a visible replacement
aide memory tag <ORIGINAL_ID> --add=forget
aide memory add --tags="some-topic" "RESOLVED: the old issue is fixed"DO NOT guess memory IDs
Always search first to find the exact memory ID. Memory IDs are ULIDs (e.g., 01KJ3X7GMQET613WMPT7JT8GYD).
DO NOT forget memories without user confirmation
Always show the user what will be affected and get confirmation before acting, especially for hard deletes.
Batch Operations
To forget multiple related memories:
# Search for all related memories
./.aide/bin/aide memory search "<topic>" --full --limit=50
# Forget each one (after user confirmation)
./.aide/bin/aide memory tag <ID1> --add=forget
./.aide/bin/aide memory tag <ID2> --add=forgetTo clear ALL memories (destructive, requires explicit user request):
./.aide/bin/aide memory clearExamples
User says "that thing about ESM imports is wrong"
# 1. Find the memory
./.aide/bin/aide memory search "ESM imports" --full
# 2. Show user and confirm
# "Found memory 01KJ... about ESM imports requiring .js extensions. Delete this?"
# 3. Soft delete
./.aide/bin/aide memory tag 01KJ3XVFXBFTKKH1M500N6R5 --add=forgetUser says "we changed from JWT to sessions, update the memory"
# 1. Find the old memory
./.aide/bin/aide memory search "JWT auth" --full
# 2. Forget the old one
./.aide/bin/aide memory tag <OLD_ID> --add=forget
# 3. Add the corrected one
./.aide/bin/aide memory add --category=decision --tags=auth,sessions,project:myapp,session:${AIDE_SESSION_ID},source:discovered "Auth strategy changed from JWT to server-side sessions with Redis store"User says "recover that forgotten memory about testing"
# 1. Find forgotten memories
./.aide/bin/aide memory list --all
# 2. Unforget it
./.aide/bin/aide memory tag <ID> --remove=forgetFailure Handling
If aide memory tag fails:
- "memory not found" - The ID may be wrong. Re-search with
--allflag to include forgotten memories. - Panic/crash - If the tag command panics, fall back to delete + re-add:
# Workaround: get memory content, delete, re-add with forget tag ./.aide/bin/aide memory list --all # Find the memory content ./.aide/bin/aide memory delete <ID> ./.aide/bin/aide memory add --category=<cat> --tags=<existing-tags>,forget "<content>" - Database locked - Another process may hold the lock. Wait and retry, or ensure the aide daemon is running (CLI routes through gRPC when daemon is active).
Memory Hygiene
When adding replacement memories (Step 4 above), always:
- Include
source:tag — Usesource:discoveredfor corrected facts,source:userif the user provided the correction - Include scope tags — Add
project:<name>,session:<id>(get project name from git remote or directory; session ID from$AIDE_SESSION_IDor$CLAUDE_SESSION_ID) - Verify codebase claims before storing — If a replacement memory references a file, function, or path, confirm it exists first. See the
memoriseskill for the full verification workflow. - Never use
scope:globalunless storing a user preference
Verification
After forgetting a memory, verify:
# Memory should NOT appear here
./.aide/bin/aide memory search "<term>"
# Memory SHOULD appear here (with forget tag)
./.aide/bin/aide memory list --allDoes it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

