mcpField
D
dx-pkg-post-install-configure

dx-pkg-post-install-configure

github.com/forcedotcomクラウド・DevOps1.1k3.5k 回インストール1 日前に更新
リポジトリ

dx-pkg-post-install-configure について

Salesforce の管理パッケージ導入後の設定を自動化するスキルです。管理者や開発者向けに手順書を解析し、自動化・手動対応に分類したうえで、確認後に承認済みの処理を実行します。

主な機能

  1. 01導入後ドキュメントの読み取りと解析
  2. 02MCP と CLI の実行方法の検出
  3. 03組織とパッケージ導入状況の確認
  4. 04手順の分類とユーザー確認
  5. 05承認済み手順の実行と結果報告

活用シーン

  1. 01パッケージの権限セットや項目アクセスの設定
  2. 02Metadata API によるページレイアウトの変更
  3. 03Setup UI が必要な手順の特定
  4. 04MCP 実行失敗時の CLI への切り替え

MCP 対応

組織ネイティブまたは Claude Code の MCP を Salesforce のクエリやレコード操作に優先利用し、利用不可または失敗時は sf CLI に切り替えます。

インストール

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill dx-pkg-post-install-configure

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

詳細

このスキルを使用するタイミング

Salesforce の管理パッケージのインストール後設定を自動化する場合に使用します。このスキルは、パッケージのインストール後のドキュメントを読み取り、利用可能な実行方法を特定して、権限セット、オブジェクト/項目の権限、ページレイアウト、Visualforce ページへのアクセス、タブ設定などの設定手順を自動化します。

入力

  • 必須: パッケージ名(例:LMA、FMA、work.com)
  • 任意: インストール後のドキュメントへのパス(PDF、Markdown、URL)

ドキュメントが指定されていない場合は、ユーザーに提示を依頼します。

ワークフロー

各フェーズを順番に実行します。次に進む前に、各フェーズを完了する必要があります。


フェーズ 1:利用可能な実行方法を特定する

優先順位:

  1. 組織ネイティブのプラットフォーム MCP サーバー(最優先 — Headless 360 経由で組織に直接アクセス)
  2. Claude Code の外部 MCP サーバー(sf-sobject-all、sf-sobject-all-sb など)
  3. sf CLI の代替手段(認証済みであれば常に利用可能)
ステップ 1A:組織の API バージョンを解決する

組織の現在の API バージョンを動的に特定します。バージョン番号をハードコードしないでください。

sf org display --target-org <alias> --json

JSON レスポンスから result.apiVersion(例:"67.0")を読み取ります。この値を保存し、以降のすべての REST パスで v<apiVersion> として使用します。コマンドが失敗した場合は、このスキルのメタデータで宣言されている minApiVersion(67.0)を使用します。

ステップ 1B:組織ネイティブのプラットフォーム MCP サーバーを確認する

Tooling API に問い合わせて、MCP サーバーが利用可能かどうかを確認します。

sf api request rest "/services/data/v<apiVersion>/tooling/query?q=SELECT+Id,DeveloperName,MasterLabel+FROM+McpServerAccess" --target-org <alias>
ステップ 1C:実行方法を決定する

利用可能で認証済みの Claude Code MCP ツールを確認します。

組織タイプ別の MCP ツールプレフィックス:

組織タイプツールプレフィックス
本番環境mcp__sf-sobject-all__
Sandboxmcp__sf-sobject-all-sb__
Falcon Test(pc-rnd)mcp__sf-sobject-all-falcon__

MCP に認証が必要な場合は、認証ツールを呼び出します。認証に失敗した場合は、sf CLI に切り替えます。


フェーズ 2:認証と組織の識別情報を確認する
  1. 軽量なテストクエリを実行します(SELECT Id, Name, IsSandbox FROM Organization)。
  2. MCP 認証に失敗した場合は、自動的に sf CLI に切り替えます。
  3. 組織情報を表示し、続行する前にユーザーに確認を求めます。

フェーズ 3:パッケージのインストールを確認する
  1. パッケージの名前空間を特定します(不明な場合はユーザーに確認します)。
  2. Tooling API(InstalledSubscriberPackage)を使用して確認します。PackageLicense は使用しないでください。
  3. パッケージが見つからない場合は停止し、ユーザーに通知します。

