mcpField
M
memory-ingest

memory-ingest

github.com/basicmachines-co生産性4.4k1.2k 回インストール今日更新
リポジトリ

memory-ingest について

会議録、文書、メールなどの生テキストを、相互に関連付けた構造化ノートに変換するBasic Memoryのスキルです。既存エンティティを検索し、新規作成前に承認を求めます。

主な機能

  1. 01原文の解析とエンティティ抽出
  2. 02既存ノートの検索
  3. 03承認用エンティティ案の提示
  4. 04原文の逐語保存
  5. 05アクション項目と関連の記録

活用シーン

  1. 01会議録のノート化
  2. 02メールスレッドの整理
  3. 03参考文書からのエンティティ抽出

MCP 対応

Basic Memory MCPツールを使い、bm_searchで既存エンティティを検索し、bm_writeまたはbm_editでノートを作成・更新します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/basicmachines-co/basic-memory --skill memory-ingest

インストール後、Claude Code で/memory-ingestを入力して読み込まれたか確認します。

詳細

メモリー取り込み

未加工で構造化されていない入力を、構造化された Basic Memory エンティティに変換します。会議の議事録、会話ログ、貼り付けられた文書、メールのスレッドなど、保存する価値のある情報を含むあらゆる内容を解析し、既存の知識と相互参照して、適切なノートとして記録します。

使用する場面

  • ユーザーが会議の議事録や会話ログを貼り付けたとき
  • ユーザーが「このメモを処理して」または「これを Basic Memory に追加して」と言ったとき
  • ユーザーが知識抽出のために文書、記事、メールを貼り付けたとき
  • 未加工の外部テキストを構造化された知識に変換する必要があるとき

ワークフローの概要

1. Parse raw input           → identify structure, extract key info
2. Extract entities          → people, orgs, topics, action items
3. Search existing entities  → multi-variation queries
4. Research new entities     → optional web research (see memory-research)
5. Present entity proposal   → get approval before creating
6. Create source note        → verbatim content + observations + relations
7. Create approved entities  → structured notes for each new entity
8. Extract action items      → follow-ups and commitments

ステップ 1:未加工の入力を解析する

貼り付けられた内容を読み、構造を特定します。

  • 形式:会議の議事録、メールのスレッド、会話ログ、記事、自由形式のメモ
  • 日付:いつ起きたことか(内容から抽出するか、確認します)
  • 参加者:関係者(名前、役職、組織)
  • セクション:既存の構造(見出し、話者ラベル、タイムスタンプ)

元の内容を書き換えたり、要約したりしないでください。ノートには原文をそのまま残し、その横に構造化された所見を追加します。

日付のある所見には、原文に記載された日付を修飾子として付けます(memory-notes を参照)。 会議で起きたことには @occurred:、アクションアイテムには @due: を使用します。

テキストの貼り付けではなくファイルの場合。 プロジェクト内の PDF、Word、PowerPoint、CSV ファイルについて、 bm CLI が利用可能であれば、bm import document <path> を実行します。抽出したテキストを含むサイドカー(<file>.<ext>.md)が作成され、derived_from によってソースとリンクされます。 構造化ノートは別途作成し、サイドカーにリンクしてください。サイドカーは編集しないでください。

ステップ 2:エンティティを抽出する

内容を確認し、ナレッジグラフで追跡する価値のあるエンティティを特定します。

エンティティの種類手がかり
人物役職、肩書き、所属とともに言及されている名前
組織企業名、政府機関、機関
トピック/概念実質的な議論の対象となっている技術分野、方法論、規格
アクションアイテム確約、期限、「Y までに X をします」という発言

文脈から種類を推測します。 誰かが「Acme Corp の CTO」と紹介されている場合、それは人物と組織の両方のエンティティです。ある技術が詳しく議論されている場合は、概念エンティティとして扱う価値があるかもしれません。

ノイズを除外します。 言及されたすべての名前がエンティティに値するわけではありません。次の項目に絞り込みます。

  • 実質的な役割ややり取りがある人物(単に名前が挙がっただけの人物は除く)
  • ビジネスまたは技術的な文脈で議論されている組織
  • 個別のノートにするだけの詳細があるトピック

ステップ 3:既存のエンティティを検索する

抽出したエンティティごとに、複数のクエリ表現を使って Basic Memory を検索します。

