# Memory Agents

Create, run, and check Basic Memory Cloud agents: notes with type agent whose text is...

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

## Description

Create, run, and check Basic Memory Cloud agents: notes with type agent whose text is instructions. Use when asked to automate work on notes, run an agent, or see how a run went.

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

# Memory Agents

A Basic Memory Cloud agent is a note. Its frontmatter says `type: agent`, and its
body is the instructions. Running it on another note (the target) starts a
short-lived agent in Cloud that reads the target, works through the Basic Memory
tools, and changes notes as its instructions say.

Agents run in Basic Memory Cloud only, on plans that include them. A local
Basic Memory has no agent tools. Confirm the connected server exposes `bm_agent`
before starting this workflow.

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

- The user wants recurring work on their notes done for them: follow up on
  meetings, link new notes, tidy a folder, write a weekly digest
- Asked to create, change, run, or turn off an agent
- Asked how an agent run went, what it changed, or why it did not run

## Tools

| Tool | Does |
|---|---|
| `bm_agent(command="list", project="<project>")` | The project's agents and how their recent runs went |
| `bm_agent(command="run", project="<project>")` | Starts an agent on a note; returns the run id |
| `bm_agent(command="get", project="<project>")` | One run: status, notes changed, and the agent's last reply |
| `bm_agent(command="runs", project="<project>")` | Recent runs, newest first, optionally for one agent |
| `bm_agent(command="mark", project="<project>")` | Mark a run `kept` or `dismissed` with `run_id` and `decision` |

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