フェーズ 4:インストール後のドキュメントを読み取り、解析する

提示されたドキュメントを読み取り、個別の設定手順を抽出します。

対応形式: PDF、Markdown、URL(WebFetch 経由)、貼り付けられたテキスト。

解析方法:

  1. ドキュメントから番号付きまたは箇条書きの各手順を抽出します。
  2. 続行する前に、抽出した手順を提示してユーザーに確認してもらいます。

フェーズ 5:手順を分類し、対話形式で計画を確認する

ドキュメントから抽出した各手順を、自動化可能または手動に分類します。

自動化機能の参照

MCP(sobject-all)または sf CLI CRUD 経由:

  • 標準オブジェクトまたはカスタムオブジェクトのレコード CRUD(PermissionSet、ObjectPermissions、 FieldPermissions、SetupEntityAccess、PermissionSetTabSetting、PermissionSetAssignment など)

Metadata API の retrieve/deploy(sf CLI)経由:

  • ページレイアウトの変更(関連リスト、項目、セクションの追加)
  • プロファイル設定
  • カスタムメタデータ型レコード

sf CLI Tooling API 経由:

  • Tooling クエリ(InstalledSubscriberPackage、ApexPage、ApexClass など)
  • REST でアクセス可能なすべての Tooling 操作

手動(API 経由の方法がなく、Setup UI が必要):

  • REST で公開されていないシステム権限
  • 接続アプリの OAuth 設定
  • Environment Hub のリンク
対話形式の承認

分類した計画を提示し、ユーザーに次のいずれかを選択してもらいます。

  • 「すべて承認」 — 計画したすべての手順を実行します。
  • 「選択する」 — 承認またはスキップする手順を選択します。
  • 「質問がある」 — 判断する前に、特定の手順について話し合います。

フェーズ 6:承認された手順を実行する

承認された各手順について、解決済みの実行方法を使用します。

実行方法のリファレンス
操作MCP 経由sf CLI 経由
SOQL クエリsoqlQuery ツールsf data query --query "<SOQL>" --target-org <alias> --json
レコードの作成createSobjectRecord ツールsf data create record --sobject <Object> --values "..." --target-org <alias> --json
レコードの更新updateSobjectRecord ツールsf data update record --sobject <Object> --record-id <id> --values "..." --target-org <alias> --json
オブジェクトの説明getObjectSchema ツールsf api request rest "/services/data/v<apiVersion>/sobjects/<Object>/describe" --target-org <alias>
ページレイアウト該当なしMetadata API による取得/デプロイ
Metadata API によるページレイアウトの変更

sf project retrieve start → レイアウト XML を編集 → sf project deploy start を使用します。

実行ルール
  • 冪等性: レコードを作成する前に、クエリを実行して既に存在するか確認します。存在する場合はスキップします。
  • 各ステップ後に報告: 成功件数、スキップした項目、理由を表示します。
  • 自動フォールバック: 実行中に MCP が失敗した場合は、sf CLI で再試行します。
  • 失敗時: エラーを報告し、再試行/スキップ/停止のいずれかをユーザーに確認します。

フェーズ 7:手動ステップの案内(該当する場合)

自動化できなかったステップがある場合は、それぞれについて Setup での移動手順を提示します。 次のステップに進む前に、ユーザーの確認を待ちます。


フェーズ 8:概要

各ステップのステータス、使用した方法、スキップした項目を含む最終概要を表示します。


エラー処理

  • 実行途中での認証失敗: 停止し、再認証を依頼して、再開するかどうかを確認します
  • レコードの重複エラー: 「設定済み」として扱い、スキップして続行します
  • 権限エラー: 不足している権限を報告し、解決方法を提案します
  • 不明なステップタイプ: ユーザーに確認し、手動として扱うことを提案します

注意事項

  • 優先順位:組織ネイティブ MCP > Claude Code MCP > sf CLI > 手動
  • sf CLI は、すべての CRUD および Tooling API 操作で有効なフォールバックです
  • ページレイアウトの変更は、Metadata API による取得/デプロイで自動化されます
  • 変更を行う前に、必ず組織の識別情報を確認します
  • すべての操作は、認証済みユーザーの権限に従います

コメント