# Person — try full name, last name
bm_search(query="Sarah Chen")
bm_search(query="Chen")

# Organization — try full name, abbreviation, acronym
bm_search(query="National Renewable Energy Laboratory")
bm_search(query="NREL")

# Topic — try the full term and keywords
bm_search(query="edge computing")
bm_search(query="edge inference")

各エンティティを次のように分類します。

  • 既存 — Basic Memory で見つかったもの。[[wiki-link]] でリンクします。
  • 提案 — 見つからなかったもの。承認を得たうえで作成を提案します。

ステップ 4:新しいエンティティを調査する(任意)

提案するエンティティについて、追加の背景情報が役立つ場合は、簡単なウェブ検索を行います(エンティティごとに最大 2~3 件)。

  • 組織:事業内容、規模、公開企業か非公開企業か、主要製品
  • 人物:現在の役職、経歴、専門分野
  • トピック:簡単な定義、関連性

「~のようです」「推定」「公開情報に基づく」といった、断定を避ける表現を使用します。詳細を捏造してはいけません。

この手順は任意です。元の資料に十分な情報がある場合や、ユーザーが急いでいる場合は省略してください。より詳しい調査ワークフローについては、memory-research スキルを参照してください。

ステップ 5:エンティティの作成案を提示する

何かを作成する前に、見つかった内容と作成したい内容を提示します。

Entities found in Basic Memory:
  - [[Sarah Chen]] (Person — existing)
  - [[Acme Corp]] (Organization — existing)

Proposed new entities:
  - Jordan Rivera (Person — VP Engineering at NovaTech, mentioned as project lead)
  - NovaTech (Organization — SaaS platform, Series B, discussed as integration partner)
  - Federated Learning (Concept — core technical topic of the discussion)

Approve all / select individually / skip entity creation?

提案する各エンティティには、ユーザーがすぐに判断できるだけの背景情報を含めます。

ステップ 6:ソースノートを作成する

取り込んだ内容のプライマリノートを作成します。これは「何が起きたかの記録」であり、元の資料を保存しつつ、構造化されたメタデータを追加します。

会議/会話のノート
bm_write(
  title="NovaTech Meeting - Jordan Rivera - Feb 22, 2026",
  directory="meetings/2026",
  note_type="meeting",
  tags=["meeting", "novatech", "federated-learning"],
  metadata={"date": "2026-02-22"},
  content="""
# NovaTech Meeting - Jordan Rivera - Feb 22, 2026

Brief one-sentence summary of what this meeting was about.

## Transcript
[Preserve all source content verbatim — do not summarize or rewrite]

## Observations
- [opportunity] NovaTech interested in integration partnership
- [insight] Their platform handles 10K concurrent sessions, relevant to our scale needs
- [next_step] @due:2026-02-27 Send technical spec document
- [sentiment] Strong enthusiasm from their engineering team
- [decision] @occurred:2026-02-22 Agreed to start with a proof-of-concept integration

## Relations
- attended [[Jordan Rivera]]
- with [[NovaTech]]
- discussed [[Federated Learning]]
- follow_up [[Send NovaTech Technical Spec]]
"""
)
文書/記事のノート
bm_write(
  title="Edge Computing Architecture Whitepaper",
  directory="references",
  note_type="reference",
  tags=["edge-computing", "architecture", "reference"],
  metadata={"source": "https://example.com/whitepaper.pdf", "date_ingested": "2026-02-22"},
  content="""
# Edge Computing Architecture Whitepaper

## Source Content
[Preserve relevant content — for long documents, include key sections rather than the entire text]

## Observations
- [key_finding] Latency drops 40% with edge inference vs cloud-only
- [technique] Model sharding across heterogeneous edge nodes
- [limitation] Requires minimum 8GB RAM per edge node

## Relations
- relates_to [[Edge Computing]]
- relates_to [[Model Optimization]]
"""
)
観察カテゴリ

情報の性質を表すカテゴリを使用します。取り込むコンテンツによく使われるカテゴリは次のとおりです。

カテゴリ用途
opportunity特定されたビジネスまたは共同作業の機会
decision決定された、または合意された事項
insight得られた、表面的ではない理解
next_step具体的なアクション項目やフォローアップ
sentiment表明された熱意、懸念、ためらい
risk特定されたリスクや懸念
requirement判明した要件や制約
key_finding参考資料から得られた重要な事実
technique説明されている手法、アプローチ、パターン
context後で役立つ可能性のある背景情報

