mcpField
M
memory-ingest

memory-ingest

github.com/basicmachines-co生産性23541 回インストール28 週間前に更新
リポジトリ

memory-ingest について

memory-ingestは、会議記録、メール、文書、会話ログなどをBasic Memoryの構造化ノートに変換するスキルです。エンティティやアクション項目を抽出し、既存記録を検索したうえで、新規作成前に承認を求めます。

主な機能

  1. 01入力テキストの構成解析
  2. 02人物・組織・トピック・項目の抽出
  3. 03既存エンティティの検索とリンク
  4. 04原文と構造化された観察の保存
  5. 05新規作成前の承認確認

活用シーン

  1. 01会議記録を関連ノートに整理
  2. 02メールから約束やフォロー事項を抽出
  3. 03記事や文書をナレッジグラフに追加

インストール

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

$npx skills add https://github.com/basicmachines-co/basic-memory-skills --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:生の入力を解析する

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

  • 形式:会議の文字起こし、メールのスレッド、会話ログ、記事、自由形式のノート
  • 日付:発生した日時(内容から抽出するか、質問します)
  • 参加者:関係者(名前、役割、組織)
  • セクション:既存の構成(見出し、話者ラベル、タイムスタンプ)

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

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

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

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

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

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

  • 重要な役割を担う、またはやり取りに関与する人物(単に名前が出ただけの人物は除く)
  • ビジネスまたは技術的な文脈で議論されている組織
  • 独立したノートにするだけの情報があるトピック

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

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

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

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

# Topic — try the full term and keywords
search_notes(query="edge computing")
search_notes(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:ソースノートを作成する

取り込んだ内容の主要なノートを作成します。これは「何が起きたかの記録」であり、生の資料を保持しつつ、構造化されたメタデータを追加します。

会議/会話のノート
write_note(
  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] Send technical spec document by Friday
- [sentiment] Strong enthusiasm from their engineering team
- [decision] Agreed to start with a proof-of-concept integration

## Relations
- attended [[Jordan Rivera]]
- with [[NovaTech]]
- discussed [[Federated Learning]]
- follow_up [[Send NovaTech Technical Spec]]
"""
)
文書/記事のノート
write_note(
  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: 承認されたエンティティの作成

ユーザーが承認した各エンティティについて、構造化されたノートを作成します。エンティティの種類に適したテンプレートを選んでください。

人物
write_note(
  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]]
"""
)
組織
write_note(
  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]]
"""
)
概念 / トピック
write_note(
  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]]
"""
)

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

ステップ 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 の search-before-create パターンを参照)。重複を作成するのではなく、既存のエンティティを新しい情報で更新します。
  • 新しいエンティティについては承認を得ます。 提案するエンティティを提示し、どれを作成するかをユーザーに決めてもらいます。ナレッジグラフを黙って埋めないでください。
  • 尋問するのではなく推論します。 コンテキストからエンティティの種類と関係を抽出します。本当に曖昧な場合にのみユーザーに尋ねます。
  • エンティティについては選択的になります。 言及されたすべての名前が独自のノートに値するわけではありません。ユーザーが再び参照したくなるであろうエンティティに焦点を当てます。
  • 調査した情報にはヘッジ表現を使います。 Web 調査は補足です — 事実として提示しないでください。「〜のようです」「推定」「公開情報に基づくと」。
  • すべてをリンクで戻します。 作成されたすべてのエンティティは、ソースノートにリンクで戻るようにします。ソースノートは、議論されたすべてのエンティティにリンクするようにします。
  • 散文と観察を一緒に。 ノートは、物語のコンテキストと構造化された観察の両方があると最もよく機能します。散文は意味を与え、物語を語ります。観察は個々の事実を検索可能にします。本文をコンテキストに使い、その後、重要な事実をカテゴリ別の観察に抽出します。

コメント