mcpField
F
fable-memory

fable-memory

github.com/immamdouhaboammarエージェントワークフロー355 回インストール1 週間前に更新
リポジトリ

fable-memory について

Fable Memoryは、会話ログではなく、範囲、出典、新しさ、矛盾への対処を備えた長期的な事実を保持するスキルです。セッションをまたいでユーザーの好みやプロジェクト制約、決定を管理し、一時的な状態や秘密情報は除外します。

主な機能

  1. 01事実の持続性を分類
  2. 02範囲と出典を記録
  3. 03更新前に矛盾を確認
  4. 04古い記録を置き換え
  5. 05秘密情報と一時状態を除外

活用シーン

  1. 01明示された長期的な好みを保存
  2. 02セッションをまたいでプロジェクト制約を管理
  3. 03過去の決定を修正または取得

インストール

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

$npx skills add https://github.com/immamdouhaboammar/get-fable --skill fable-memory

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

skill.package.json
agents/
openai.yaml
evals/
scenarios.json
examples/
recording-user-preference.md
references/
durable-fact-lifecycle.md
memory-management-protocol.md
templates/
memory-fact.template.md

詳細

Fable Memory

セッションを越えて残す価値のある事実だけを、出典情報と矛盾への対処を十分に備えて保存します。古い記憶が、気づかぬうちに新たな誤りの原因にならないようにします。

目的

記憶はチャットのアーカイブではありません。一時的な推測を恒久的な指示に固定することなく、情報の再発見を減らすものです。

長期的に有効な記録には、スコープ、出典情報、確信度、新しさ、そしてユーザーやリポジトリの変更時に古い内容を置き換える方法が必要です。

有効にする場合

  • ユーザーが、長期的に有効な好みや制約を明示的に記憶するよう求めた場合;
  • 安定したプロジェクト規約やアーキテクチャ上の決定が、今後の作業に実質的な影響を与える場合;
  • 同じ事実にセッションをまたいで繰り返し依存する場合;
  • 以前の長期的な事実の訂正、置き換え、または検索が必要な場合。

有効にしない場合

  • 情報が一時的な実行状態(.fable/state、台帳、引き継ぎ)である場合;
  • 今後の判断に影響する可能性が低い、一度限りの会話上の詳細である場合;
  • 安定して保存するにはまだ不確かな推測や推論である場合;
  • パスワード、トークン、秘密鍵、セッション Cookie、その他の秘密情報を含む場合。

記憶の分類

種類例保存の基準
ユーザーの好み希望するパッケージマネージャー明示的で安定している場合に保存
プロジェクトの制約ランタイム Bun >=1.3プロジェクト/出典に紐付ける
アーキテクチャ上の決定イベントには outbox を使う根拠と置き換え方法を記録
繰り返し適用されるワークフロー規則リリース前にパッケージのクリーンインストールを検証するプロジェクト固有で長期的に有効な場合に保存
外部の事実API の動作/バージョン通常は使用時に出典を確認・調査し、永続的な記録は避ける
一時的な状態現在失敗しているテスト記憶ではなく、引き継ぎ/状態に記録
機密性の高い認証情報API トークン記憶に保存しない

プロトコル

ステージ 1 — 記憶する価値があるか判断する

以下を確認します。

  • 別のセッションでも必要になる可能性が高いか?
  • 安定しているか、明示されているか、出典に裏付けられているか?
  • より限定的な既存の記録を更新できるか?
  • 保存によってプライバシーやセキュリティのリスクが生じる可能性はあるか?

長期的に有効でなければ、現在のコンテキスト/引き継ぎにのみ残します。

ステージ 2 — 事実を正規化する

一貫性のある決定/事実を 1 つ保存し、以下を含めます。

  • 正式な記述;
  • スコープ(ユーザー/プロジェクト/リポジトリ/サブシステム);
  • 種類;
  • 出典/来歴;
  • 確信度/ステータス;
  • 対応している場合は作成日時/更新日時;
  • 関連する場合は、置き換える/置き換えられる関係。
ステージ 3 — 書き込む前に競合を確認する

同じ主題について既存の記録を検索します。以下を比較します。

  • 完全に一致する → 重複させず、出典情報/新しさを更新する;
  • スコープがより限定的/広範 → スコープが実際に異なる場合にのみ両方を保持する;
  • 矛盾する → 有効な事実を 2 つ併存させない。解決するか、競合を明示的に記録する。
ステージ 4 — アトミックに書き込み、インデックスを更新する