必要に応じてカテゴリを追加してください。これらは提案であり、固定リストではありません。

ステップ 7:承認済みのエンティティを作成する

ユーザーが承認したエンティティごとに、構造化されたノートを作成します。エンティティの種類に合ったテンプレートを使用してください。

bm_write が類似する既存のノートを報告した場合は、ステップ 3 で見落とした一致として扱います。既存のノートに統合して新しいノートを削除するか、2 つのノートをリンクしてください。

人物
bm_write(
  title="Jordan Rivera",
  directory="people",
  note_type="person",
  tags=["person", "novatech", "engineering"],
  content="""
# Jordan Rivera

## Overview
VP of Engineering at NovaTech. Met during integration partnership discussion.

## Background
[Role, expertise, context from meeting + any web research]

## Observations
- [role] VP Engineering at NovaTech
- [expertise] Distributed systems, federated learning
- [met] 2026-02-22 during integration discussion

## Relations
- works_at [[NovaTech]]
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)
組織
bm_write(
  title="NovaTech",
  directory="organizations",
  note_type="organization",
  tags=["organization", "saas", "integration-partner"],
  content="""
# NovaTech

## Overview
SaaS platform company. Series B stage.
[Additional context from meeting + web research]

## Products & Services
[What they offer, if discussed or researched]

## Observations
- [stage] Series B, ~200 employees
- [relevance] Potential integration partner for our platform
- [first_contact] 2026-02-22

## Relations
- employs [[Jordan Rivera]]
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)
概念/トピック
bm_write(
  title="Federated Learning",
  directory="concepts",
  note_type="concept",
  tags=["concept", "machine-learning", "distributed-systems"],
  content="""
# Federated Learning

## Overview
[Brief description of the concept from the discussion context]

## Observations
- [definition] Machine learning approach where models train across decentralized data sources
- [relevance] Core technique discussed in NovaTech integration

## Relations
- discussed_in [[NovaTech Meeting - Jordan Rivera - Feb 22, 2026]]
"""
)

テンプレートは分野に合わせて調整してください。重要な要素は、パラメーターとしての種類とタグ、概要セクション、カテゴリ付きの観察事項、そしてソースに戻るリンクです。

ステップ 8:アクション項目を抽出する

コミットメントやフォローアップについて、ソースコンテンツを確認します。

Action Items:
  - Send NovaTech technical spec document by Friday (your commitment)
  - Jordan will share their API documentation by next week (their commitment)

Follow-Up Reminders:
  - 1 week: Check if Jordan sent API docs
  - 2 weeks: Schedule follow-up call to discuss POC scope

memory-tasks スキルを使用する場合は、アクション項目の Task ノートを作成します。それ以外の場合は、ソースノートの観察事項として記録してください。

ガイドライン

  • ソースコンテンツを原文のまま保持してください。 元の文章が正確な情報源です。構造や観察事項は、その上に重ねる解釈です。
  • 作成前に検索してください。 エンティティがすでに存在するか、必ず確認してください(memory-notes の検索してから作成するパターンを参照)。重複して作成するのではなく、新しい情報を既存のエンティティに追加してください。
  • 新しいエンティティの作成には承認を得てください。 作成するエンティティ案を提示し、どれを作成するかユーザーに判断してもらいます。ナレッジグラフに黙って追加しないでください。
  • 質問攻めにせず、文脈から推測してください。 エンティティの種類や関係を文脈から抽出します。本当に曖昧な場合にのみユーザーに確認してください。
  • エンティティは厳選してください。 名前が出てきたものすべてに専用ノートを作成する必要はありません。ユーザーが後で再度参照したいエンティティに絞ってください。
  • 調査情報には断定を避ける表現を使ってください。 ウェブ調査は補足情報であり、事実として提示しないでください。「〜のようです」「推定」「公開情報に基づく」などの表現を使用してください。
  • すべてを関連付けてください。 作成した各エンティティをソースノートに関連付けてください。ソースノートからは、言及されているすべてのエンティティにリンクしてください。
  • 文章と観察事項を併用してください。 ノートには、文章による文脈と構造化された観察事項の両方があると効果的です。文章で背景を伝え、全体像を説明し、重要な事実をカテゴリ別の観察事項に整理してください。

コメント