mcpField
C
credential-switch

credential-switch

github.com/indranilbanerjeeセキュリティ913110 回インストール今日更新
リポジトリ

credential-switch について

複数クライアントを管理する代理店向けに、ブランドの認証情報プロファイルを切り替える Claude skill です。プラットフォームの認証情報を検証し、警告を提示したうえで、明示的な承認と監査記録により切り替えを管理します。

主な機能

  1. 01ブランドとプラットフォーム認証情報の検証
  2. 02環境変数とトークン状態の確認
  3. 03有効な認証情報とブランドコンテキストの切り替え
  4. 04リスクのある切り替えへの明示的な承認
  5. 05認証情報切り替えの監査ログ記録

活用シーン

  1. 01別のクライアントのプラットフォーム操作を開始
  2. 02切り替え前に広告プラットフォームの認証情報を確認
  3. 03不足または期限間近の認証情報を確認
  4. 04クライアント間の認証情報変更を追跡

MCP 対応

接続された MCP サーバーのツール経由で書き込みを行う場合、明示的な承認入力とホストの許可プロンプトに依存します。コネクター実行ツールの承認記録チェックは適用されません。

インストール

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

$npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill credential-switch

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

詳細

/digital-marketing-pro:credential-switch

スクリプトの場所。 ホストで ${CLAUDE_PLUGIN_ROOT} が設定されていない場合、スクリプトは skills/ と同じ階層にあるこのプラグインの scripts/ フォルダー内にあります。Python 3.10 以降で実行してください。python を使用するか、python が見つからない場合は python3 を使用します(macOS、多くの Linux システム)。

目的

複数のクライアントを管理する代理店向けに、アクティブな認証情報プロファイルを別のブランドに切り替えます。すべてのプラットフォーム接続を検証し、対象ブランドで利用可能なサービスを報告します。プラットフォーム操作を実行する前に、正しい API キー、トークン、環境変数が有効になっていることを確認し、クライアント間のデータ漏えい、広告費の誤った振り分け、誤ったアカウントでの操作を防ぎます。

実行ゲート(必須 — 省略不可)

  1. 対象ブランド、プラットフォームごとの認証情報の状態、警告を含む検証の概要を、実行サマリーとして提示します。
  2. 検証に問題がなく、クライアントの認証情報プロファイルが 1 つだけ設定されている場合は、自動的に切り替えを実行してもかまいません。クライアントプロファイルが複数ある場合、または警告/認証情報の不足/有効期限切れがある場合は、ユーザーが yes(または同等の明示的な承認)を入力する必要があります。それ以外の入力はすべてキャンセルとして扱います。
  3. 曖昧な入力で処理を続行してはいけません。失敗した切り替えを自動的に再試行してはいけません。
  4. ユーザーが yes と入力した後にのみ、次のコマンドで記録します:python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"credential-switch","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}'、続けて python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}。いずれかのコマンドでエラーが発生した場合は、停止してエラーを報告してください。別のツールで回避してはいけません。この記録により、この操作の承認手順が実行されたことは証明できますが、誰が yes と入力したかは証明できません。
  5. 実行します。connector_executor.py を通じて送信する書き込みには --approval-id が必要で、一致する未使用かつ有効期限内の記録に対してのみ実行されます(/digital-marketing-pro:execute-action を参照)。接続された MCP サーバーのツールを通じた書き込みは、このコードによるチェックの対象外です。この場合は、入力された yes とホストの権限プロンプトに依存します。その後、python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(または failure)を実行します。

必要な入力

ユーザーは次の情報を提供する必要があります(または入力を求められます)。

  • 対象ブランドのスラッグ:切り替え先のブランドスラッグです。~/.claude-marketing/brands/ に設定済みのブランドがあり、対応する認証情報プロファイルが ~/.claude-marketing/credentials/ に存在する必要があります。
  • 検証の深度(任意):次のいずれかです。
    • Quick:環境変数が存在し、空でないことを確認します。高速で、API 呼び出しは行いません。
    • Full:設定済みの各プラットフォームについて、ライブ API 接続とトークンの有効性をテストします。時間はかかりますが、実際にアクセスできることを確認できます。
    • 切り替えを速めるため、デフォルトは Quick です。
  • 強制切り替え(任意):対象プロファイルの認証情報が不足している、または期限切れの場合に、警告を出して切り替えるか、完全に中止するかを指定します。重要な認証情報(広告プラットフォーム、アナリティクス)が不足している場合は、デフォルトで中止します。
  • 理由(任意):切り替えログに記録する簡単なメモです。複数のチームメンバーでシステムを共有している場合の監査証跡に役立ちます(例:「Acme Corp の月次レポートを開始」)。
  • 検証するプラットフォーム(任意):すべてのプラットフォームではなく、検証する特定のプラットフォームを指定します。現在のタスクに特定の連携だけが必要な場合に便利です(例:「有料メディアのセッションでは google-ads, google-analytics」)。

