personal-crm について
personal-crmは、会議メモや本人の文章をもとに人物などの記録を管理する、Markdownベースの型付きエンティティ保管庫です。GBrain互換の構成で、外部のgbrain CLIがあれば連携できます。
主な機能
- 01人物、企業、概念の記録
- 02現在の理解と日付付きタイムラインの分離
- 03会議メモの取り込みとエンティティ抽出
- 04フォルダー間のMarkdownリンク検証
- 05任意のgbrainインポートと同期
活用シーン
- 01連絡先や企業の記録を更新
- 02会議からエンティティと根拠を抽出
- 03過去の記録を変えずに日付付き根拠を蓄積
- 04gbrainで保管庫をインポートまたは同期
MCP 対応
登録済みの会議録MCPサーバーをOpenKnowledge MCPサーバーと併用し、最近の会議を取得して保管庫に記録する方法が説明されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ inkeep/ open-knowledge-skills --skill personal-crmインストール後、Claude Code で/personal-crmを入力して読み込まれたか確認します。
同梱ファイルplugin.json
詳細
Personal CRM(GBrain互換)— ここでの作業方法
Garry Tan の gbrain に着想を得た、型付きエンティティの保管庫として構築された Personal CRM です。各エンティティはドシエであり、エージェントは会議メモや独自の考察からエンティティを抽出して、ドシエを最新の状態に保ちます。このスキルにはそうした動作がまとめられているため、テンプレートやフォルダーの説明を簡潔に保てます。Markdown の形式は GBrain互換 です。外部の gbrain CLI がインストールされていれば、同じ保管庫をインポート/同期できます。
このスキルはパックのガイダンスです。プラットフォームの
/open-knowledgeスキル(読み取り/書き込み/プレビュー/リンク/根拠付けのルール)は、すべての Markdown 操作に引き続き適用されます。このスキルはその上にドシエの規約を重ねます。
ドシエの規約(最重要ルール)
people/、companies/、concepts/ にあるすべてのドシエは、明示的な --- timeline --- 区切りで分けられた2つの部分で構成されます。
- 整理された真実(
--- timeline ---より上)— 現時点での最善の理解です。新たな証拠によって総合的な理解が変わったら、書き直します。 - タイムライン(
--- timeline ---より下)— 解析可能な形式- **YYYY-MM-DD** | source | @author — evidence. Confidence: …で追記する、日付付きの箇条書きです。既存のタイムライン項目は決して編集せず、追記のみ行ってください。
新しい事実が届いたら、適切に振り分けます。現在の理解が変わる場合は整理された真実を更新し、生の証拠である場合はタイムラインの箇条書きを追記します。明示的な区切りと日付付き箇条書きの形式によって、保管庫を GBrain のインポート/同期で解析可能な状態に保てます。
フォルダー
people/、companies/、concepts/— ドシエ(整理された真実+タイムライン)。フロントマターはtype: person|company|conceptです。meetings/— 会議メモ(YYYY-MM-DD-<slug>.md)。attendees:はpeople/内のドシエのファイル名と一致させます。逐語記録は書き換えないでください。会議録ツールからメモを取り込む場合は、フロントマターにsource:(例:granola、fireflies)とsource_meeting_id:(会議録ツールの不変の ID)を追加します。この2つが重複排除キーになります。originals/— 変換していない独自の考察。信頼できる一次資料です。フロントマターはtype: originalです。media/— 大量の文字起こし、音声メモ、大きな添付ファイル。インデックスを軽く保つため、.okignoreに追加されていることがよくあります。
リンク
プラットフォームのスキルに従い、新しいドシエには標準的な Markdown リンクを優先して使います。また、この保管庫ではフォルダーをまたぐリンクが多いため、相対パスの階層を慎重に数えてください。たとえば、meetings/ のメモからは [Alice Chen](../people/alice-chen.md)、people/ のドシエからは [Acme AI](../companies/acme-ai.md) のようにします。書き込み/編集時の brokenLinks レスポンスで、作業を終える前に誤った階層のパスを検出できます。新しいブレインページは GitHub 上でレンダリングされ、OK の brokenLinks チェックを通過し、GBrain に正しくインポートされます。
プラットフォームの既定値との違いは2つあります。どちらも GBrain 固有です。
- 先頭にスラッシュを付けたルート基準の絶対パス形式は使わないでください(
[Alice](/people/alice-chen.md))。OK では問題なく解決されますが、GBrain は先頭の/を絶対ファイルシステムパスとして読み取り、拒否します。相対パスを使ってください。(GBrain は[Alice](people/alice-chen.md)のような単純なパスも受け付けますが、サブフォルダーから使うと OK はそれをソースディレクトリ基準(meetings/people/alice-chen)として解決し、リンク切れと報告します。そのため、両方で受け付けられる../を使った正しい相対パスに統一してください。) - パス指定付きのウィキリンクは、この環境では第一級の形式であり、旧式ではありません。
[[people/alice-chen|Alice Chen]]はどのフォルダーからでも保管庫ルート基準で解決され(../の階層を数える必要はありません)、他のリンクと同様にbrokenLinksで検証され、GBrain にインポートされます。一貫したウィキリンクのスタイルにするため、拡張子なしのターゲット([[people/alice-chen]])を優先してください。OK は明示的な.mdおよび.mdxのサフィックスも解決します。フォルダーを指定しない単純な[[note-name]]は曖昧であり(GBrain のベース名グロブ機能がオンの場合に限り解決されます)、Obsidian からの移行時にのみ使ってください。
エージェントの振る舞い
- ミーティングレコーダーから取り込む。 ミーティングレコーダーの MCP(Granola、Fireflies、Circleback、tl;dv、Fathom など)が OpenKnowledge MCP サーバーと一緒に登録されている場合は、最近のミーティングを取得し、それぞれを
meetings/に書き込みます。各ミーティングにはmeetings/<source>-<source_meeting_id>というパスを割り当てます。これにより、再同期時に重複を作成せず、既存の内容を更新できます。レコーダーが返す形式(Granola の Me/Them ストリームや、ボットの発言者ごとのターンなど)を、メモと逐語的なトランスクリプトに整えます。トランスクリプトを書き換えてはいけません。これは、オンデマンド(ユーザーが依頼する場合)でも無人(スケジューラーが依頼する場合)でも同じように機能します。レコーダーはユーザーが用意するもので、入れ替え可能です。 - ミーティングのメモが追加されたら、エンティティへの言及を抽出し、参照された各人物ファイルにタイムラインの箇条書きを追記します(ミーティングへのリンクを Markdown 形式で記載します)。まだ記録されていない言及先のエンティティは、基本情報だけのファイルを作成します。
originals/は権威ある情報源(推測ではなく、ユーザー自身の言葉)として扱います。- 両方のエンティティが存在する場合は、エンティティ間のつながり(人物 ↔ 会社、概念のハブ)を明示します。
gbrain CLI(任意)
このパックには Markdown 部分(フォルダー、テンプレート、およびこのスキル)が含まれています。OK は操作・編集・レビューを行う画面です。外部の gbrain CLI(~/.gbrain/)がインストールされている場合は、スケジュールされた情報補強機能が追加されます。gbrain dream(夜間のメンテナンス)、gbrain briefing、gbrain soul-audit、データベースを使ったインデックス作成のための gbrain import/gbrain sync --repo などです。ルートファイル(USER.md、SOUL.md、ACCESS_POLICY.md、HEARTBEAT.md)はこれらのスキルによって読み取られます。手動または gbrain soul-audit を使って記入してください。ボルトの利用に必須のものはありません。連携はプレーンな Markdown と Git で行われます。
テンプレート
write({ document: { path: "<path>", template: "<name>" } }) で作成します。テンプレートには構造(確定情報と --- timeline --- の区切りを含む)と、使う箇所に添えた簡単なインラインの注意書きが含まれています。このスキルに規約の全容が記載されているため、両者に相違がある場合は、こちらを正式な参照元として優先してください。