memory-quest について
Basic Memoryの設定を検証するスキルです。承認を得て、一回限りのコードを含む「Memory Master」ノートをクラウドに保存し、Memory Questの確認に使います。
主な機能
- 01Basic Memoryのクラウド接続確認
- 02メモリーガイダンスの有効性確認
- 03一回限りのコードの取得と受け渡し
- 04承認後に指定クラウドプロジェクトへ保存
- 05無関係な既存ノートの上書き防止
活用シーン
- 01アシスタントのBasic Memory Cloud接続を確認する
- 02Memory QuestのMission 8を完了する
- 03クラウドプロジェクトやガイダンス設定を調べる
MCP 対応
list_workspaces、list_memory_projects、write_noteなどのBasic Memoryツールを使います。MCPとの関係は記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ basicmachines-co/ basic-memory --skill memory-questインストール後、Claude Code で/memory-questを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Memory Quest
Memory Quest の最後のミッションでは、このアシスタントが Basic Memory を作業の自然な出発点として使えるように設定されているかを確認します。Basic Memory のウェブアプリで発行される一度限りのコードを使い、ユーザーの Memory Master ノートを Basic Memory に保存すると完了です。クラウドがその書き込みを認識し、ミッションを達成済みにします。
ノートの書き込みがそのまま確認になります。ほかに呼び出すエンドポイントはなく、その後に報告することもありません。
使用するタイミング
- ユーザーが
/memory-quest(または$memory-quest)を実行するか、スキルメニューから選択した場合 - ユーザーがアシスタントの確認、ミッション 8 の完了、または Memory Master になることを依頼した場合
- ウェブアプリの Memory Quest から、ユーザーがここに案内された場合
ユーザーに Memory Quest をもう一度実行するよう伝える際は、使用している環境に合わせた形式を使ってください。Claude Code では /memory-quest、Codex では $memory-quest、チャットアプリではそのまま依頼します。
呼び出し時のタスクコンテキストは引き継がないでください。このスキルは設定を確認するものであり、タスクに関連するメモリを探す必要はありません。
手順
次の順に進めてください。最初に失敗した手順で止まり、不足しているものと解決方法を説明してください。ノートの書き込みに先へ進んではいけません。
1. クラウド接続を確認する
list_workspaces を呼び出します。
- 失敗した場合、Basic Memory はこのアシスタントに接続されていません。接続してから Memory Quest をもう一度実行するよう、ユーザーに伝えてください。
- 唯一のワークスペースの
tenant_idがpersonalの場合、このアシスタントはローカル専用の Basic Memory に接続されています。Memory Quest は Basic Memory Cloud 上にあります。クラウドアカウントを接続して(CLI ではbm cloud login、チャットアプリでは Basic Memory コネクターを使用)、もう一度試すようユーザーに伝えてください。 - それ以外の場合、接続は機能しています。ワークスペース名など、確認できた内容を一行でユーザーに示してもかまいません。これは配慮として示すものであり、証拠ではありません。
2. ガイダンスが有効になっていることを確認する
ミッション 8 は、Basic Memory をこのアシスタントの出発点にすることが目的です。そのため、それを実現するガイダンスが実際に読み込まれているか確認してください。次のいずれかに該当する場合、有効です。
- コンテキストに Basic Memory のセッションブリーフィングが含まれている。これは
# Basic Memory — session contextという見出しのセクションで、Claude Code または Codex 用の Basic Memory プラグインによってセッション開始時に挿入されます。 - 永続的な指示(カスタム指示、プロジェクト指示、またはエージェントのコンテキストファイル)で、タスク開始時に Basic Memory を使って関連するコンテキストを探すよう指示されている。
どちらにも該当しない場合は、そこで止めてください。使用しているアシスタント用の Basic Memory プラグインをインストールするか、Memory Quest パネルからメモリの手順をアシスタントの指示に保存してから、新しい会話を開始し、Memory Quest をもう一度実行するようユーザーに伝えてください。ガイダンスが有効でないのに、有効だと報告してはいけません。この確認については、サーバー自身が確認できないのはその報告だけです。
3. 確認コードを求める
https://app.basicmemory.com/memory-quest を開き、表示されたコードを貼り付けるようユーザーに依頼してください。コードは MQ-7HX2-K9QD-4TRM のような形式で、有効期間は 30 分です。
ユーザーが入力したコードをそのまま受け取ってください。大文字・小文字と区切り記号は問いません。入力された内容が明らかにコードでない場合(接頭辞が異なる、短すぎるなど)は、推測せず、もう一度尋ねてください。
4. 保存前に確認する
これから行うことを明確に伝えてください。つまり、ユーザーの Basic Memory に「Memory Master」というタイトルのノートを保存し、それによってミッション 8 が完了することを説明します。承認を求めてください。
拒否された場合はそこで止めてください。ミッションは未完了のままであり、いつでも Memory Quest をもう一度実行できることを伝えてください。
5. Memory Master ノートを保存する
まず、Basic Memory Cloud のみに存在するプロジェクトを選びます。output_format: "json" を指定して list_memory_projects を呼び出し、source が正確に cloud のプロジェクトを選びます。該当する場合はデフォルトのプロジェクトを選び、そうでなければユーザーにどれを使うか尋ねてください。新しいクラウドアカウントには通常、Getting Started というプロジェクトが 1 つあります。external_id を指定して書き込みます。
local または local+cloud として一覧表示されたプロジェクトは使わないでください。このマシンにクラウドのプロジェクトと同じ名前のローカルプロジェクトがある場合(各ローカルインストールで main が作成されるため、これはよくあることです)、ローカルの Basic Memory サーバーは、名前、ワークスペース修飾名、ID のいずれで指定しても、ノートをローカルのコピーに書き込みます。書き込みは成功したと報告されますが、クラウドには反映されないため、ミッションは完了しません。cloud として一覧表示されたプロジェクトがない場合は、作業を中止して、ユーザーに Basic Memory Cloud でプロジェクトを作成する(またはクラウドアカウントに接続する)よう伝え、その後 Memory Quest をもう一度実行してもらいます。
承認を得たら、write_note を 1 回だけ呼び出します。
title:Memory Masterdirectory:memory-questnote_type:memory_masterproject_id:選択したプロジェクトのexternal_idmetadata:{"memory_quest_code": "<ユーザーが指定したとおりのコード>", "memory_quest_guidance": "active"}content:以下のテンプレート。入力するよう指定された箇所のみ変更しますoverwrite:false。必ず指定してください。省略すると、write_noteはユーザーのwrite_note_overwrite_default設定に従い、既存のノートを黙って置き換える可能性があります。
コードとガイダンスは content には入れず、必ず metadata に渡してください。クラウドが書き込みを認識するには、これらがフロントマターのフィールドとして渡される必要があります。
write_note がノートはすでに存在すると報告した場合は、同じ project_id を指定し、output_format: "json" と include_frontmatter: true を設定して read_note を呼び出します。以前の試行のマーカーはフロントマターにあり、JSON にはノートの checksum が含まれます。置き換えてよいのは、以前の Memory Quest の試行によるノート、つまりフロントマターに type: memory_master と memory_quest_code フィールドがあるノートだけです。その旨を伝えてから、同じ引数で write_note をもう一度呼び出し、overwrite: true を指定し、expected_checksum にそのチェックサムを設定します。読み取り後に既存のノートが変更されていた場合、書き込みは新しいバージョンを破棄せずに失敗します。再度読み取り、確認を繰り返してください。既存のノートがそれ以外の場合は上書きしないでください。何が保存されているかをユーザーに伝え、別のタイトル(例:Memory Master (Memory Quest))で保存するか、ユーザーに選んでもらいます。
6. 次に何をするかユーザーに伝える
ノートを保存したことを伝え、ウェブアプリで Memory Quest を開くよう案内します。クラウドで処理されると、ミッション 8 が完了として表示されます。受賞したかどうかは確認できないため、受賞したとは言わないでください。1 分経っても Memory Quest でミッション 8 が現在のミッションとして表示される場合、通常はコードの有効期限が切れているか、コードが差し替えられています。新しいコードを取得して Memory Quest をもう一度実行してください。
Memory Master テンプレート
ノートの content として以下を使います。<today's date> を今日の日付に置き換え、それ以外はすべて記載どおりにします。::bm-* ブロックはライブビューであり、ノートを開くたびに、Basic Memory ウェブアプリがユーザー自身のナレッジベースから表示内容を生成します。
Memory Master since <today's date>. Every Memory Quest mission is complete.
## The quest
::bm-check{title="Memory Quest"}
- [x] Capture your first memory
- [x] Create a relationship
- [x] Build and explore the knowledge graph
- [x] Master advanced search
- [x] Structure knowledge with schemas
- [x] Share a note safely
- [x] Bring in knowledge you already have
- [x] Make Memory a Habit
::
## Your knowledge today
::bm-stat{operation="bm.search.metadata" aggregate="count" label="Notes in this project"}
::
::bm-kpi{operation="bm.activity.recent" metric="notes-updated" window="30d" title="Notes updated in the last 30 days"}
::
::bm-spark{operation="bm.activity.recent" metric="notes-updated" window="30d" interval="day" title="Updates per day"}
::
::bm-rank{operation="bm.search.metadata" aggregate="count" group-by="type" limit="5" title="Your most-used note types"}
::
## What changes now
Your assistant now starts from what you already know: it checks Basic Memory for relevant context when it begins work, and offers to save what's worth keeping when it's done.
ガイドライン
- 承認を得てから 1 回書き込みます。 ステップ 4 より前にノートを書き込んではいけません。また、再試行のために 2 つ目のノートを書いてはいけません。同じノートを上書きしてください。
- ガイダンスを正直に報告します。 ステップ 2 に合格した後に限り、
memory_quest_guidance: "active"を送信してください。 - 結果を捏造しないでください。 受賞したかどうかは確認できません。成功を宣言するのではなく、ユーザーに Memory Quest を確認するよう案内してください。
- コードはメタデータに入れます。 ノート本文にコードを書いても、何も検証されません。
- 本来の作業に集中してください。 このスキルはタスクに関連するメモリを検索するものではなく、ユーザーの他のノートや設定を変更するものでもありません。