Patricia

公式

Patriciaは、AIクライアントを1つのPatriciaワークスペースに接続します。ワークスペースのメモリやファイルを読み取り、接続された統合を確認し、人間の承認コントロール付きでPatriciaに作業を委任できます。

Patricia MCPで何ができますか?

  • プラグインのインストールと設定 — AIにマーケットプレイス経由でpatriciaプラグインをインストールしてもらい、OAuthまたは個人トークンでサインインします。
  • プロジェクトを自動的にオンボーディング — SessionStartフックが挨拶し、トークンが設定されている場合、プロジェクトごとに1回オンボードスキルを提案します。
  • 関連メモリを呼び出す — UserPromptSubmitフックがsearch_memoryを介して対象のプロンプトに関連メモリを追加し、最大300文字を送信します。
  • ツール実行前に統合をチェック — PreToolUseフックがWebFetch、WebSearch、Bashの入力を既知のプロバイダーカタログに対してローカルでチェックし、ネットワーク呼び出しは行いません。
  • メモリのプッシュを提案 — ローカルメモリ書き込み後、PostToolUseフックが明示的なスコープでrememberを提案し、Stopフックが長時間のセッション後にリマインダーを表示します。
  • 設定とファイルを管理 — get_settings、update_settings、list_files、get_brand_kitを使用して、ワークスペース設定やブランドアセットを読み取りまたは変更します。

ドキュメント

[!NOTE] このリポジトリは、bettergroupinc/patricia-monorepo から plugins/patricia/ に生成されています。 自動化がこの公開ミラーを同期します。 ソースコミット: 147037702592109a4944cdbfb94bdcabb33f490f。 プルリクエストとイシューはモノレポで開いてください。

patricia Claude Code プラグイン

これを一度インストールすると、エージェントは指示を受けなくても Patricia の MCP サーバーを適切に使用します。

このプラグインには3つの要素が含まれています。

  1. ガイダンス。 5つのスキルが、Patricia の基本、オンボーディング、委任された作業、統合、メモリブリッジをカバーします。
  2. MCP 接続。 インストールにより、OAuth サインイン用の Patricia の Streamable HTTP サーバーが設定されます。
  3. 5つのローカルフック。 プロジェクトのオンボーディング、メモリの呼び出し、統合の事前チェック、メモリプッシュの提案を行います。これらが Patricia に書き込むことはありません。

これは配布可能な Claude Code プラグインです。ユーザーが自分のマシンにインストールし、そのユーザーの Claude Code セッション内で実行されます。これは Patricia の製品スキルカタログではなく、内部で Patricia 内で実行されるものはありません。

インストール

claude plugin marketplace add patricia-app/patricia-plugin
claude plugin install patricia@patricia

その後、新しいセッションを開始するか、/reload-plugins を実行してください。

そのマーケットプレイスは https://github.com/patricia-app/patricia-plugin. です。自動化が Patricia のモノレポからその中のすべてのファイルを生成します。

コントリビューター向けメモ: モノレポはプライベートです。アクセス権のあるコントリビューターは、モノレポ自体をマーケットプレイスとして追加できます。そのルートの .claude-plugin/marketplace.json が patricia プラグインを ./plugins/patricia に向けるためです。

インストールしてください。--plugin-dir で読み込まないでください。 ディレクトリから読み込まれたプラグインはスキルは取得できますがフックは取得できないため、ガイダンスは機能してもメモリブリッジは発動しません。これは推測ではなく測定された結果です。--plugin-dir を通じて読み込まれたプローブフックは実行されませんでしたが、プロジェクト設定で宣言された同じフックは、同じヘッドレスモードで同じ書き込み時に実行されました。Claude Code は、インストールされ有効化されたプラグインの hooks/hooks.json のみを登録します。

claude plugin details patricia は何が配置されたかを報告します:

Component inventory
  Skills (5)  delegating-work, integrations, memory-bridge, onboard, using-patricia
  MCP servers (1)  patricia
  Hooks (5)  SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop

MCP サーバーにサインイン

プラグインは、保存されたヘッダーなしで MCP サーバーを設定します。初回使用時に /mcp を実行し、Patricia を選択してください。ターミナルから OAuth フローを開始することもできます:

claude mcp login plugin:patricia:patricia

MCP OAuth サインインとフックの pat_mcp_ 個人トークンは別々の認証情報です。OAuth だけではトークン依存のフックは有効になりません。

OAuth が適さない場合の代替としてトークンを使用します:

claude mcp add --transport http patricia https://api.patricia.app/v1/mcp \
  --header "Authorization: Bearer $PATRICIA_MCP_TOKEN"

pat_mcp_ 個人トークンは責任者を特定し、書き込みが可能です。pat_live_ テナント API キーは誰も特定しないため読み取り専用で、list_skills や list_integrations には回答できません。

ローカルフックに個人トークンを渡す

ローカルフックには、python3 コマンドで Python 3 が利用可能である必要があります。

Patricia の 設定 > 開発者 > 個人キー で pat_mcp_ 個人キーを作成します。次に、以下のいずれかの設定を選択します:

