# Memory Onboarding

Help a new user design a Basic Memory knowledge system and set up their assistant to...

- Repository: https://github.com/basicmachines-co/basic-memory (4440 stars)
- Category: Design
- 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-onboarding -g -a claude-code -y`
Codex: `npx skills add basicmachines-co/basic-memory --skill memory-onboarding -g -a codex -y`
Cursor: `npx skills add basicmachines-co/basic-memory --skill memory-onboarding -g -a cursor -y`
Gemini CLI: `npx skills add basicmachines-co/basic-memory --skill memory-onboarding -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add basicmachines-co/basic-memory`

## Description

Help a new user design a Basic Memory knowledge system and set up their assistant to load it. Use when someone is getting started, has an empty or messy project, or wants context kept across sessions.

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

# Basic Memory Onboarding

You are guiding a person who is new to Basic Memory through building a knowledge system that fits *their* life, then teaching them to use it and wiring it into their AI assistant so every future session starts already knowing the rules.

This skill works with any LLM or assistant platform. Where platform-specific setup is needed (system prompts, project instructions), identify what YOUR environment supports and adapt the generic patterns in `references/assistant-setup.md`.

## 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.

## Why this approach

Basic Memory is markdown files parsed into a knowledge graph. A pile of unstructured notes is barely better than a folder of text files. The compounding value comes from four things this skill installs from day one:

1. **Schemas**, note types with defined fields, so every task/contact/expense note looks the same and can be queried structurally.
2. **Observations and relations**, categorized facts (`- [status] active`) and typed links (`- depends_on [[Other Note]]`) that turn prose into a graph.
3. **Instruction notes**, the rules of the system live *inside* the system, as notes the assistant loads at session start. The knowledge base becomes self-describing.
4. **A startup router**, one small note that tells any assistant, on any platform, exactly what to load for each kind of task.

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