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が空の場合(「これを共有」から呼び出された場合)は、会話で最も明確に言及されているノートを使用します。曖昧さがあれば、どのノートか確認します。タイトル、フロントマターを含む全コンテンツ、ソースのパーマリンクを取得します。 -
共有先を選びます。
teamProjectsにエントリーが1つだけある場合は、それを使用します。複数ある場合は、どのチームプロジェクトに共有するか尋ねます。そのエントリーのpromoteFolderを使用します(デフォルトはshared)。 -
書き込む前に確認します。 この書き込みはチームメイトに見えるため、これから実行する内容をユーザーに示します — 「『』を<target>/<promoteFolder>に共有しますか?」 — そして、はいという返答を待ちます。黙って共有してはいけません。
-
write_noteで共有用コピーを書き込みます。- 共有先を指定します。チーム参照が
external_idUUIDの場合は、project_idとして渡します。それ以外の場合は、ワークスペース修飾名をprojectとして渡します。(projectに単独のUUIDを指定してもルーティングされません。Basic Memoryでは、UUIDはproject_id経由でのみ指定できます。) directory=promoteFoldertitle= ソースのタイトルcontent= ソースのコンテンツに帰属情報を追加したもの。フロントマターはそのまま保持し(共有された決定事項がtype: decisionのままになり、チームの構造化された想起で見つけられるようにします)、shared_from: <source permalink>というフロントマターフィールドを追加し、観察事項として- [context] Shared from <source permalink>を追加します。 ユーザーの指示がない限り、共有先に既存のノートがある場合は上書きしないでください。
- 共有先を指定します。チーム参照が
-
1行で確認します。 共有した内容と新しいチームのパーマリンクを伝えます。例:
Shared → my-team-2/shared/<slug>
メモ
- 共有するとノートがコピーされます。元のノートはプロジェクトに残ります。一方を編集しても、もう一方には反映されません。
- シークレット、認証情報、またはユーザーがチームメイトに見せたくない内容を含むノートは共有しないでください。迷う場合は確認します。
- 接続されているBasic Memory MCPサーバーを使用し、
project(修飾名)またはproject_id(UUID)引数でチームプロジェクトにルーティングします。