export PATRICIA_MCP_TOKEN="pat_mcp_..."

または、~/.claude/patricia.json にこのファイルを書きます:

{
  "token": "pat_mcp_..."
}

PATRICIA_MCP_TOKEN はファイルよりも優先されます。空の PATRICIA_MCP_TOKEN はファイルのフォールバックを無効にします。この動作は意図的です。ファイルを移動せずに認証済みフックを一時停止できるようにするためです。

ローカルフック

5つのフックはすべてデフォルトでオンです。設定ファイルがない場合やフックキーがない場合はオンのままです。不正な形式や読み取り不能な設定はオフにします。~/.claude/patricia-plugin.json でフックのリストされたキーをリテラル値 false に設定すると、そのフックだけをオフにできます。

オンボーディング

  • タイミングと動作: SessionStart は、新しいセッションまたは再開されたセッションで実行されます。接続されたユーザーに挨拶し、プロジェクトごとに一度オンボードスキルを提供します。
  • コスト: トークンがある場合、whoami 呼び出しを1回行います。ネットワークタイムアウトは3秒、フックタイムアウトは10秒です。
  • オフスイッチ: hooks.onboarding.enabled を false に設定。
  • プライバシー: トークンがある場合、認証された whoami リクエストのみがマシンから送信されます。このフックを通じてプロンプト、トランスクリプト、プロジェクトコンテンツは送信されません。

リコール

  • タイミングと動作: UserPromptSubmit は、各送信プロンプトの前に実行されます。コマンド、短い返信、確認、コードのみの入力をスキップします。対象となるプロンプトに関連メモリを追加します。
  • コスト: トークンと対象プロンプトがある場合、search_memory 呼び出しを1回行います。ネットワークタイムアウトは3秒、フックタイムアウトは8秒です。
  • オフスイッチ: hooks.recall.enabled を false に設定。
  • プライバシー: 折りたたまれたプロンプトの最大300文字を Patricia に送信します。このテキストはトークンが設定されている場合のみ送信されます。

統合の事前チェック

  • タイミングと動作: UserPromptSubmit はプロンプトをチェックします。PreToolUse は、ツール実行前に WebFetch、WebSearch、Bash 入力をチェックします。ローカルカタログが既知のプロバイダーを識別します。
  • コスト: MCP やネットワーク呼び出しは行わず、トークンも不要です。フックタイムアウトはプロンプトで8秒、ツール呼び出し前で5秒です。
  • オフスイッチ: hooks.integrations_first.enabled を false に設定。
  • プライバシー: マシンから何も送信されません。フックはプロンプトまたはツール入力をローカルでチェックします。

メモリブリッジ

  • タイミングと動作: PostToolUse は Write、Edit、または MultiEdit の後に実行されます。保存されたローカルメモリノートを検出し、明示的なスコープで remember を提案します。
  • コスト: MCP やネットワーク呼び出しは行いません。フックタイムアウトは5秒です。
  • オフスイッチ: hooks.memory_bridge.enabled を false に設定。レガシーの ~/.claude/patricia-memory-bridge.json ファイルでも enabled を false に設定できます。
  • プライバシー: スクリプトは保存されたノートをローカルで読み取り、ネットワーク経由で何も送信しません。ノートのパスとリマインダーテキストを Claude Code に返しますが、ノートの内容は返しません。

プッシュリマインダー

  • タイミングと動作: Stop はエージェントが終了したときに実行されます。ローカルメモリ書き込み後、または Patricia へのメモリ書き込みなしの実質的なツール使用セッション後に remember を提案します。
  • コスト: MCP やネットワーク呼び出しは行いません。フックタイムアウトは8秒です。
  • オフスイッチ: hooks.push_reminder.enabled を false に設定。
  • プライバシー: ローカルトランスクリプトの最大5 MB を読み取り、何も送信しません。トークンが設定されている場合のみ実行されるため、ユーザーが同意した後に提案されたメモリ呼び出しが成功できます。

ネットワークと認証情報

このプラグインは、Streamable HTTP 経由で https://api.patricia.app/v1/mcp に接続します。

Patricia は PKCE S256 を使用した OAuth 2.1 を使用します。完了した OAuth フローは、クライアントに個人用 pat_mcp_ ベアラートークンを提供します。

プラグインマニフェストには認証情報は含まれていません。クライアントはサインイン後に api.patricia.app にベアラートークンを送信します。

他のマーケットプレイス

  • Cursor はこのパッケージから plugin.json と mcp.json を読み取ります。
  • OpenAI Codex と ChatGPT は .codex-plugin/plugin.json を読み取ります。
  • リモートソースエントリにはマニフェストは不要です。xAI は存在する場合 .claude-plugin/plugin.json を読み取ります。

すべてのマーケットプレイスパッケージは、このパッケージ内の1つの skills/ ツリーを指しています。

assets/icon.png はファーストパーティの Patricia ブランド資産です。

メモリブリッジは提案するだけで、書き込みはしません

