一键导入
bm-setup
Set up Basic Memory for Codex at user or project level by mapping a Basic Memory project and seeding schemas.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Set up Basic Memory for Codex at user or project level by mapping a Basic Memory project and seeding schemas.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Orient Claude from Basic Memory before substantial repo work by reading active tasks, open decisions, recent checkpoints, and repo conventions. Use when resuming old work or when the user asks where things stand.
Set up the Basic Memory plugin for this project — a short guided interview that configures the project mapping, seeds note schemas, learns or suggests placement conventions, and enables capture reflexes. Use when the user runs /basic-memory:bm-setup, says "set up basic memory", or asks to configure/bootstrap the plugin.
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.
Save a deliberate Codex work checkpoint to Basic Memory with changed files, verification, decisions, blockers, and the next action.
Orient Codex from Basic Memory before substantial repo work by reading active tasks, decisions, recent Codex checkpoints, and repo conventions.
Report the Basic Memory for Codex configuration, reachability, hook expectations, recent Codex checkpoints, and active tasks.
| name | bm-setup |
| description | Set up Basic Memory for Codex at user or project level by mapping a Basic Memory project and seeding schemas. |
Set up the current repo so Codex can orient from Basic Memory and checkpoint work back into it. Keep the interview short, but always ask before choosing where data will be written.
Confirm Basic Memory is reachable before changing files:
list_memory_projects.basic-memory --version or bm --version..mcp.json that starts uvx basic-memory mcp.Ask the user to choose the project mapping. Do not infer write targets from the repo, default project, current directory, or previous local state.
~/.codex/basic-memory.json or project-level
.codex/basic-memory.json. Ask explicitly and recommend user level by default.
Project settings override user settings key by key, except redactKeys and
redactPaths, which accumulate so project config cannot weaken user privacy.focus: code/dev, research, writing, planning, or mixed.sessionProfile: coding or general. Recommend coding for code/dev. For
mixed use, ask whether this repository should capture Git and pull-request
context. Do not infer coding merely because the current directory is a Git
checkout.primaryProject: an existing Basic Memory project or a new one to create.secondaryProjects: optional read-only projects for session-start context.teamProjects: optional share targets for bm-share.captureFolder: default codex/<repo-dir>, derived from the Git top-level
directory. Ask only when the user wants an explicit override.rememberFolder: default codex-remember.placementConventions: a short note about where decisions, tasks, and research
notes should land.captureEvents: whether to record redacted lifecycle-event envelopes in the
local hook inbox. Default to true; an explicit JSON boolean false opts out.redactKeys and redactPaths: optional additions to the built-in redaction
floor. Ask for these only when event capture is enabled or the user has
repo-specific privacy requirements.For the coding session profile, verify the current directory is inside a Git
repository. Resolve a stable repository identifier such as owner/name from
the current GitHub repository or origin remote, show it to the user, and ask for
confirmation. Do not guess when the remote is missing or ambiguous. Explain that
coding checkpoints store structured repository, branch, SHA, working-directory,
and optional pull-request metadata in Basic Memory.
Explain the capture tradeoff before asking: enabled capture adds a local,
redacted event trail that stays queued until bm hook flush archives it locally.
It never creates knowledge-graph notes or writes to team projects. The default is enabled; an explicit JSON boolean
false disables it, and malformed values fail closed.
If there are duplicate names, show qualified names and ask the user which one to use. Prefer qualified project names or project ids for cloud projects. Never pick between cloud and local variants without confirmation.
For a new or empty project, suggest a light convention instead of creating empty
folders. For an existing project, inspect list_directory and a few notes before
summarizing the real convention.
After confirming the plan, write the shared settings to the chosen user-level or project-level file:
{
"basicMemory": {
"primaryProject": "<project-ref>",
"secondaryProjects": [],
"projectMode": "cloud",
"teamProjects": {},
"focus": "<focus>",
"sessionProfile": "<general-or-coding>",
"rememberFolder": "codex-remember",
"recallTimeframe": "7d",
"captureEvents": true,
"redactKeys": [],
"redactPaths": [],
"placementConventions": "<short convention>"
}
}
Omit captureFolder to use codex/<repo-dir>; persist it only for an explicit
override. Preserve unrelated keys if the chosen file already exists. Include
projectMode when the user chose cloud, local, or mixed routing. Always persist
captureEvents as a JSON boolean. Empty redactKeys and redactPaths lists may
be omitted; when present, they must be JSON arrays of strings. redactKeys
extends payload-key redaction, while redactPaths also protects
working-directory and path-bearing checkpoint content. User and project
redaction lists accumulate. These files are intentionally Codex-specific; do
not write .claude/settings.json.
For a user-level coding setup, omit sessionProfile from the shared user file and
keep both the coding profile and confirmed repository identifier in the project
file so neither can affect other repositories:
{
"basicMemory": {
"sessionProfile": "coding",
"repository": "owner/name"
}
}
For a project-level setup, add repository to the shared settings in that same
project file.
Persist sessionProfile explicitly in the chosen file, except for a user-level
coding setup where it belongs in the project file alongside repository. Persist
repository only for the coding profile, after the user confirms it. A coding
setup is incomplete without a repository identifier because the coding_session
schema requires queryable Git identity fields.
Read the schema files from <plugin-root>/schemas/. This skill lives at
<plugin-root>/skills/bm-setup/SKILL.md, so the schemas are two directories up.
Seed the session schema relevant to the selected profile into the chosen
primaryProject if it does not already exist:
coding-session.md for sessionProfile: codingcodex-session.md for sessionProfile: generalThen seed these schemas for both profiles:
decision.mdtask.mdThese schemas cover notes Codex writes directly. Lifecycle envelopes are not
notes: bm hook flush archives that operational trace locally, so there is no
projected session or tool-ledger schema to seed.
Use write_note with directory="schemas", note_type="schema", schema
frontmatter as metadata, and the markdown body as content. Do not paste the YAML
frontmatter into content.
Before seeding schemas, restate the exact target project and ask for confirmation if it differs from the user's selected primary project or if routing is ambiguous.
Before closing, prove the mapping works:
type=schema with page size 10. For a coding
setup, confirm the Coding Session schema is present.basic-memory hook status --harness codex --project-dir <repo-root> (using
bm or uvx basic-memory if needed). Confirm that it finds this repo's
settings, reports the selected project, session profile, repository, and
intended capture state.
Its inbox counts are shared across harnesses.Finish with the project mapping, schemas seeded or skipped, capture/redaction choices, shared inbox status, and the verification result. Tell the user that plugin hooks need to be reviewed and trusted in Codex before they run.