Skip to main content

memory-doctor

Check local Basic Memory projects with bm doctor, explain the findings, and run the suggested fixes once the user agrees. Use when search misses or repeats notes, or a save looks lost.

Informações da origem

Repositório
basicmachines-co/basic-memory
Última atividade na origem
23 de outubro de 2026 às 21:16
Idioma detectado do SKILL.md
inglês
Estrelas
4.539
Forks
354

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
memory-doctor
description
Check local Basic Memory projects with bm doctor, explain the findings, and run the suggested fixes once the user agrees. Use when search misses or repeats notes, or a save looks lost.
# Memory Doctor `bm doctor` checks the user's local Basic Memory projects and reports what is wrong. Each problem comes with the command that fixes it, when one exists. Doctor's checks only read; they never change a project's notes or index. The fixes it suggests do change things, so run them only after the user agrees. This skill needs a shell with the `bm` (or `basic-memory`) command. ## When to Use - Search misses a note the user knows exists, or returns the same note twice - A note was saved but its file did not change, or the reverse - The user asks whether Basic Memory is working, or to "check" or "fix" it - After a crash, an interrupted import, or moving a project's folder ## Run It Start with the report alone. It is fast and has a stable JSON shape: ```bash bm doctor --skip-self-test --json ``` Add `--project NAME` to check one project. Without `--skip-self-test`, doctor also runs a self-test: it writes, indexes and searches a note in a throwaway sandbox, which takes a few seconds and proves the install itself works. Run it when the report is clean but something still seems broken. ## Read the Report ```json { "projects": [ { "name": "work", "findings": [ { "check": "search_index", "severity": "error", "summary": "1 search row does not match a current note, observation or relation.", "evidence": ["entity id=99, entity_id=99"], "action": {"kind": "reindex_search", "full": true}, "command": "bm reindex --search --full --project work" } ], "has_errors": true } ], "skipped_cloud_projects": ["research"], "self_test": {"outcome": "skipped"}, "has_errors": true } ``` | Severity | Meaning | What to do | |---|---|---| | `error` | Will not go away without a fix | Offer the `command`; if it is null, explain the evidence | | `warning` | Needs attention, may recover on its own | Offer the `command` if there is one | | `info` | Expected while work is in progress | Mention it; a running server finishes it, and the `command` finishes it now | Indexing catches up in the background. A duplicate, missing or extra search row is a `warning` while file indexing is still running, because the pass may clear it, and becomes an `error` once indexing has settled. If the report has only `info` findings, nothing is wrong. When no Basic Memory server is running, nothing indexes in the background, so offer the `command` on an `info` finding too. Cloud projects are listed under `skipped_cloud_projects`: they are indexed on the server, and local commands cannot fix them. ## Fix 1. Summarize the findings for the user in plain words: which project, what is wrong, and what the fix does. Group findings that share a command. 2. Show each `command` exactly as doctor printed it and ask before running it. `bm reindex --search --full` re-reads every file in the project and can take a while on a large one. 3. Run the commands the user approves. 4. Run `bm doctor --skip-self-test --json` again and confirm the findings are gone. When a finding has no `command`, do not invent one. Say what the evidence shows (for example, which files changed on disk while a newer save was waiting) and let the user decide. ## Exit Codes `bm doctor` exits 0 when there are no errors and the self-test passed (or was skipped), and 1 otherwise. Warnings and info never fail it.
Ver no GitHub