This plugin provides skills, commands, and hooks for working with Basic Memory - a local-first knowledge management system built on the Model Context Protocol (MCP).
You need the Basic Memory MCP server running. Install it via:
# Install basic-memory
pip install basic-memory
# Or with pipx
pipx install basic-memoryThen add it to your Claude Code MCP configuration.
/plugin marketplace add basicmachines-co/basic-memory-plugins
/plugin install basic-memory@basicmachines
Add to your .claude/settings.json:
{
"plugins": {
"extraKnownMarketplaces": {
"basicmachines": {
"source": {
"source": "github",
"repo": "basicmachines-co/basic-memory-plugins"
}
}
},
"installed": ["basic-memory@basicmachines"]
}
}For consistent, machine-readable memos, integrate with basic-memory-hooks - a validation service that catches LLM formatting inconsistencies and fixes them automatically.
# 1. Clone and install
cd ~/code
gh repo clone basicmachines-co/basic-memory-hooks
cd basic-memory-hooks
uv sync # or: pip install -e .
# 2. Start the validation server
uv run python -m basic_memory_hooks
# 3. Verify it's running
curl http://localhost:8000/health
# Returns: {"status":"healthy"}When you create memos using /remember, /research, or write notes directly, the validation server:
- Validates frontmatter - Ensures title and type exist
- Fixes observation format - Converts
- fact:to- [fact] - Removes duplicate sections - Merges multiple
## Observationsblocks - Validates categories - Checks against allowed observation types
- Orders relations - Primary relations before secondary
curl -X POST http://localhost:8000/validate \
-H "Content-Type: application/json" \
-d '{
"title": "My Memo",
"content": "---\ntitle: My Memo\ntype: memo\n---\n\n# My Memo\n\n## Observations\n\n- [fact] Something learned\n- [decision] Choice made\n- [technique] Approach used"
}'Response:
{
"success": true,
"content": "...",
"errors": [],
"warnings": [],
"metadata": {"hooks_run": ["validate_frontmatter", "format_observations", ...]}
}| Required | Optional |
|---|---|
| fact | insight |
| decision | question |
| technique | idea |
| requirement | |
| problem | |
| solution |
Custom categories can be configured in .basic-memory/format.md.
See the validate-memo skill for complete documentation.
User-invoked commands for explicit interaction with Basic Memory.
Capture insights, decisions, or learnings from the current conversation.
/remember "FastAPI Async Pattern"
/remember "Auth Decision" decisions
Creates a structured note with:
- Context from the conversation
- Observations with
[decision],[insight],[pattern]categories - Relations linking to related concepts
Resume previous work by building context from Basic Memory.
/continue postgres migration
/continue SPEC-24
/continue
If no topic is provided, shows recent activity and asks what to dive into.
Build context from a specific memory:// URL.
/context memory://SPEC-24
/context memory://architecture/* 3 2weeks
Show recent activity in Basic Memory.
/recent
/recent 1week
/recent today specs
Organize and maintain your knowledge graph.
/organize # Quick health check
/organize orphans # Find unlinked notes
/organize duplicates # Find similar notes
/organize relations "Note" # Suggest links for a note
/organize tags # Review tag consistency
Actions:
health- Overview of knowledge base status (default)orphans- Find notes with no relationsduplicates- Find overlapping notesrelations- Suggest connectionstags- Review tag consistency
Research a topic and save a structured report to Basic Memory.
/research MCP protocol
/research "database migrations"
/research "auth options" decisions
Produces a report with:
- Summary and key findings
- Analysis and recommendations
- Sources and related notes
- Saved to
research/folder by default
Model-invoked capabilities that Claude uses automatically based on context.
Validates and fixes memo formatting using basic-memory-hooks before saving.
Triggers when:
- Creating memos via
/rememberor/research - Writing structured notes with observations
- Content needs format validation
Prerequisites:
- basic-memory-hooks server running at
http://localhost:8000
How it works:
- Sends memo content to validation API
- Checks against project format configuration
- Auto-fixes formatting issues (observation format, duplicates)
- Returns validated content or error details
Best for: Ensuring consistent, machine-readable knowledge capture.
Automatically captures insights, decisions, and learnings into structured notes.
Triggers when:
- Important decisions are made
- Technical insights are discovered
- Problems are solved
- Design trade-offs are discussed
Resumes previous work by building context from the knowledge graph.
Triggers when:
- Starting a new session
- User mentions previous work ("continue with...", "back to...")
- Need context about ongoing projects
Guides implementation based on specifications stored in Basic Memory.
Triggers when:
- Implementing a feature defined by a spec
- Creating new specifications
- Reviewing implementation against criteria
Interactively edit notes using MCP tools in a conversational workflow.
Triggers when:
- User wants to edit, update, or modify a note
- User asks to change specific content in a note
- User wants to add observations or relations
How it works:
- Fetches the note via MCP
- Shows current content
- Applies edits using
edit_noteoperations (append, prepend, find_replace, replace_section) - Shows the updated result
Best for: Cloud users or when you want conversational editing.
Edit notes directly as local markdown files with automatic sync.
Triggers when:
- User has local Basic Memory installation
- User wants to make substantial file edits
- User prefers working with full file content
How it works:
- Finds the note's file path via MCP
- Uses Claude Code's Read/Edit/Write tools on the actual file
- Basic Memory's
sync --watchpicks up changes automatically
Best for: Local users who want full file access and git integration.
Help organize, link, and maintain the knowledge graph.
Triggers when:
- User wants to organize their notes
- User asks about orphan or unlinked notes
- User wants to find connections between notes
- User mentions duplicates or similar notes
- User asks for help with folder organization
Capabilities:
- Find orphan notes - Identify notes with no relations
- Suggest relations - Propose meaningful links between notes
- Identify duplicates - Find notes covering similar topics
- Folder organization - Review and suggest folder structure
- Tag consistency - Normalize and improve tagging
- Create index notes - Generate hub notes linking related topics
- Enrich sparse notes - Suggest observations and structure
Best for: Periodic knowledge base maintenance and improving discoverability.
Research topics thoroughly and produce structured reports saved to Basic Memory.
Triggers when:
- User asks to research or investigate something
- User wants to understand a concept or technology
- User needs context before making a decision
- Phrases like "research", "look into", "explore", "investigate"
What it produces:
- Structured report with summary, findings, and analysis
- Recommendations when applicable
- Links to sources and related notes
- Saved to
research/folder
Best for: Building knowledge base through investigation and documentation.
Automated behaviors that enhance the Basic Memory workflow.
Before saving a note, prompts validation against the hooks server if running.
Confirms when notes are saved to Basic Memory.
After significant conversations, suggests using /remember to capture valuable insights (only when genuinely useful).
This plugin leverages Basic Memory's MCP tools:
| Tool | Purpose |
|---|---|
write_note |
Create/update markdown notes |
read_note |
Read notes by title or permalink |
search_notes |
Full-text search across content |
build_context |
Navigate knowledge graph via memory:// URLs |
recent_activity |
Get recently updated information |
edit_note |
Incrementally update notes |
basic-memory-plugins/
├── .claude-plugin/
│ ├── marketplace.json # Marketplace manifest
│ └── plugin.json # Plugin manifest
├── commands/
│ ├── remember.md # /remember command
│ ├── continue.md # /continue command
│ ├── context.md # /context command
│ ├── recent.md # /recent command
│ ├── organize.md # /organize command
│ └── research.md # /research command
├── skills/
│ ├── knowledge-capture/
│ ├── continue-conversation/
│ ├── spec-driven-development/
│ ├── edit-note/
│ ├── edit-note-local/
│ ├── knowledge-organize/
│ ├── validate-memo/ # NEW: Memo validation
│ └── research/
├── hooks/
│ └── hooks.json # Hook definitions
├── README.md # Quick start guide
└── PLUGIN.md # Full documentation