
bm-status
Show the Basic Memory plugin's current state for this project — active project, capture folders, output style, recent session checkpoints, and whether Basic Memory is reachable.
- Installs
- 149
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/basicmachines-co/basic-memory --skill bm-status- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads bm-status automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Basic Memory status
Report the plugin's current state for this project, then present a concise summary. This is a quick diagnostic — gather the facts and lay them out; don't over-investigate.
Gather
-
CLI reachable? Run
basic-memory --version, thenbm --version, thenuvx --prerelease=allow basic-memory --version. If no launcher resolves, report the CLI status as unavailable and continue with MCP/config checks. The plugin hooks can still use their uv-managed environment. -
Configuration. Read the
basicMemoryblock with the hooks' precedence. For the user-level base, appendsettings.jsonto the literal value ofCLAUDE_CONFIG_DIRwhen that environment variable is present; do not trim it, expand~, or treat an empty value as unset. Use~/.claude/settings.jsononly when the variable is absent. Then the project's.claude/settings.jsonand.claude/settings.local.jsonoverride per key. Report the result, noting when a value comes from the user-level block versus the project:- From the
basicMemoryblock:primaryProject(or note none is pinned — the default project is used),secondaryProjects(team/shared read sources),teamProjects(share targets for/basic-memory:bm-share),captureFolder(defaultsessions),rememberFolder(defaultbm-remember),preCompactCapturemode (defaultextractive),sessionProfile(defaultgeneral),repository(coding profile only),captureEvents(defaulttrue). - From the root settings object (not
basicMemory): whetheroutputStyleisbasic-memory— i.e. whether the capture reflexes are on.
- From the
-
Core hook health. With the first available launcher, run
basic-memory hook status --harness claude --project-dir <project-root>. Report its shared inbox path, pending envelopes, archived envelopes, pending checkpoint requests, last flush, settings state, resolved primary project, capture state, capture folder, Basic Memory version, and uv version. Inbox counts are global across supported harnesses; do not attribute a backlog solely to Claude. Treat this command's settings resolution as canonical for hook behavior; if it disagrees with the manually merged config, show the mismatch. If no launcher resolves, mark these fields unavailable and continue. -
Recent checkpoints.
search_noteswithmetadata_filters={"type": "session"},page_size5, scoped toprimaryProjectif one is set. WhensessionProfileiscoding, also querymetadata_filters={"type": "coding_session", "repository": "<configured repository>"}, then merge, deduplicate, sort newest first, and keep the newest five. List them by title + permalink. -
Active tasks.
search_noteswithmetadata_filters={"type": "task", "status": "active"}— report just the count.
When scoping these queries to primaryProject, pass it as project, or as
project_id if it's an external_id UUID (a bare UUID in project won't route).
Present
Lay it out like this (fill in real values; write "—" or a short note for anything you couldn't determine, rather than failing the whole report):
## Basic Memory status
- CLI: basic-memory <version>
- Project: <primaryProject, or "default project (not pinned)">
- Reads from (team): <secondaryProjects joined, or "none">
- Share targets: <teamProjects keys joined, or "none">
- Capture folder: <captureFolder>
- Remember folder: <rememberFolder>
- Output style: <enabled | not enabled>
- PreCompact: <mode>
- Session profile: <general | coding>
- Repository: <owner/name or none>
- Event capture: <enabled | disabled>
- Shared hook inbox: <path or unavailable>
- Shared pending envelopes: <count or unavailable>
- Shared archived envelopes: <count or unavailable>
- Pending checkpoint requests: <count or unavailable>
- Last flush: <timestamp, never, or unavailable>
- Hook runtime: basic-memory <version>; uv <version or missing>
- Recent checkpoints: <n across session and coding_session>
- <title> — <permalink>
...
- Active tasks: <n>
If there are no checkpoints yet, say "none yet" and remind the user that checkpoints
are written automatically before context compaction (and that a primaryProject must
be set for them to be written).
Warn when event capture is enabled and pending envelopes are accumulating or the
last flush is never, while noting that another harness may contribute to the
shared counts. Do not warn about an empty inbox when capture is disabled.
FAQ
What does the bm-status skill do?
Show the Basic Memory plugin's current state for this project — active project, capture folders, output style, recent session checkpoints, and whether Basic Memory is reachable.
How do I install bm-status?
Run npx skills add https://github.com/basicmachines-co/basic-memory --skill bm-status in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/bm-status/ (personal) or .claude/skills/bm-status/ (project).
Which AI agents can use bm-status?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is bm-status safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains bm-status?
It is published by basicmachines-co in basicmachines-co/basic-memory. It has 149 recorded installs.
More from basicmachines-co/basic-memory
memory-notes
basicmachines-co/basic-memory
How to write well-structured Basic Memory notes: frontmatter, categorized observations, wiki-link relations, and knowledge-graph best practices. Use when creating or improving notes.
memory-continue
basicmachines-co/basic-memory
Resume prior work by rebuilding context from the Basic Memory graph via memory:// URLs, recent activity, and search. Use at session start or on 'continue with...', 'back to...', 'where were we?'
memory-capture
basicmachines-co/basic-memory
Capture a working thread's current state into one coherent Basic Memory note; on re-capture, rewrite it in place. Use mid- or end-of-thread when decisions, insights, or context are worth keeping.
memory-curate
basicmachines-co/basic-memory
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.
memory-reflect
basicmachines-co/basic-memory
Sleep-time reflection: review recent Basic Memory activity and fold lasting decisions, lessons, and facts into the notes they belong in. Run 1-2x daily, on a heartbeat, or when asked.
memory-metadata-search
basicmachines-co/basic-memory
Search Basic Memory notes by custom frontmatter fields with equality, range, array, and nested filters. Use when finding notes by status, priority, confidence, or any YAML field, not free text.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.