dx-pkg-post-install-configure について
Salesforce の管理パッケージ導入後の設定を自動化するスキルです。管理者や開発者向けに手順書を解析し、自動化・手動対応に分類したうえで、確認後に承認済みの処理を実行します。
主な機能
- 01導入後ドキュメントの読み取りと解析
- 02MCP と CLI の実行方法の検出
- 03組織とパッケージ導入状況の確認
- 04手順の分類とユーザー確認
- 05承認済み手順の実行と結果報告
活用シーン
- 01パッケージの権限セットや項目アクセスの設定
- 02Metadata API によるページレイアウトの変更
- 03Setup UI が必要な手順の特定
- 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:利用可能な実行方法を特定する
優先順位:
- 組織ネイティブのプラットフォーム MCP サーバー(最優先 — Headless 360 経由で組織に直接アクセス)
- Claude Code の外部 MCP サーバー(sf-sobject-all、sf-sobject-all-sb など)
- 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__ |
| Sandbox | mcp__sf-sobject-all-sb__ |
| Falcon Test(pc-rnd) | mcp__sf-sobject-all-falcon__ |
MCP に認証が必要な場合は、認証ツールを呼び出します。認証に失敗した場合は、sf CLI に切り替えます。
フェーズ 2:認証と組織の識別情報を確認する
- 軽量なテストクエリを実行します(
SELECT Id, Name, IsSandbox FROM Organization)。 - MCP 認証に失敗した場合は、自動的に sf CLI に切り替えます。
- 組織情報を表示し、続行する前にユーザーに確認を求めます。
フェーズ 3:パッケージのインストールを確認する
- パッケージの名前空間を特定します(不明な場合はユーザーに確認します)。
- Tooling API(
InstalledSubscriberPackage)を使用して確認します。PackageLicenseは使用しないでください。 - パッケージが見つからない場合は停止し、ユーザーに通知します。
フェーズ 4:インストール後のドキュメントを読み取り、解析する
提示されたドキュメントを読み取り、個別の設定手順を抽出します。
対応形式: PDF、Markdown、URL(WebFetch 経由)、貼り付けられたテキスト。
解析方法:
- ドキュメントから番号付きまたは箇条書きの各手順を抽出します。
- 続行する前に、抽出した手順を提示してユーザーに確認してもらいます。
フェーズ 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 による取得/デプロイで自動化されます
- 変更を行う前に、必ず組織の識別情報を確認します
- すべての操作は、認証済みユーザーの権限に従います