关于 bm-share
bm-share 是将个人或主项目中的笔记复制到配置好的团队项目的技能,适用于需要向团队共享特定笔记的用户。它会保留原笔记内容并添加来源标记,且要求在写入前获得确认。
主要功能
- 01从主项目读取笔记
- 02支持多个团队共享目标
- 03复制并添加来源归属
- 04写入前请求确认
- 05避免静默覆盖已有笔记
适用场景
- 01向团队项目共享决策笔记
- 02将个人笔记复制到共享目录
- 03确认团队目标后发布内容
MCP 相关
该技能通过 Basic Memory MCP 的 read_note 读取源笔记,并以 write_note 将副本写入团队项目;使用 project 或 project_id 路由目标。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ basicmachines-co/ basic-memory --skill bm-share安装后在 Claude Code 中输入/bm-share确认已加载。
详细介绍
分享到团队项目
将个人/主项目中的笔记复制到已配置的团队项目,供队友查看。这是插件写入共享
项目的唯一途径——会话检查点和 /basic-memory:bm-remember 始终保存在个人项目中。
步骤
-
解析配置。 按照钩子的优先级读取
basicMemory配置块。 对于用户级基础路径,如果存在环境变量CLAUDE_CONFIG_DIR,则将settings.json附加到该环境变量的字面值;不要去除空格、展开~,也不要将空值 视为未设置。只有在该变量不存在时,才使用~/.claude/settings.json。随后, 项目的.claude/settings.json和.claude/settings.local.json会按键覆盖:teamProjects—<project-ref>→{ "promoteFolder": "shared" }的映射。 这些是允许的共享目标。<project-ref>是限定工作区的名称(例如my-team-2/notes) 或external_idUUID。primaryProject— 笔记的来源项目。
如果
teamProjects为空,告知用户尚未配置共享目标,并建议添加一个(或运行/basic-memory:bm-setup),然后停止。不要擅自编造目标。 -
查找源笔记。 根据
$ARGUMENTS(标题、永久链接或memory://URL),从primaryProject中调用read_note。如果$ARGUMENTS为空(用户通过 “分享此笔记”调用),则使用对话中最明确提及的笔记——如有歧义,先确认是哪一篇。 记录其标题、完整内容(包括 frontmatter)和源永久链接。 -
选择目标。 如果
teamProjects只有一个条目,就使用该条目。如果有多个条目, 询问要分享到哪个团队项目。使用该条目的promoteFolder(默认为shared)。 -
写入前确认。 队友可以看到此写入内容,因此先向用户说明准备执行的操作—— “将 '' 分享到 <target>/<promoteFolder>?”——并等待用户确认。绝不要在未 告知用户的情况下分享。
-
写入共享副本,使用
write_note:- 设置目标路由:如果团队引用是
external_idUUID,将其作为project_id传入;否则将限定工作区的名称作为project传入。(将裸 UUID 传给project无法路由——Basic Memory 只能通过project_id接受 UUID。) directory=promoteFoldertitle= 源标题content= 源笔记内容,并添加来源信息:保留其 frontmatter (这样共享的决策仍为type: decision,且可通过团队的结构化回溯找到),添加shared_from: <source permalink>frontmatter 字段,并添加观察项- [context] Shared from <source permalink>。 除非用户明确要求,否则不要覆盖目标位置已有的笔记。
- 设置目标路由:如果团队引用是
-
确认,用一行说明共享了什么以及新的团队永久链接,例如:
Shared → my-team-2/shared/<slug>。
注意事项
- 分享是复制笔记;原笔记仍保留在你的项目中。一方的编辑不会同步到另一方。
- 不要分享含有秘密、凭据或任何用户不希望队友看到的内容的笔记——如有疑虑,请先询问。
- 使用已连接的任意 Basic Memory MCP 服务;通过
project(限定名称)或project_id(UUID)参数路由到团队项目。