From copilot-cli-toolkit
Guides memory curation: updating outdated content, marking memories obsolete, linking related knowledge, and deduplicating to maintain accurate knowledge bases and graphs.
npx claudepluginhub rjmurillo/ai-agentsThis skill uses the workspace's default tool permissions.
Active curation keeps the knowledge base accurate and connected. Outdated memories pollute search results and reduce effectiveness.
Guides memory curation: updating outdated content, marking memories obsolete, linking related knowledge, and deduplicating to maintain accurate knowledge bases and graphs.
Use when creating new memories to check for duplicates first, when discovering outdated information that should be marked obsolete, when new decisions supersede old ones, or when building connections between related knowledge in Forgetful MCP (mcp__forgetful__* tools).
Guides effective use of Forgetful semantic memory with Zettelkasten atomic principles for deciding when to query or create memories, structuring content, and scoring importance.
Share bugs, ideas, or general feedback.
Active curation keeps the knowledge base accurate and connected. Outdated memories pollute search results and reduce effectiveness.
| Trigger Phrase | Operation |
|---|---|
how do I update a memory | update_memory with PATCH semantics |
how do I mark a memory obsolete | mark_memory_obsolete with reason |
how do I link related memories | link_memories bidirectional linking |
how do I deduplicate memories | Curation workflow: query, analyze, merge |
how do I clean up stale memories | Identify and mark obsolete outdated content |
Use update_memory when:
execute_forgetful_tool("update_memory", {
"memory_id": <id>,
"content": "Updated content...",
"importance": 8
})
Only specified fields are changed (PATCH semantics).
Use mark_memory_obsolete when:
execute_forgetful_tool("mark_memory_obsolete", {
"memory_id": <id>,
"reason": "Superseded by new architecture decision",
"superseded_by": <new_memory_id> // optional
})
Obsolete memories are soft-deleted (preserved for audit, hidden from queries).
Use link_memories when:
execute_forgetful_tool("link_memories", {
"memory_id": <source_id>,
"related_ids": [<target_id_1>, <target_id_2>]
})
Links are bidirectional (A↔B created automatically).
When creating new memories, check impact on existing knowledge:
execute_forgetful_tool("query_memory", {
"query": "<topic of new memory>",
"query_context": "Checking for memories that may need curation",
"k": 5
})
For each existing memory, determine action:
| Situation | Action |
|---|---|
| Existing memory is still accurate | Link to it |
| Existing memory has minor gaps | Update it |
| Existing memory is now wrong | Mark obsolete, create new |
| Existing memory is partially valid | Create new, link both |
Present plan to user before executing:
Curation plan:
- Create: "New authentication approach" (importance: 8)
- Mark obsolete: #42 "Old auth pattern" (superseded)
- Link: New memory ↔ #38 "Security requirements"
Proceed? (y/n)
After user confirms:
Watch for these indicators:
Forgetful auto-links semantically similar memories (similarity >= 0.7) during creation. Manual linking is for:
Check similar_memories in create response to see what was auto-linked.
Use this skill when:
Use using-forgetful-memory instead when:
Use exploring-knowledge-graph instead when:
query_memory| Avoid | Why | Instead |
|---|---|---|
| Deleting memories instead of marking obsolete | Loses audit trail | Use mark_memory_obsolete with reason |
| Creating duplicates of existing memories | Pollutes search results | Query first, update existing if found |
| Linking everything to everything | Dilutes relationship signal | Link only semantically meaningful connections |
| Skipping user confirmation on curation plans | May obsolete valuable content | Present plan and wait for approval |
| Ignoring low-importance memory accumulation | Degrades search quality over time | Periodically review and cull sub-6 importance |
After curation operations: