
This is deployment orchestration for Salesforce metadata using the sf CLI v2. It handles dry-run validation, manifest-based deploys, scratch org management, and CI/CD workflow sequencing. The skill enforces a safe deployment order: objects and fields first, then permission sets, Apex, and finally Flows as drafts. It knows when to delegate to other skills like sf-apex for code authoring or sf-data for test records. The workflow is methodical: preflight checks, validate with dry-run, deploy the smallest correct scope, then verify. It includes failure pattern tables for common errors like missing dependencies and wrong deployment order, plus specific guidance on quick deploys and RunRelevantTests for Spring '26 orgs.
$ npx -y skills add jaganpro/sf-skills --skill sf-deploy --agent claude-codeInstalls into .claude/skills of the current project.
Use this skill when the user needs deployment orchestration: dry-run validation, targeted or manifest-based deploys, CI/CD workflow advice, scratch-org management, failure triage, or safe rollout sequencing for Salesforce metadata.
Use sf-deploy when the work involves:
sf project deploy start, quick, report, or retrieval workflowsDelegate elsewhere when the user is:
sf CLI v2 only.--source-dir, --metadata, or --manifest.--dry-run first before real deploys.sf-data after metadata is validated or deployed.| Phase | Metadata |
|---|---|
| 1 | Custom objects / fields |
| 2 | Permission sets |
| 3 | Apex |
| 4 | Flows as Draft |
| 5 | Flow activation / post-verify |
This ordering prevents many dependency and FLS failures.
Ask for or infer:
Preflight checks:
sf --version
sf org list
sf org display --target-org <alias> --json
test -f sfdx-project.json
Confirm auth, repo shape, package directories, and target scope.
sf project deploy start --dry-run --source-dir force-app --target-org <alias> --wait 30 --json
Use manifest- or metadata-scoped validation when the change set is targeted.
After a successful validation, guide the user to the correct next action:
# source-dir deploy
sf project deploy start --source-dir force-app --target-org <alias> --wait 30 --json
# manifest deploy
sf project deploy start --manifest manifest/package.xml --target-org <alias> --test-level RunLocalTests --wait 30 --json
# manifest deploy with Spring '26 relevant-test selection
sf project deploy start --manifest manifest/package.xml --target-org <alias> --test-level RunRelevantTests --wait 30 --json
# quick deploy after successful validation
sf project deploy quick --job-id <validation-job-id> --target-org <alias> --json
sf project deploy report --job-id <job-id> --target-org <alias> --json
Then verify tests, Flow state, permission assignments, and smoke-test behavior.
Summarize what deployed, what failed, what was skipped, and what the next safe action is.
Output template: references/deployment-report-template.md
| Error / symptom | Likely cause | Default fix direction |
|---|---|---|
FIELD_CUSTOM_VALIDATION_EXCEPTION | validation rule or bad test data | adjust data or rule timing |
INVALID_CROSS_REFERENCE_KEY | missing dependency | include referenced metadata first |
CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY | trigger / Flow / validation side effect | inspect automation stack and failing logic |
| tests fail during deploy | broken code or fragile tests | run targeted tests, fix root cause, revalidate |
| field/object not found in permset | wrong order | deploy objects/fields before permission sets |
| Flow invalid / version conflict | dependency or activation problem | deploy as Draft, verify, then activate |
Full workflows: references/orchestration.md, references/trigger-deployment-safety.md
Default pipeline shape:
--test-level RunRelevantTests for Apex-heavy deployments.@IsTest(testFor=...) and @IsTest(isCritical=true) as documented in sf-apex.Static analysis now uses Code Analyzer v5 (sf code-analyzer), not retired sf scanner.
Deep reference: references/deployment-workflows.md
Use this skill to orchestrate deployment/publish sequencing around agents, but use the agent-specific skills for authoring decisions:
.agent authoring and validationFor full agent DevOps details, including Agent: pseudo metadata, publish/activate, and sync-between-orgs, see:
| Need | Delegate to | Reason |
|---|---|---|
| custom object / field creation | sf-metadata | define metadata before deploy |
| Apex compile / review / fixes | sf-apex | code authoring and repair |
| Flow creation / repair | sf-flow | Flow authoring and activation guidance |
| test data or seed records | sf-data | describe-first data setup and cleanup |
| Agent Script build/publish readiness | sf-ai-agentscript | agent-specific correctness |
| Score | Meaning |
|---|---|
| 90+ | strong deployment plan and execution guidance |
| 75–89 | good deploy guidance with minor review items |
| 60–74 | partial coverage of deployment risk |
| < 60 | insufficient confidence; tighten plan before rollout |
Deployment goal: <validate / deploy / retrieve / pipeline>
Target org: <alias>
Scope: <source-dir / metadata / manifest>
Result: <passed / failed / partial>
Key findings: <errors, ordering, tests, skipped items>
Next step: <safe follow-up action>
Sponsors