mcpField
M
memory-lifecycle

memory-lifecycle

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

memory-lifecycle について

memory-lifecycleは、Basic Memoryのエンティティの状態遷移を管理するスキルです。ナレッジグラフ内のタスクや記録を、削除せずにアーカイブし、配置とステータスを合わせて更新します。

主な機能

  1. 01状態に応じたファイル移動
  2. 02ノートのfrontmatter更新
  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-lifecycle

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

詳細

メモリのライフサイクル

Basic Memory でエンティティがステータスの各段階をどのように移行するかを管理します。基本原則は、削除せず、アーカイブすることです。 完了した作業も貴重なコンテキストです。アクティブな表示からは外しつつ、ナレッジグラフには残します。

使用するタイミング

  • ユーザーが何かについて「完了した」「終わった」「提出した」「期限を逃した」「キャンセルした」と言ったとき
  • エンティティをステータスフォルダー間で移動するとき(active → archive、pipeline → active など)
  • 誤って完了にしたものを元に戻すとき
  • 定期的に古いアクティブ項目を整理するとき

基本原則:削除せず、アーカイブする

ノートを削除すると、ナレッジグラフからノートが取り除かれ、すべての観察、関係、履歴が失われます。アーカイブすればすべてを保持したまま、エンティティがアクティブではなくなったことを示せます。

# Good — entity stays in the knowledge graph
move_note → active/ to archive/

# Bad — knowledge is lost
delete_note

例外は、誤って作成したノート(誤字や実際の重複)だけ削除できます。

フォルダーの規則

フォルダーを使って、ステータスごとにエンティティを整理します。具体的なフォルダー名はドメインによって異なりますが、一貫したパターンに従ってください。

entities/
  active/          # Currently relevant, in-progress
  archive/         # Completed, no longer active, but worth keeping
  pipeline/        # Future items, not yet started

タスクの場合は、次のようにします。

tasks/
  active/          # Work in progress
  completed/       # Finished work

明確なライフサイクルがあるエンティティタイプの場合は、次のようにします。

[type]/
  active/          # Current
  [end-state]/     # Whatever "done" means for this type

ドメインに合ったフォルダー名を選びます。具体的な名前よりもパターンが重要です。

ステータスの検出

ユーザーが完了やステータス変更について言及したら、その意図を把握します。

シグナルステータスアクション
"finished", "done", "completed", "shipped"完了archive/completed フォルダーに移動
"submitted", "sent", "delivered"完了archive/completed フォルダーに移動
"missed", "passed", "skipped", "expired"期限切れarchive または missed フォルダーに移動
"cancelled", "abandoned", "killed"キャンセルarchive フォルダーに移動
"paused", "on hold", "deferred"一時停止frontmatter のステータスを更新し、そのままの場所に保持
"restarting", "reopening", "reviving"再アクティブ化active フォルダーに戻す

ワークフロー

1. エンティティを見つける

複数の表現で Basic Memory を検索し、エンティティを特定します。

search_notes(query="quarterly report")
search_notes(query="Q1 report")

複数の候補が見つかった場合は、選択肢を提示してどれかを確認します。

一致するものが見つからない場合は、推測せずに詳細を確認します。

2. ファイルを移動する

move_note を使って、エンティティを適切なステータスフォルダーに移動します。

move_note(
  identifier="tasks/active/quarterly-report",
  destination_path="tasks/completed/quarterly-report.md"
)

パーマリンクは変わらないため、既存の [[wiki-links]] と memory:// URL は引き続き有効です。

3. Frontmatter を更新する

移動後、frontmatter のステータスを一致するように更新します。

edit_note(
  identifier="quarterly-report",
  operation="find_replace",
  find_text="status: active",
  content="status: completed"
)

完了日フィールドがある場合は、日付を設定します。

edit_note(
  identifier="quarterly-report",
  operation="find_replace",
  find_text="completed:",
  content="completed: 2026-02-22"
)
4. 確認する

実施した内容を簡潔に報告します。

Marked complete: Quarterly Report
  Moved to: tasks/completed/quarterly-report.md
  Status: completed

例外的なケース

すでにアーカイブ済み

エンティティがすでに archive/completed フォルダーにある場合は、ユーザーに知らせます。

「Quarterly Report はすでに tasks/completed/ にあります。何か更新しますか?」

一部のみ完了

エンティティの一部だけが完了している場合もあります。移動はせず、エンティティ内の観察やステータスのメモを更新して、部分的な進捗を反映します。

元に戻す/再アクティブ化する

誤ってアーカイブした場合は、元の場所に戻します。

move_note(
  identifier="tasks/completed/quarterly-report",
  destination_path="tasks/active/quarterly-report.md"
)

edit_note(
  identifier="quarterly-report",
  operation="find_replace",
  find_text="status: completed",
  content="status: active"
)
移動を伴わないステータス変更

一部のステータス変更では、フォルダーを移動する必要はありません。「一時停止」や「ブロック中」の項目は、多くの場合 active/ に置いたまま、frontmatter だけを更新します。フォルダーの移動は、終了状態や大きな状態遷移に限定してください。

他のスキルとの関係

  • memory-tasks:タスクは、ライフサイクルの具体例です。このスキルでは一般的なパターンを扱い、memory-tasks ではタスク固有のフィールド(steps、current_step、context)を扱います。
  • memory-notes:エンティティのステータスを移行する前に、memory-notes の検索してから作成するルールに従ってエンティティを探します。
  • memory-defrag:定期的なデフラグによって、アーカイブすべき古いアクティブ項目を特定できます。

ガイドライン

  • 削除せず、アーカイブします。 ナレッジグラフは過去の情報を活用できます。
  • 先に移動し、その後でフロントマターを更新します。 この順序にすることで、編集に失敗してもファイルは正しい場所に配置されます。
  • パーマリンクは移動後も有効です。 エンティティへのリンクは、move_note の後も引き続き機能します。
  • 確認の返答は簡潔にします。 ユーザーは自分のシステムを把握しているので、変更内容だけを報告してください。
  • 曖昧な場合は質問します。 該当するエンティティが複数ある場合や、移動先のフォルダーが明確でない場合は、推測せずに質問してください。
  • まとめて操作してかまいません。 ユーザーから「完了したタスクをすべてアーカイブして」と言われた場合は、すべて見つけて一覧を確認し、その後順番に移動してください。

コメント