remember について
remember は、決定事項、パターン、コンテキストをナレッジグラフに記録し、後のセッションで利用する OrchestKit のスキルです。分類、エージェントまたはプロジェクト単位の範囲、成功・失敗の記録に対応し、保存には別途設定した memory MCP サーバーが必要です。
主な機能
- 01決定事項やパターンをナレッジグラフに保存
- 02分類の自動判定またはフラグ指定
- 03成功・失敗の記録
- 04エージェント単位または全体の保存範囲
- 05テキストからエンティティと関係を抽出
活用シーン
- 01後のセッション向けにプロジェクト規約を保持
- 02有効な手法やアンチパターンを記録
- 03特定エージェントまたはプロジェクト横断の決定を保存
MCP 対応
別途設定した memory MCP サーバーのツールを通じてグラフデータを書き込みます。例として `mcp__memory__create_entities` と `mcp__memory__create_relations` が挙げられています。このサーバーは OrchestKit に同梱されません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yonatangross/ orchestkit --skill rememberインストール後、Claude Code で/rememberを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
test-cases.jsonreferences/category-detection.mdconfirmation-templates.mdentity-extraction-workflow.mdexamples.mdgraph-operations.mdrules/_sections.mdduplicate-entity-detection.mdentity-relationship-validation.mdobservation-quality-gate.md詳細
Remember - 決定事項とパターンを保存する
ファイルシステムと MCP メモリーの使い分け(Opus 5.5 のガイダンス、CC 2.1.111 以降): Opus 5.5 は、複数セッションにまたがる作業でもファイルシステム上のメモリーを確実に読み取れます。この特性を活用してください。
- 短期間の引き継ぎ状態(現在のフェーズ、進行中のタスク、保留中の承認)→
.claude/chain/*.jsonファイル。小規模で構造化され、セッション単位です。- 永続的な自動メモリー(ユーザー情報、フィードバック、プロジェクトの規約)→
~/.claude/projects/<slug>/memory/*.mdファイルと、MEMORY.md内の1行のインデックス。セッション開始時に毎回読み込みます。- セッションをまたぐナレッジグラフ(クエリによる探索のための、型付きエンティティと関係)→ MCP メモリーサーバー(このスキルの既定の方法)。今後のセッションでパターンを検索する場合に最適です。
この3つは相互に補完するものであり、どれか1つを選ぶものではありません。grep で検索したいものにはファイルシステムを、たどって探索したいものには MCP を優先してください。
重要な決定事項、パターン、コンテキストをナレッジグラフに保存し、今後のセッションで利用できるようにします。成功・失敗の結果を記録し、ベストプラクティスライブラリを構築できます。
引数の解決
TEXT = "$ARGUMENTS" # Full argument string, e.g., "We use cursor pagination"
FLAG = "$ARGUMENTS[0]" # First token — check for --success, --failed, --category, --agent
# Parse flags from $ARGUMENTS[0], $ARGUMENTS[1] etc. (CC 2.1.59 indexed access)
# Remaining tokens after flags = the text to remember
アーキテクチャ
remember スキルは、保存先としてナレッジグラフを使用します。
- ナレッジグラフ:
mcp__memory__create_entitiesとmcp__memory__create_relationsを介したエンティティと関係の保存。これらのツールは、OrchestKit に同梱されていないmemoryMCP サーバーから提供されます。まずユーザースコープまたはプロジェクトスコープでサーバーを設定し(例:@modelcontextprotocol/server-memory)、claude mcp listで確認してください。サーバーがない場合、ここでのグラフ関連の処理はすべて何も実行しません。
利点:
- メモリーサーバーの設定後は無料でローカルに利用できます
- 関係を明示的にクエリできます(例:「X は何を使っていますか?」)
- エンティティ間の相互参照ができます
- クラウドに依存しません
エンティティの自動抽出:
- 大文字で始まる語を潜在的なエンティティとして抽出します(PostgreSQL、React、pgvector)
- エージェント名を検出します(database-engineer、backend-system-architect)
- パターン名を特定します(cursor-pagination、connection-pooling)
- 「X uses Y」「X recommends Y」「X requires Y」の関係パターンを認識します
使用方法
決定事項の保存(既定)
remember <text>
remember --category <category> <text>
remember --success <text> # Mark as successful pattern
remember --failed <text> # Mark as anti-pattern
remember --success --category <category> <text>
# Agent-scoped memory
remember --agent <agent-id> <text> # Store in agent-specific scope
remember --global <text> # Store as cross-project best practice
フラグ
| フラグ | 動作 |
|---|---|
| (既定) | グラフに書き込みます |
--success | 成功したパターンとしてマークします |
--failed | アンチパターンとしてマークします |
--category <cat> | カテゴリを設定します |
--agent <agent-id> | 特定のエージェントにメモリーの対象を絞ります |
--global | プロジェクト横断のベストプラクティスとして保存します |
カテゴリ
decision- Y ではなく X を選んだ理由(既定)architecture- システム設計とパターンpattern- コード規約と標準blocker- 既知の問題と回避策constraint- 制限事項と要件preference- ユーザー/チームの設定pagination- ページネーション戦略database- データベースパターンauthentication- 認証方式api- API 設計パターンfrontend- フロントエンドのパターンperformance- パフォーマンスの最適化
結果フラグ
--success- うまく機能したパターン(肯定的な結果)--failed- 問題を引き起こしたパターン(アンチパターン)
どちらのフラグも指定されていない場合、メモリーは中立(情報提供のみ)として保存されます。
ワークフロー
1. 入力の解析
Check for --success flag → outcome: success
Check for --failed flag → outcome: failed
Check for --category <category> flag
Check for --agent <agent-id> flag → agent_id: "ork:{agent-id}"
Check for --global flag → use global user_id
Extract the text to remember
If no category specified, auto-detect from content
2. カテゴリの自動検出
| キーワード | カテゴリ |
|---|---|
| chose, decided, selected | decision |
| architecture, design, system | architecture |
| pattern, convention, style | pattern |
| blocked, issue, bug, workaround | blocker |
| must, cannot, required, constraint | constraint |
| pagination, cursor, offset, page | pagination |
| database, sql, postgres, query | database |
| auth, jwt, oauth, token, session | authentication |
| api, endpoint, rest, graphql | api |
| react, component, frontend, ui | frontend |
| performance, slow, fast, cache | performance |
3. 教訓の抽出(アンチパターンの場合)
結果が「failed」の場合、次の表現を探します。
- "should have"、"instead use"、"better to"
- 見つからない場合は、ユーザーに「代わりに何をすべきですか?」と尋ねます
4-6. エンティティを抽出してグラフを作成する
テキストからエンティティ(Technology、Agent、Pattern、Project、AntiPattern)を抽出し、関係性のパターン(「X は Y を使う」「Y ではなく X を選んだ」など)を検出して、ナレッジグラフにエンティティと関係を作成します。
7. タイプとスコープを確認する(AskUserQuestion — M118 #1466)
自動分類は最善努力で行われます。書き込む前に、メモリーのタイプと保存範囲の両方をユーザーに確認します。分類器の信頼度が高い(≥0.9)場合は、自動検出されたタイプをデフォルトの選択肢として事前選択します。
# Skip when the invocation already specifies type and scope:
# remember --type=preference --global → skip, use those values
# remember --session → skip, no persistence
#
# Otherwise, ask both:
AskUserQuestion(questions=[
{"question": "What type of memory?",
"header": "Type",
"options": [
{"label": "Preference", "description": "How I like to work (style, format, tooling)"},
{"label": "Project fact", "description": "State of THIS codebase (decisions, constraints)"},
{"label": "Reference", "description": "External system pointer (URL, doc, dashboard)"},
{"label": "Feedback", "description": "Correction to future behavior — applied as a rule"}
]},
{"question": "Apply to?",
"header": "Scope",
"options": [
{"label": "This project (default)", "description": "Scoped to .claude/projects/<this-project>/memory/"},
{"label": "All projects (global)", "description": "User-level memory at ~/.claude/memory/"},
{"label": "This session only", "description": "Print to context but don't persist"}
]}
])
デフォルトの選択ルール:
- 自動検出されたカテゴリが信頼度 ≥0.9 で4つのタイプの選択肢のいずれかに対応する場合、その選択肢が事前選択されます(ユーザーは引き続き変更できます)。
- スコープのデフォルトは常に「このプロジェクト」です。
- 「このセッションのみ」を選択した場合は、書き込みを行わずにすぐに戻ります。会話中に事実を提示したいものの、記録には残したくない場合に便利です。
グローバルメモリーへの書き込みは、プロジェクト内のメモリーディレクトリではなく、~/.claude/memory/<filename>.md に書き込みます。選択されたスコープ(プロジェクトまたはユーザーレベル)に応じて、MEMORY.md のインデックスが更新されます。
エンティティ抽出ルール、タイプの割り当て、関係パターン、グラフ作成例を読み込みます:Read("references/graph-operations.md")
7. 保存を確認する
適切なテンプレート(成功、アンチパターン、または中立)を使って、作成されたエンティティ、関係、グラフの統計情報を示す確認メッセージを表示します。
出力テンプレートと例を読み込みます:Read("references/confirmation-templates.md")
ファイルベースのメモリー更新
.claude/memory/MEMORY.md またはプロジェクトのメモリーファイルを更新する場合:
- 既存の内容を維持し、上書きを避けるため、Write より Edit を優先する
- 安定したアンカー行を使用します:
## Recent Decisions、## Patterns、## Preferences - Edit パターンの詳細は、
memoryスキルの「Permission-Free File Operations」セクションを参照してください - これは呼び出し元のエージェントによるファイル操作に適用され、上記のナレッジグラフ操作には適用されません
参考資料
Read("references/<file>") で必要に応じて読み込みます:
| ファイル | 内容 |
|---|---|
category-detection.md | メモリーを分類するための自動検出ルール(優先順位順) |
graph-operations.md | エンティティ抽出、タイプの割り当て、関係パターン、グラフ作成 |
confirmation-templates.md | 出力テンプレート(成功、アンチパターン、中立)と使用例 |
関連スキル
ork:memory- 検索、読み込み、同期、可視化(読み取り側の操作)
エラー処理
- ナレッジグラフを利用できない場合 → 設定手順を表示する
- テキストが空の場合 → ユーザーに内容を尋ねる。テキストが2000文字を超える場合 → 通知を添えて切り詰める
- --success と --failed の両方が指定された場合 → ユーザーに確認を求める
- エンティティの抽出に失敗した場合 → 汎用の Decision エンティティを作成する。関係の作成に失敗した場合 → 先にエンティティを作成してから再試行する