mcpField
M
memory-start

memory-start

github.com/basicmachines-coProductivity4.6k15 installsUpdated 1d ago
Repository

About memory-start

memory-start is a Basic Memory onboarding skill for assistants, guiding a first session through saving, viewing, retrieving, and updating a work note. It emphasizes brief, practical steps and user control over saved notes.

Key features

  1. 01Save a concise work note by default
  2. 02Search first to avoid duplicate notes
  3. 03Show and retrieve notes across chats
  4. 04Update existing notes as work evolves
  5. 05Undo or require approval for saves

Use cases

  1. 01Introduce Basic Memory in a first session
  2. 02Record project status for later chats
  3. 03Update a note when project details change

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/basicmachines-co/basic-memory --skill memory-start

After installing, type/memory-startin Claude Code to confirm it loaded.

Details

From the project README

Memory Start

A new user has just connected Basic Memory. Show them the whole loop in their first session: save one thing, see it, get it back in a new chat, add to it. Keep it short. Use their real work, not a demo.

Speak plainly. Don't explain schemas, observations, or the knowledge graph. Say "note", not "entity".

Project scope

If the project is unknown, discover it with bm_project_list(). The list marks the default project. Use it unless the user names another. Pass the same project on every note, search, and folder call.

Saving

Save by default. Connecting a memory service already says the user wants notes saved, so don't ask before the first save. Tell the user in one line what you saved and how to undo it.

If the user says "ask me first", say what you would save and where, and save only on yes, for the rest of this conversation. To make that hold in every chat, suggest they add a line like this to their assistant's custom instructions:

Ask me before saving anything to Basic Memory.

1. Save one thing

Do this on a project that holds only starter notes, or early in a first session. Wait until the user has said what they are working on. Skip trivial chats ("what's 2+2"), and skip anything plainly personal or sensitive, such as health, money, or other people's private details, unless they ask you to save it.

Search first (bm_search) so you don't duplicate a note that already exists. Then write one short note:

  • a clear title, such as Q3 pricing plan;
  • two or three sentences on what the work is and where it stands;
  • two or three [category] facts under ## Observations.

Not a transcript. Not a summary of the chat.

bm_write(
    project="<project>",
    title="Q3 pricing plan",
    directory="notes",
    overwrite=False,
    content="""Planning new pricing for the Q3 launch. Two tiers are on the table.
The team wants a decision before the July board meeting.

## Observations
- [goal] Pick between flat and usage-based pricing for Q3
- [deadline] Decision needed before the July board meeting
- [open_question] Whether the free tier stays""",
)

Then say what you saved in one line, with the link from the tool result, how to undo it, and how to opt out:

Saved "Q3 pricing plan" to Basic Memory. Say "undo" to remove it, or "ask me first" if you'd rather approve saves.

Use only links the tool returns. Never build a URL yourself.

2. See it

Offer to show the note. Give the link from the save. If the host has the Basic Memory app (bm_open is available), offer to open it:

bm_open(view="note", identifier="Q3 pricing plan", project="<project>")

3. Get it back

Tell the user how to use the note in a new chat:

In any new chat, ask me "what did we save about Q3 pricing?"

You can't check memory at the start of a new chat unless the user's instructions or message prompt you to. So offer one line they can paste into their assistant's custom instructions or project instructions:

Use Basic Memory to find and save notes about my work.

Say where it goes on this host if you know it: project instructions or custom instructions in a chat app, or the agent's context file in a coding tool. If you don't know, give the line and say "paste this into your assistant's custom instructions." Don't make them set this up now if they'd rather not.

4. Add to it

When the same topic comes up later, update that note instead of creating a new one. Search for it, read it, then use bm_edit to append new facts or change ones that are out of date. Say what you changed in one line.

Undo

If the user says "undo" after a save, delete the note you just wrote and confirm in one line:

bm_delete(project="<project>", identifier="<path from the save result>")

If the save updated an existing note, don't delete it. Edit it back to how it was before and say so.

What comes next

Don't offer a full setup in the first session. Once the user has a few notes and has come back to them, offer memory-onboarding to design a fuller system with note types and folders.

Comments

Markdown supported