dx-pkg-post-install-configure
forcedotcom/sf-skills
Automate post-install configuration for any Salesforce managed package.
What is dx-pkg-post-install-configure?
Automates configuration steps after installing managed packages (LMA, FMA, work.com, Certinia, etc.) by reading post-install documentation and executing permission sets, field-level security, page layouts, and other setup tasks. Use when a managed package is installed and requires configuration beyond the installation itself.
- Discovers available execution methods (org-native MCP, Claude Code MCP, or sf CLI)
- Reads and parses post-install documentation (PDF, markdown, URL, or pasted text)
- Classifies configuration steps as automated or manual
- Executes automated steps via SOQL, record CRUD, or Metadata API
- Handles permission sets, object/field permissions, page layouts, and tab settings
- Provides interactive approval workflow before executing changes
How to install dx-pkg-post-install-configure
npx skills add https://github.com/forcedotcom/sf-skills --skill dx-pkg-post-install-configure- sf CLI version 2.0.0 or later
- Authenticated connection to target Salesforce org
- Post-install documentation (PDF, markdown, URL, or text) for the managed package
- Minimum API version 67.0
How to use dx-pkg-post-install-configure
- 1.Provide the managed package name and post-install documentation (or URL)
- 2.Confirm org identity and package installation verification
- 3.Review the extracted configuration steps and classified automation plan
- 4.Approve all steps, select specific steps, or ask clarifying questions
- 5.Execute approved steps; the skill will automatically fall back to sf CLI if MCP fails
- 6.Confirm manual steps in Setup UI if any steps cannot be automated
- 7.Review final summary showing all completed, skipped, and manual steps
Use cases
- Configure permission sets and field-level security after installing a managed package
- Automate page layout modifications and Visualforce page access setup
- Set up tab visibility and related list configurations for an installed package
- Execute multi-step post-install checklists without manual Setup UI navigation
- Verify package installation and org identity before applying configuration
- Salesforce developers automating package deployment workflows
- DevOps engineers managing post-install configuration at scale
- System administrators setting up managed packages programmatically
- Development teams standardizing package configuration across orgs
dx-pkg-post-install-configure FAQ
Ask the user to supply the documentation in PDF, markdown, URL, or pasted text format. The skill cannot proceed without understanding the required configuration steps.
No. This skill handles post-install configuration only. Use a separate installation process or skill to install the managed package first.
The skill reports the error, identifies the missing permission if applicable, and asks whether to retry, skip, or stop execution.
Yes. Page layout modifications are automated via Metadata API retrieve/deploy (sf project retrieve start → edit XML → sf project deploy start).
The skill automatically falls back to sf CLI for all CRUD and Tooling API operations. If sf CLI also fails, execution stops and the user is prompted to re-authenticate.
Full instructions (SKILL.md)
Source of truth, from forcedotcom/sf-skills.
name: dx-pkg-post-install-configure description: "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." metadata: relatedSkills: - "dx-org-permission-set-assign" - "platform-permission-set-generate" version: "2.2" domains: ["Developer Experience"] minApiVersion: "67.0" cliTools: - tool: ["sf"] semver: ">=2.0.0"
When to Use This Skill
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.
Input
- Required: Package name (e.g.,
LMA,FMA,work.com) - Optional: Path to post-install doc (PDF, markdown, URL)
If no doc is provided, ask the user to supply it.
Workflow
Execute phases in order. Each phase must pass before proceeding.
Phase 1: Discover Available Execution Methods
Priority order:
- Org-native platform MCP servers (highest — direct org access via Headless 360)
- Claude Code external MCP servers (sf-sobject-all, sf-sobject-all-sb, etc.)
- sf CLI fallback (always available if authenticated)
Step 1A: Resolve org API version
Discover the org's current API version dynamically — never hardcode a version number:
sf org display --target-org <alias> --json
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).
Step 1B: Check for org-native platform MCP servers
Query the Tooling API for MCP server availability:
sf api request rest "/services/data/v<apiVersion>/tooling/query?q=SELECT+Id,DeveloperName,MasterLabel+FROM+McpServerAccess" --target-org <alias>
Step 1C: Determine execution method
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.
Phase 2: Verify Authentication & Org Identity
- Run a lightweight test query (
SELECT Id, Name, IsSandbox FROM Organization) - If MCP auth fails, automatically fall back to sf CLI
- Display org info and ask user to confirm before proceeding
Phase 3: Verify Package Installation
- Determine the package namespace (ask user if unknown)
- Check via Tooling API (
InstalledSubscriberPackage) — do NOT usePackageLicense - If package not found, stop and inform user
Phase 4: Read and Parse Post-Install Document
Read the provided document and extract discrete configuration steps.
Supported formats: PDF, markdown, URL (via WebFetch), pasted text.
Parsing approach:
- Extract each numbered/bulleted step from the document
- Present the extracted steps to the user for validation before proceeding
Phase 5: Classify Steps & Interactive Plan Review
For each step extracted from the doc, classify as Automated or Manual.
Automation capabilities reference
Via MCP (sobject-all) or sf CLI CRUD:
- Record CRUD on any standard or custom object (PermissionSet, ObjectPermissions, FieldPermissions, SetupEntityAccess, PermissionSetTabSetting, PermissionSetAssignment, etc.)
Via Metadata API retrieve/deploy (sf CLI):
- Page layout modifications (add related lists, fields, sections)
- Profile settings
- Custom metadata type records
Via sf CLI Tooling API:
- Tooling queries (InstalledSubscriberPackage, ApexPage, ApexClass, etc.)
- Any REST-accessible Tooling operation
Manual (no API path — requires Setup UI):
- System permissions not exposed via REST
- Connected app OAuth configuration
- Environment Hub linkage
Interactive approval
Present the classified plan and let the user choose:
- "Approve all" — Execute all steps as planned
- "Let me choose" — Select which steps to approve/skip
- "I have questions" — Discuss specific steps before deciding
Phase 6: Execute Approved Steps
For each approved step, use the resolved execution method.
Execution method reference
| 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 |
Page layout modifications via Metadata API
Use sf project retrieve start → edit the layout XML → sf project deploy start.
Execution rules
- Idempotency: Before creating any record, query to check if it already exists. Skip if so.
- Report after each step: Show success count, skipped items, and reasons.
- Automatic fallback: If MCP fails mid-execution, retry via sf CLI.
- On failure: Report error, ask user to retry/skip/stop.
Phase 7: Guide Manual Steps (if any)
If any steps could not be automated, present each with Setup navigation instructions. Wait for user confirmation before proceeding to the next.
Phase 8: Summary
Display final summary with step-by-step status, method used, and any skipped items.
Error Handling
- Auth failure mid-execution: Stop, ask user to re-auth, offer to resume
- Duplicate record errors: Treat as "already configured", skip and continue
- Permission errors: Report which permission is missing, suggest resolution
- Unknown step type: Ask user to clarify, offer to mark as manual
Notes
- Priority: org-native MCP > Claude Code MCP > sf CLI > manual
- sf CLI is always a valid fallback for all CRUD and Tooling API operations
- Page layout modifications are automated via Metadata API retrieve/deploy
- Always verify org identity before making changes
- All actions respect the authenticated user's permissions
Related skills
More from forcedotcom/sf-skills and the wider catalog.

dx-project-create
Scaffold a new Salesforce DX project with any template and configure it end-to-end.

experience-aura-lwc-migrate
Analyze Salesforce Aura components and generate framework-agnostic migration blueprints (PRDs) for LWC conversion.

experience-cms-brand-apply
Search, extract, and apply Salesforce CMS brand guidelines to generated content.

experience-content-media-search
Search and retrieve existing visual media from Salesforce CMS, Data 360, and connected sources.

experience-content-media-stock-image-search
Search and download ethically-licensed stock images from a media library.

experience-lds-best-practices-apply
Review and apply Lightning Data Service best practices to Lightning Web Components.