手順

  1. 現在のコンテキストを確認する:~/.claude-marketing/brands/_active-brand.jsonを読み取り、現在アクティブなブランドを特定します。また、~/.claude-marketing/credentials/_active-profile.jsonを読み取り、現在の認証情報プロファイルを確認します。切り替える前に現在の状態を表示します。
  2. 切り替え先のブランドが存在することを確認する:切り替え先のブランドスラッグに対応する設定済みプロファイルが~/.claude-marketing/brands/{slug}/profile.jsonにあることを確認します。見つからない場合は、~/.claude-marketing/brands/から利用可能なすべてのブランドを一覧表示し、新しいブランドには/digital-marketing-pro:brand-setup、新しいクライアントの設定には/digital-marketing-pro:client-onboardingを提案します。
  3. 認証情報プロファイルが存在することを確認する:credential-manager.py --action get-profile --id {slug}を実行して、切り替え先のブランドに認証情報プロファイルが存在することを確認します。見つからない場合は、必要なプラットフォーム認証情報を使って作成する方法を説明し、設定手順を案内して中止します。
  4. 認証情報プロファイルを検証する:credential-manager.py --action validate-profile --id {slug}を実行し、各プラットフォームの認証情報を確認します。API キーが存在し空でないこと、OAuth トークンが期限切れでないこと、.mcp.jsonで設定されたすべての MCP サーバーに必要な環境変数が設定されていることを検証します。
  5. 検証の概要を提示する:プラットフォームごとの検証レポートを表示します。設定済みの各サービスについて、以下を示します。
    • プラットフォーム名と種類(広告プラットフォーム、分析、CRM、ソーシャル、メール)
    • 認証情報の状態:設定済み/未設定/期限切れ
    • 必要な環境変数:設定済みまたは不足(具体的な変数名を含む)
    • 該当する場合はトークンの有効期限
    • 確認できる場合は、最後に接続に成功した日時
  6. 最近の操作を確認する:切り替える前に、python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand {slug} --action get-history --limit 20をスキャンし、コンテキストの切り替えによって影響を受ける可能性のある、現在のプロファイルで最近記録された実行と配信を確認します。トラッカーに記録されるのは完了した実行(成功/失敗)であり、実行中の処理をリアルタイムで確認する機能はありません。そのため、最も新しい項目はまだ処理中の可能性があるものとして扱い、稼働中と思われるものがあれば具体的な操作の詳細を示して警告します。
  7. 切り替えの意図を確認する:検証に問題がなければ、自動的に続行します。警告(重要度の低い認証情報の不足、または7日以内に期限切れになるトークン)がある場合は、警告を提示して確認を求めます。重要な認証情報が不足しており、強制フラグが設定されていない場合は、設定が必要な項目を具体的に案内して中止します。
  8. 認証情報を切り替える:credential-manager.py --action switch-profile --id {slug}を実行して、切り替え先ブランドの認証情報プロファイルを有効にします。これにより、アクティブなプロファイルの参照先が更新され、すべての MCP サーバーに対応する環境変数が読み込まれます。
  9. アクティブなブランドを切り替える:~/.claude-marketing/brands/_active-brand.jsonを更新して、切り替え先のブランドをアクティブなブランドコンテキストに設定します。ブランドプロファイルと認証情報が一致するようにし、以降のすべてのコマンドで正しいクライアントが使用されるようにします。
  10. 切り替えの成功を確認する:_active-brand.jsonと_active-profile.jsonを再読み込みし、切り替えが正常に完了したことを確認します。完全な検証が求められた場合は、重要なプラットフォーム(Google Ads、Analytics、CRM)で簡単な接続テストを実行し、実際にアクセスできることを確認します。
  11. 切り替えを記録する:監査証跡として、切り替えイベントをタイムスタンプ、切り替え前のブランド、新しいブランド、検証結果、警告、および理由(指定されている場合)とともに~/.claude-marketing/credentials/switch-log.jsonに記録します。
  12. 新しいアクティブコンテキストを報告する:新しいアクティブブランドの名前、スラッグ、業界、ビジネスモデル、設定済みプラットフォームとその検証状態を表示し、認証情報の不足や期限切れについて警告があれば提示します。切り替え後によく行われるワークフローに基づいて、次の手順を提案します。

出力

認証情報の切り替え確認には、次の内容が含まれます。

  • 切り替え前のコンテキスト:切り替え前に有効だったブランド名、スラッグ、認証情報プロファイル。切り替え元を確認し、必要に応じて元に戻せるようにします
  • 新しいアクティブコンテキスト:現在有効なブランド名、スラッグ、業界、ビジネスモデル、主要なマーケティングチャネル、エンゲージメントタイプ、契約状況
  • プラットフォームの検証レポート:プラットフォームごとのステータステーブル。プラットフォーム名、設定済みかどうか(はい/いいえ)、環境変数(設定済み/不足と具体的な変数名)、トークンの状態(有効/期限切れ/該当なし。有効期限が該当する場合はその日付)、接続結果(検証済み/未テスト/失敗とエラーの詳細)
  • 認証情報不足の警告:ブランドプロファイルに設定されているものの、API キーまたはトークンが不足しているプラットフォームと、追加方法の具体的な手順。設定する環境変数、認証情報の取得先、現在のワークフローでそのプラットフォームが必須か任意かを示します
  • 認証情報の有効期限が近い場合のアラート:7 日以内に有効期限を迎えるトークンまたはキーと、更新手順、緊急度(情報提供/対応が必要/重大)、更新しなかった場合の影響
  • 実行中の操作の確認:進行中の操作に影響がなかったことの確認、または切り替え後に注意が必要な操作の詳細な警告
  • 切り替えログの記録:監査およびトラブルシューティングのために記録する、タイムスタンプ、切り替え前のブランド、新しいブランド、検証の概要、警告の件数、切り替え理由
  • 次のステップ:確認メッセージ — 「すべての操作で、今後は [brand_name] の認証情報が使用されます。設定済みのプラットフォーム:[list]。このクライアントのステータスを確認するには /digital-marketing-pro:agency-dashboard を、パフォーマンスレポートを生成するには /digital-marketing-pro:client-report を、前のブランドに戻すには /digital-marketing-pro:credential-switch を再度使用してください。」

使用するエージェント

  • agency-operations — 認証情報プロファイルの管理、プラットフォーム検証ロジック、実行中の操作の安全性確認、切り替えの実行、コンテキストの整合性検証、監査ログの記録、切り替え後の推奨エンジン

コメント