Curate the Basic Memory knowledge graph: find orphan notes and suggest links, propose typed relations, merge duplicates, audit tags and folders, and build hub notes. Use to organize, connect, and improve a knowledge base as notes accumulate.
71
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Maintain a healthy, well-connected knowledge graph. As notes accumulate, it pays to periodically organize, link, and curate the knowledge base so isolated notes become a connected graph.
This skill curates the knowledge graph — the notes, relations, and tags that make up the knowledge base. (For hygiene on an agent's own memory files — splitting bloated files, pruning stale entries — see memory-defrag.)
Orphans have no relations to other notes — they're islands in the graph.
# List notes, then read each to inspect its Relations section
search_notes(query="*", page_size=50)
read_note(identifier="note-to-check")
# Orphans have an empty (or missing) Relations sectionWhat to do with orphans:
Analyze a note's content and propose meaningful connections.
read_note(identifier="note-to-analyze")
# Pull out key terms, then search for related notes
search_notes(query="key terms from the note")Suggest relations based on shared topics, complementary content (problem/solution, question/answer), sequence (part 1 → part 2), or hierarchy (parent concept → detail).
Relation-type vocabulary:
relates_to — general topical connectionextends — builds upon or elaboratesimplements — realizes a concept or specdepends_on — requires understanding ofpart_of — hierarchy or compositioncontrasts_with — presents an alternative viewinspired_by — source of insightenables — makes something possibleCustom relation types are fine — use whatever verb is descriptive.
Add a confirmed relation with edit_note:
edit_note(
identifier="API Design Decisions",
operation="append",
section="Relations",
content="- depends_on [[Rate Limiter]]",
)Find notes that may cover the same ground.
search_notes(query="topic keywords")
# Compare results for: similar titles, overlapping observations,
# shared tags, close-together timestampsActions for duplicates:
supersedes / updates when one revises the other# Point an older note at the one that replaces it
edit_note(
identifier="DB Schema v1",
operation="append",
section="Relations",
content="- updates [[DB Schema v2]]",
)list_directory(dir_name="/", depth=3)Look for overcrowded folders, single-note folders, inconsistent naming, and notes
that belong elsewhere. Suggest grouping related notes into topic folders, adding
subfolders for large categories, and a consistent naming convention. Move misplaced
notes with move_note — the permalink stays stable, so wiki-links keep resolving.
move_note(
identifier="API Design Decisions",
destination_path="architecture/api-design-decisions.md",
)search_notes(query="*", page_size=100)
# Inspect tag patterns across resultsLook for:
architecture vs arch; pick one and standardizeAfter finding a cluster of related notes, build a navigation hub.
write_note(
title="Architecture Decisions Index",
directory="indexes",
tags=["architecture", "index"],
note_type="index",
content="""# Architecture Decisions Index
A hub linking architecture-related decisions and patterns.
## Decisions
- [[Database Selection Decision]]
- [[API Design Patterns]]
- [[Authentication Architecture]]
## Patterns
- [[Repository Pattern]]
- [[Async Client Pattern]]
## Observations
- [index] Central hub for architecture knowledge #navigation
## Relations
- indexes [[Architecture]]""",
)Find notes lacking structure and fill them in.
read_note(identifier="sparse-note")If the note is missing an Observations section, suggest categories. If it has no
Relations, suggest links. If it has no tags, suggest relevant ones. If it lacks
context, suggest adding background. Apply with edit_note.
A fast overview of knowledge base status:
recent_activity)Thorough review and improvement:
Organize around a specific subject:
search_notes)build_context(url="memory://...")build_context to help the user see how notes connect.User: "Help me organize my notes"
The assistant:
User: "Find notes that should link to my API design note"
The assistant:
relates_toimplementsextends
Should I add any of these relations?"User: "Are there notes on similar topics?"
The assistant:
supersedes relation
Want to review either?"cb95e59
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.