npx skills add ...
npx skills add forcedotcom/sf-skills --skill dx-pkg-post-install-configure
Use this skill to automate managed package post-install configuration. Package-agnostic — works with any managed package (LMA, FMA, work.com, Certinia, etc.). TRIGGER when: user installs a managed package and needs post-install configuration, mentions LMA/FMA/work.com post-install setup, asks to configure permission sets/FLS/page layouts for an installed package, says 'post-install', 'package setup', 'configure LMA', 'set up FMA', 'post-install steps'. DO NOT TRIGGER for: standalone permission set assignment (use dx-org-permission-set-assign), generating permission set metadata XML (use platform-permission-set-generate), package installation, or org switching.
npx skills add forcedotcom/sf-skills --skill dx-pkg-post-install-configure
Use when automating post-install configuration for any Salesforce managed package. This skill reads the package's post-install documentation, discovers available execution methods, and automates the configuration steps — including permission sets, object/field permissions, page layouts, Visualforce page access, and tab settings.
LMA, FMA, work.com)If no doc is provided, ask the user to supply it.
Execute phases in order. Each phase must pass before proceeding.
Priority order:
Discover the org's current API version dynamically — never hardcode a version number:
From the JSON response, read result.apiVersion (e.g., "67.0"). Store this value and use it as v<apiVersion> in all subsequent REST paths. If the command fails, fall back to the minApiVersion declared in this skill's metadata (67.0).
Query the Tooling API for MCP server availability:
Check which Claude Code MCP tools are available and authenticated.
MCP tool prefixes by org type:
| Org Type | Tool Prefix |
|---|---|
| Production | mcp__sf-sobject-all__ |
| Sandbox | mcp__sf-sobject-all-sb__ |
| Falcon Test (pc-rnd) | mcp__sf-sobject-all-falcon__ |
If MCP needs auth, call the authenticate tool. If auth fails, fall back to sf CLI.
SELECT Id, Name, IsSandbox FROM Organization)InstalledSubscriberPackage) — do NOT use PackageLicenseRead the provided document and extract discrete configuration steps.
Supported formats: PDF, markdown, URL (via WebFetch), pasted text.
Parsing approach:
For each step extracted from the doc, classify as Automated or Manual.
Via MCP (sobject-all) or sf CLI CRUD:
Via Metadata API retrieve/deploy (sf CLI):
Via sf CLI Tooling API:
Manual (no API path — requires Setup UI):
Present the classified plan and let the user choose:
For each approved step, use the resolved execution method.
| Operation | Via MCP | Via sf CLI |
|---|---|---|
| SOQL query | soqlQuery tool | sf data query --query "<SOQL>" --target-org <alias> --json |
| Create record | createSobjectRecord tool | sf data create record --sobject <Object> --values "..." --target-org <alias> --json |
| Update record | updateSobjectRecord tool | sf data update record --sobject <Object> --record-id <id> --values "..." --target-org <alias> --json |
| Describe object | getObjectSchema tool | sf api request rest "/services/data/v<apiVersion>/sobjects/<Object>/describe" --target-org <alias> |
| Page layout | N/A | Metadata API retrieve/deploy |
Use sf project retrieve start → edit the layout XML → sf project deploy start.
If any steps could not be automated, present each with Setup navigation instructions. Wait for user confirmation before proceeding to the next.
Display final summary with step-by-step status, method used, and any skipped items.