# Memory Curate

Curate the Basic Memory graph: link orphan notes, propose typed relations, merge...

- Repository: https://github.com/basicmachines-co/basic-memory (4440 stars)
- Category: Writing
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add basicmachines-co/basic-memory --skill memory-curate -g -a claude-code -y`
Codex: `npx skills add basicmachines-co/basic-memory --skill memory-curate -g -a codex -y`
Cursor: `npx skills add basicmachines-co/basic-memory --skill memory-curate -g -a cursor -y`
Gemini CLI: `npx skills add basicmachines-co/basic-memory --skill memory-curate -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add basicmachines-co/basic-memory`

## Description

Curate the Basic Memory graph: link orphan notes, propose typed relations, merge duplicates, audit tags and folders, build hub notes. Use to organize and connect a knowledge base as notes accumulate.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Memory Curate

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 the notes' content, splitting bloated notes, consolidating scattered facts, retiring stale entries, see **memory-defrag**.)

## Project scope

If the project is unknown, discover it with `bm_project(command="list")`.
Pass a nonempty `project` on every note, folder, context and schema call, even
with one project or a qualified `memory://` URL. Use the chosen project's name,
`workspace/project`, or external ID; `<project>` below is a placeholder for it.
Recent activity also requires `project`. Search accepts `project` for one
project, `projects` for selected projects, or `all_projects=True` explicitly.
Discovery and bundled manuals need no project. Keep the same scope when following
returned paths, paginating, or recovering from a refusal.

## When to Use

- Asked to organize, clean up, or improve the knowledge base
- Asked to find connections between notes, or what isn't linked yet
- Orphan or unlinked notes are mentioned
- Asked about duplicate or similar notes
- Asked for help with folder organization or tag consistency
- Phrases like "help me organize", "find related notes", "what's not linked", "clean up my notes"

## Curation Capabilities

### 1. Find Orphan Notes

Orphans have no relations to other notes, they're islands in the graph.

```python
# List notes, then read each to inspect its Relations section
bm_search(query="*", mode="text", page_size=50, project="<project>")
bm_read(identifier="note-to-check", project="<project>")
# Orphans have an empty (or missing) Relations section
```

The rest: https://github.com/basicmachines-co/basic-memory/blob/HEAD/skills/memory-curate/SKILL.md