フックはシェルコマンドです。MCP クライアントを保持せず、誰の同意も得ず、ノートを読み取ってチームの事実とプライベートな事実を区別することはできません。すべてのローカルノートを共有ワークスペースに送信するフックは、マシン固有の使い捨てノートやプライベートノートをチーム全体の前に静かに置くことになります。これはブリッジが回避するために構築された失敗モードであり、延期された機能ではありません。

したがって、フックは1つのことだけを行います: ノートがローカルのみであり、remember に scope が必要であることをエージェントに伝える hookSpecificOutput.additionalContext を注入します。エージェントがスコープを決定し、ユーザーに確認し、呼び出しを行います。判断と書き込みは同じ場所に留まります。

4つのゲートが静かに保ちます:

ゲート効果
サポートされている設定のいずれかがブリッジの enabled 値を false に設定サイレント。その値がない場合、ブリッジはオンです。
書き込まれたパスがメモリディレクトリの外サイレント。
書き込みが行われなかった、またはファイルが空サイレント。
ノートのフロントマターに patricia: skip が含まれるサイレント。

また、特定のノートはセッションごとに最大1回提供されるため、Write の後に Edit 呼び出しが続くと、4つのリマインダーではなく1つのリマインダーが生成されます。その記録は ~/.claude/patricia-memory-bridge-state/ に保存され、セッションごとに1ファイルで、7日後に削除されます。

これには CLAUDE_PLUGIN_DATA を使用しません。その変数はフックの環境に存在しますが、実行中のプラグイン自身のディレクトリとは確実には一致しません。このマシンのプロジェクトレベルフックでは、無関係なプラグインのデータディレクトリである ~/.claude/plugins/data/codex-openai-codex に設定されているのを確認しました。

メモリ書き込みが実際に使用するツール

Claude Code 2.1.238 は、memory_list、memory_read、memory_write という名前のツールを宣言しています。これが構築されたマシンでは、メモリノートはこれらで書き込まれません。最近の120のセッショントランスクリプトのスイープで、~/.claude/projects/*/memory/ への Write 呼び出しが49件、Edit 呼び出しが35件見つかり、memory_write 呼び出しはゼロでした。

したがって、マッチャーは Write|Edit|MultiEdit です。memory_write は意図的に除外されています。ペイロード形状が検証されていないツールのマッチャーを追加すると、静かに発動しないフックが得られ、動作するフックとまったく同じように見えます。実際の memory_write ペイロードが読み取られたときに追加してください。

ガイダンスとサーバーの標準ルールは2つのコピーではなく1つ

start_onboarding_import は、ask_first、instruction、および誰かの CLAUDE.md に収まるサイズの markdown ブロックを含む standing_rule_to_offer を返す場合があります。スキルはそのブロックを言い直しません。ツールを呼び出して返ってきたものを使うようにエージェントに指示するため、サーバーがその文言の唯一の所有者であり続けます。

インストール時に取得するのが代替案でしたが、それは機能しません。プラグインの SKILL.md はコンテンツアドレスキャッシュ内の静的テキストであり、それを書き換えられるインストール時ステップはなく、Patricia のセットアップを担当するプラグインが、動作する認証済み Patricia 接続に依存して自身の指示をレンダリングすることはできません。使用時にツールを読み取ることで、そのような問題なしに同じ単一コピーが得られます。

ここにあるすべてのツール名は実際のツールです

このプラグインのすべてのバックティック付きツール識別子は、サーバー自身のツールレジストリ、つまりサーバーが tools/list から構築するリストに対して保持されています。同じチェックが、空でない識別子セットが見つかったことをアサートするため、壊れた抽出器が何も見つけずに通過することはできません。

コントリビューター向けメモ: そのチェックは Patricia のモノレポの backend/api/tests/test_patricia_claude_plugin.py であり、このプラグインへの変更のたびに実行されます。

設定とファイル検出

ツール用途
get_settings設定を一覧表示するか、意味、値、権限を含む選択したキーまたはグループを読み取ります。どちらの認証情報でもワークスペースグループを読み取れます。
update_settingsダッシュボード操作を通じて許可された1つのグループを変更します。個人トークンが必要です。
list_filesファイルを一覧表示します。最初のページにはフォルダーと可視性フィルタリングされたカウントが含まれます。
get_brand_kitブランドカラー、タイポグラフィ、ロゴを読み取ります。

会社プロフィールには get_settings(keys=["company_profile"]) を使用します。 設定ツールは、Patricia がチャットで使用するカタログと操作を共有します。 チャット設定の変更には、リクエストしたユーザーによるクリックが必要です。 承認ポリシーの変更はコンソール実行に影響します。クリティカルおよびプロバイダー必須のアクションは承認フロアを維持し、オーディエンスとクリックのみのフロアは、Patricia がすでに尋ねているアクションに対して維持されます。

同じユーザーの別のタスクが実行されている間、統合読み取りは待機します。 そのタスクを get_task_status でポーリングするか、完了するまで待ちます。 直接の統合承認後、decide_approval が返した next の文に従ってください。 同じ tool_ref と引数で再度呼び出すツールを指定します。