正規の事実記録を 1 つ更新し、インデックス/カタログと同期します。無関係な記録はそのまま保持します。

ステージ 5 — 検索時の意味を検証する

将来のエージェントの視点で記録を読み返します。過度に一般化されていないことを確認します。

  • use Bun in get-fable は user always uses Bun everywhere を意味するわけではありません;
  • API v4 did X in Aug 2026 は永続的な API の保証ではありません。
ステージ 6 — 検索した記憶を慎重に適用する

記憶した事実が現在の作業に影響する場合:

  • スコープが一致することを確認する;
  • 古い記憶より、現在のユーザー/リポジトリの情報を優先する;
  • 時間とともに変化する外部の事実を再検証する;
  • 明示的な新しい指示は、該当する場合、古い好みを置き換えるものとして扱う。

判断ルール

  • ユーザーによる現在の明示的な発言は、保存済みの好みより優先されます。
  • リポジトリ/設定/ソースの証拠は、リポジトリの状態に関する矛盾した記憶より優先されます。
  • 時間とともに変わる外部の事実は、いつまでも信頼せず、改めて調査する必要があります。
  • 記憶は過去のものであっても、現在も有効とは限りません。履歴が重要な場合は、削除ではなく「置き換え済み」の状態を使います。
  • 1 つのプロジェクトでの選択から、広範な個人の好みを推測しないでください。
  • ユーザーが「トークンを記憶して」と頼んだ場合でも、認証情報を保存してはいけません。代わりに、安全な認証情報管理を案内してください。
  • 1 レコードにつき 1 つの事実を記録することは保守性のためのルールですが、関連する根拠や出典をその事実に添えてもかまいません。

不変条件

  • シークレットを永続的な記憶に含めないでください。
  • アクティブな記憶に、明示的な競合状態の指定がないまま、未解決の矛盾する事実を含めてはいけません。
  • 意図しない一般化を防げるよう、適用範囲を明確にしてください。
  • 重要な制約や判断の出典を保持してください。
  • 現在の証拠や指示によって、記憶を置き換えられるようにしてください。
  • インデックスと元のレコードの内容を一致させてください。

失敗の分類

重複した記憶

わずかな表現の違いで、同じ事実が 2 回記録されています。正規のレコードに統合、または更新してください。

適用範囲の漏れ

プロジェクト固有の選択が、ユーザー全体の好みとして扱われています。適用範囲を狭めてください。

古くなった記憶

リポジトリ、ユーザー、または外部の実情が変わっています。使用する前に置き換えるか、再検証してください。

アクティブな事実の矛盾

2 つのレコードが、互いに両立しないアクティブな指針を示しています。現在のソースやユーザーの証拠に基づいて解決してください。

推測が事実として固定化

エージェントが、仮定を永続的な事実として保存しました。確度を下げるか削除し、証拠を必須にしてください。

シークレットの永続化

機密情報が記憶に含まれています。露出を取り除き、必要に応じて認証情報のローテーションやセキュリティ対策を行ってください。

反パターン

  • 「念のため」と会話の詳細をすべて保存すること。
  • 一時的なエラーや進行中のタスクを、永続的な好みとして保存すること。
  • in this repo を always に広げること。
  • 有効期限や出典を示さず、現在の API/バージョンに関する主張を保存すること。
  • 矛盾するレコードを更新せず、新しい事実ファイルを作成すること。
  • 将来の自動化で必要になるかもしれないという理由でトークンを保存すること。
  • 記憶を、現在のリポジトリの証拠より優先して扱うこと。
  • 置き換えの経緯が重要な場合に、過去の判断を黙って削除すること。

記憶レコード

Subject/fact:
Scope:
Type:
Status: active | superseded | conflicted
Source/provenance:
Confidence:
Rationale/context:
Supersedes / superseded by:
Freshness/revalidation note:

完了基準

次の条件を満たしたとき、記憶の作業は完了です。

  • 事実が真に永続的で、安全な範囲に限定されている。
  • 重複や矛盾を確認している。
  • 後から評価できるだけの出典情報がレコードに含まれている。
  • インデックスが同期されている。
  • 機密情報や一時的なデータが除外されている。
  • 後続のエージェントが、過度に一般化することなく事実を検索し、適用できる。

詳細リソース

  • 詳細ガイド:references/durable-fact-lifecycle.md
  • 既存のプロトコル:references/memory-management-protocol.md
  • テンプレート:templates/memory-fact.template.md
  • 例:examples/recording-user-preference.md

コメント