sf-packaging-release

Guides Salesforce 2GP package creation, versioning, promotion, and installation decisions.

2|Updated Sep 12, 2026
One-click install
npx skills add https://github.com/grzmol/vibe-force --skill sf-packaging-release-grzmol
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sf-packaging-release
Source: https://github.com/grzmol/vibe-force/tree/main/skills/sf-packaging-release
Command: npx skills add https://github.com/grzmol/vibe-force --skill sf-packaging-release-grzmol

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing and operating a Salesforce release model is error-prone: teams adopt packaging without needing it, pipelines hang on install prompts, versions get created with --skip-validation and can never be promoted, and upgrades silently delete subscriber data. This Skill provides the decision framework and exact sf package command surface to avoid those failures. ## Core Features & Use Cases - Release model selection: Decide between org-based deployment, unlocked packages, org-dependent unlocked packages, and managed 2GP based on team cadence and distribution needs. - Full package lifecycle: Create packages and versions, promote to released, install and uninstall in subscriber orgs, with correct flags for installation keys, upgrade types, and code coverage. - sfdx-project.json packaging attributes: Configure versionNumber with NEXT and LATEST, ancestorVersion, dependencies with transitive calculation, seedMetadata for StandardValueSet, unpackagedMetadata, and apexTestAccess. - Use Case: Splitting a monorepo into a base package plus dependent packages, wiring version pins, and building a CI pipeline that creates, verifies, smoke-tests, and promotes package versions unattended. ## Quick Start Ask the assistant to create an unlocked package from the util directory, version it with code coverage, and install it into the UAT org without prompts.

Frequently Asked Questions about sf-packaging-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create and promote a Salesforce unlocked package version?

Run sf package create with --name, --package-type Unlocked, --path, and --target-dev-hub, then sf package version create with --code-coverage and either --installation-key or --installation-key-bypass. Promote with sf package version promote; versions created with --skip-validation cannot be promoted.

Unlocked packages vs org-based deployment for Salesforce releases?

Use org-based deployment with sf project deploy for one team and one org lineage. Choose unlocked packages only when separate teams release into the same org on independent cadences, since packaging adds version pinning, a dependency graph, and costlier cross-package refactors.

Why does sf package install hang with no output in CI?

The install is waiting on a Remote Site Setting or CSP Trusted Site confirmation prompt. Pass --no-prompt to sf package install, which also authorizes --upgrade-type Delete, so pair it with --upgrade-type DeprecateOnly in unattended pipelines.

Why does package install fail on standard picklist values?

A StandardValueSet cannot be included in a package, so installs depending on standard picklist values fail. Add a seedMetadata directory path to the package directory in sfdx-project.json; seed metadata is supported for standard value sets only.

What does --upgrade-type Delete do on package install?

On unlocked package upgrades, --upgrade-type Delete removes components absent from the new version from the subscriber org, which can cause loss of data associated with those components. Mixed is the default; DeprecateOnly deprecates without deleting and is the safe CI choice.

When should I not use Salesforce packaging at all?

Skip packaging when one team ships one repo to one org lineage, since package directories in sfdx-project.json already provide ownership boundaries. Packaging only pays off for independent release cadence or distribution to orgs you do not control.