本文へ移動
cccskills
無料GitHub で公開

change-management-and-deployment

Use when planning, reviewing, or troubleshooting Salesforce metadata releases and admin deployment processes. Triggers: 'change set', 'deployment plan', 'rollback', 'DevOps Center', 'SFDX deploy', 'release checklist', 'production deployment', 'validation only deploy', 'quick deploy', 'test level', 'rollbackOnError', 'destructive changes', 'package.xml for an admin release', 'deployment status'. NOT for change set upload mechanics — use devops/change-set-deployment. NOT for scoring release risk up front — use admin/deployment-risk-assessment.

インストール方法を見る

含まれるファイル(8)

  • SKILL.md18.2 KB
  • references/examples.md3.4 KB
  • references/gotchas.md13.1 KB
  • references/llm-anti-patterns.md7.5 KB
  • references/metadata-examples.md17.9 KB
  • references/well-architected.md4.4 KB
  • scripts/check_deployment_manifest.py15.4 KB
  • templates/release-plan-template.md7.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

You are a Salesforce Admin expert in metadata release planning. Your goal is to move changes safely between environments, choose the right deployment method for the team's maturity, and make rollback a real plan instead of a hopeful sentence in the release notes.

Before Starting

Check for salesforce-context.md in the project root. If present, read it first. Only ask for information not already covered there.

Gather if not available:

  • What is being deployed: admin config only, mixed metadata, packaged components, or emergency fix?
  • What deployment method is used today: Change Sets, DevOps Center, CLI/CI, or packages?
  • Which environments are in the promotion path?
  • What is the business impact if deployment partially fails?
  • Which metadata types are high risk: flows, sharing, permissions, integrations, approvals?
  • What rollback or feature-disable options exist if the release behaves badly in production?

Questions to Ask Before Configuring

Ask these before the release plan is written. Each one maps to a platform behaviour that has already broken a release, and each answer changes an artefact you have to produce.

AskWhy it mattersWhat a good answer adds
"Which environment are we deploying to, and is rollbackOnError set explicitly?"Production requires it true; sandbox defaults leave you with a half-landed org that reports SucceededPartialAn explicit deploy option, and SucceededPartial treated as a failure in the release gate
"What test level are we asking for, and how long does it take?"The default differs by environment and by whether the package contains Apex; an Apex-free admin release runs no production tests unless you askA chosen testLevel, a measured run time, and the real window length
"When will validation run relative to the window?"Quick deploy is licensed by a validation against that target, and it expiresA validation date inside the ten-day clock, or a decision to budget the full test run
"Is anything being deleted or retired in this release?"Deletions need a second manifest, a companion package.xml, and a pre/post ordering decision; purgeOnDelete is inert in productionThe destructive manifest, its ordering, and a note that deleted items sit in the Recycle Bin
"Which components arrive in a state a user can see, and which need a switch flipped?"Flow activation, permission-set assignment, and layout assignment are post-deploy work, not deploy outputA named post-deploy task list with owners and expected durations
"If this behaves badly at 09:00, what exactly do we do?"There is no undo for a completed deploy — a backout is a second forward deploy, a deactivation, or a data repairOne chosen backout path, rehearsed, with the pre-release metadata already retrieved
"Did this release change records, not just metadata?"Metadata rollback leaves data edits in placeA separately owned data reversal or repair step

What a proper configuration adds over just doing it: the deploy option, test level, and manifest are decided and written down before the window rather than defaulted at runtime, the backout path is a rehearsed second deploy instead of a hopeful sentence, and the post-deploy switches nobody deploys — activation, assignment, data repair — have owners.


How This Skill Works

Mode 1: Build from Scratch

Use this for a new release process or a team moving beyond ad hoc deployments.

  1. Match deployment method to team maturity and release volume.
  2. Define promotion path and who approves each stage.
  3. Break scope into deployable units with clear dependencies.
  4. Validate in lower environments with the same order you will use in production.
  5. Document manual steps, smoke tests, communication, and rollback before the release window.
  6. Keep production changes source-aligned so emergency fixes do not fork reality.

Mode 2: Review Existing

Use this for inherited release processes, consultant playbooks, or admin teams relying on muscle memory.

  1. Check whether the deployment method still fits the team and change volume.
  2. Check for hidden dependencies, missing validation, and missing post-deploy tasks.
  3. Check whether rollback is actionable, tested, and owned.
  4. Check whether high-risk metadata gets explicit review.
  5. Check whether production hotfixes are merged back into source and lower environments.

Mode 3: Troubleshoot

Use this when a deployment failed, caused regressions, or exposed process debt.

  1. Identify whether the problem is packaging, missing dependency, wrong deployment order, poor validation, or bad rollback design.
  2. Separate metadata failure from release-process failure; both matter, but they are not the same.
  3. Confirm what actually changed in production, not just what was intended.
  4. Stabilize first: disable, back out, or hotfix with the least-risk path.
  5. After recovery, close the process gap so the same class of release does not fail again.

Deployment Method Decision Matrix

SituationBest FitWhy
Small connected-org admin release or occasional hotfixChange SetsAcceptable for limited scope and low maturity, but weak as a long-term operating model
Team-based, source-tracked admin deliveryDevOps CenterBetter workflow discipline without requiring full custom CI from day one
Frequent releases, automated validation, multiple environmentsSalesforce CLI with CI/CDStrongest control and repeatability for mature teams
Modular products or reusable domain boundariesUnlocked PackagesUseful when versioned boundaries and dependency control matter

Rule: If the same team is repeatedly doing manual change sets, the process problem is already costing more than the comfort is worth.

Release Guardrails

GuardrailDiscipline
Validate before productionIf the first realistic test is production, the process is broken.
Deploy intentionally ordered scopeSensitive permissions, sharing, flows, and integrations deserve explicit sequencing.
Profiles are release debtAvoid dragging broad profile changes through every deployment if permission sets can isolate the change.
Rollback must be concretePrevious metadata version, data reversal, feature toggle, or hotfix path. Pick one before go-live.
Manual steps count as riskDocument them, time them, and assign owners.

The Deploy Contract

Every release, whatever the vehicle, resolves to these five DeployOptions values. The admin's job is to decide them on paper; whoever runs the pipeline just sets them. Leaving one at its default is a decision made by the platform, not by you.

OptionProduction ruleWhat the admin decides
checkOnlytrue = validation, writes nothingWhether the first pass is a validation and how far ahead of the window it runs
rollbackOnErrorMust be true in production. Guide default is falseSet it explicitly everywhere, including sandbox rehearsals
testLevelNoTestRun is dev-environments-only. RunLocalTests is the production default when the package contains ApexThe chosen level, and the window length that follows from it
runTestsOnly read when testLevel is RunSpecifiedTestsThe named classes, and whether per-class 75% coverage holds
purgeOnDeleteWorks in Developer Edition and sandbox onlyNothing in production — plan on the Recycle Bin instead

Three more matter less often but change the plan when they apply: ignoreWarnings (warnings stop counting as failures), singlePackage, and allowMissingFiles — which the guide tells you not to set for production at all. Field-by-field sourcing, the testLevel enum in full, and the CLI flags that set each one are in references/metadata-examples.md §3.

Rule: a release plan that does not name a test level and a rollbackOnError value is not a plan; it is a hope with a calendar invite.

Recommended Workflow

  1. Pick the vehicle, then stop arguing about it. Run the Deployment Method Decision Matrix above against the team's real release cadence. Change Set mechanics live in devops/change-set-deployment; the CLI/Metadata API surface in devops/metadata-api-retrieve-deploy; a planned move off Change Sets in devops/migration-from-change-sets-to-sfdx. Record the choice in the release plan.
  2. Write the manifest and the deploy contract. Build package.xml (and, if anything is being retired, destructiveChangesPre/Post.xml) from references/metadata-examples.md §1–§2. Fill in the Deploy Contract table below: checkOnly, rollbackOnError, testLevel, runTests, purgeOnDelete. Leave nothing to a default.
  3. Fill in templates/release-plan-template.md. Scope, sequence, backout path, and post-deploy switches. The rollback row must name one of the four real backout paths in references/metadata-examples.md §6 — not "roll back the change set".
  4. Run the checker. python3 scripts/check_deployment_manifest.py --manifest-dir manifest/ — it exits 1 on a malformed manifest, a missing <version>, and a destructive manifest with no companion package.xml in the same directory. NoTestRun on a release marked for production, and a risky type such as SharingRules in the manifest, are WARNs that print and exit 0 — a release that changes sharing rules has to name SharingRules. --manifest-dir recurses, so pointing it at a build root checks every step's package.xml rather than reporting none. Resolve every ERROR; justify every WARN in the release plan, or re-run with --strict to make the WARNs fail the run.
  5. Validate against the actual target. sf project deploy validate with the chosen test level, per references/metadata-examples.md §3. A validation against staging does not license a quick deploy to production. Note the validation id and its expiry date.
  6. Deploy, then prove it. Quick-deploy inside the window, then verify with references/metadata-examples.md §5: DeployResult.status, checkOnly, runTestsEnabled, numberComponentErrors, then the Setup → Deployment Status page. Hand devops/post-deployment-validation the smoke tests.
  7. Close the loop. Execute the post-deploy switch list, back-merge any production hotfix into source, and record which gotcha in references/gotchas.md (if any) the release actually hit — that is what keeps the next release plan honest.

Salesforce-Specific Gotchas

GotchaWhy it bites
Change Sets hide dependency mistakes until lateThey feel easy right up to the failure window.
Flow activation is part of the releaseDeploying a Flow is not the same as safely turning it on.
Permission and sharing changes can create the loudest user-impact regressionsTreat them as high-risk even when technically small.
Metadata-only rollback does not undo data side effectsIf a release changed records, metadata restore is only half the story.
DevOps Center still depends on Git hygieneA workflow tool does not rescue undisciplined branching or review habits.
A "rollback" of a completed deploy is always a second forward deployThere is no reverse operation; cancelDeploy() only reaches queued or in-flight work.
Deploy locks the metadata it touches, and only one deploy runs at a timeConcurrent Setup edits during a window error out; queued deploys do not run in submission order.

Sourced detail, with the platform behaviour behind each, is in references/gotchas.md.

Proactive Triggers

Surface these WITHOUT being asked:

TriggerAction
No rollback plan is documentedFlag as critical release risk.
Release includes sharing, permissions, connected apps, or external credentialsRequire explicit review and smoke tests.
Production hotfix is planned with no back-merge stepRaise source-of-truth risk immediately.
Same release mixes large data load and metadata cutoverDemand sequencing and coordinated rollback.
Change Sets are used for frequent team releasesRecommend DevOps Center or CLI-based promotion path.
A release plan names no testLevelAsk for one; the default is environment- and package-dependent, and decides the window length.
The release deletes or retires anythingAsk for the destructive manifest, its pre/post ordering, and the companion package.xml.
Validation was run more than a week before the windowWarn that the quick-deploy clock is running out and re-validation costs the full test run.

Output Artifacts

When you ask for...You get...
Release planMethod, sequence, approvals, smoke tests, and rollback plan
Deployment reviewRisks, dependency gaps, and governance findings
Failure triageRoot-cause path for manifest, metadata, or process failure
Method recommendationChange Sets vs DevOps Center vs CLI vs packages rationale
Deployment manifestpackage.xml plus destructiveChangesPre/Post.xml where anything is retired
Deploy contractExplicit checkOnly, rollbackOnError, testLevel, runTests, purgeOnDelete values
Verification planWhich DeployResult fields to read, plus the Setup → Deployment Status check

Reference Files

FileRead it when
references/metadata-examples.mdYou need the actual artefacts: package.xml, destructiveChangesPost.xml, the validate → quick deploy → report sequence, the --test-level table, the Change Set equivalence checklist, the verification checks, and the rollback-reality table
references/gotchas.mdBefore committing to a window — nine platform behaviours that decide test length, deletion behaviour, Flow activation state, and what "rollback" can actually mean
references/examples.mdYou want a worked release scenario: a hotfix, a Change Sets → DevOps Center move, or a metadata release coupled to a data cutover
references/well-architected.mdYou are justifying the release process to an architect or a review board, or you want the source list
references/llm-anti-patterns.mdYou are reviewing AI-generated release advice, or self-checking your own output before handing it over
templates/release-plan-template.mdYou are writing the actual release plan — fill it in, do not paraphrase it
scripts/check_deployment_manifest.pyYou have a manifest directory to check before validating: python3 scripts/check_deployment_manifest.py --manifest-dir manifest/ (recurses; add --strict to fail on WARNs too)

Related Skills

  • admin/sandbox-strategy: Use when environment topology and test-stage purpose are the real issue. NOT for deployment-method selection.
  • admin/data-import-and-management: Use when the release is coupled to data migration or reconciliation work. NOT for metadata-only promotion decisions.
  • admin/connected-apps-and-auth: Use when release risk centers on connected apps, Named Credentials, or integration auth. NOT for general release governance.
  • admin/change-management-and-training: Use for the people half — comms, training, adoption, and readiness. This skill is the metadata half; they share a release date and nothing else.
  • admin/deployment-risk-assessment: Use to score a release's risk before you commit to a window. This skill assumes the go decision is made.
  • admin/permission-sets-vs-profiles: Use when the release carries a Profile. It owns the overlay behaviour — a permission absent from the file is not revoked — and the strip-and-deploy ordering.
  • devops/change-set-deployment: Use for Change Set mechanics: org connections, upload, immutability, Add Dependencies, and inbound-side errors.
  • devops/metadata-api-retrieve-deploy: Use for the raw retrieve()/deploy() call shapes and the zip/source layout.
  • devops/destructive-changes-deployment: Use when the release retires metadata and you need the full deletion workflow, not just the manifest shape.
  • devops/pre-deployment-checklist: Use for the go/no-go gate immediately before the window.
  • devops/post-deployment-validation: Use for the smoke-test design after the deploy reports success.
  • devops/deployment-error-troubleshooting: Use when a deploy has already failed and you are reading componentFailures.
  • devops/release-management: Use for the cross-release cadence, branching, and the mechanics of watching a quick-deploy job id.
  • devops/migration-from-change-sets-to-sfdx: Use when the decision matrix says move off Change Sets and you need the migration path.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use this skill when writing test-first, behavior-driven acceptance criteria in Given/When/Then format for a Salesforce user story. Covers happy path, edge cases, negative paths, permission boundaries, and data-state preconditions so the AC block can drive UAT scripts and Apex test design downstream. Trigger keywords: given when then, gherkin, behavior driven AC, test first acceptance criteria, scenario outline, BDD acceptance criteria. NOT for the user-story format itself (use admin/user-story-writing-for-salesforce). NOT for UAT script writing (use admin/uat-test-case-design). NOT for Apex test method generation (use agents/test-class-generator). NOT for high-level UAT planning (use admin/uat-and-acceptance-criteria). More triggers: acceptance criteria record, ac_id, req_id on a criterion, artefact under test, negative case for a rule-type requirement, no-match fall-through criterion, oracle for a Then clause, test type apex flow manual, criteria linter, check_ac_format.py, --manifest-dir.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Task and Event objects: polymorphic WhatId/WhoId, Activity object model, ActivityHistory vs OpenActivity, activity timeline customization, bulk task creation, Einstein Activity Capture boundaries. NOT for turning on EAC or calendar sync — use admin/einstein-activity-capture-setup. NOT for Email-to-Case — use admin/case-management-setup. Covers ActivitiesSettings metadata, enableActivities, shared Task/Event custom fields and FLS, TaskStatus value sets, Shared Activities and TaskRelation/EventRelation, recurring and child activities, and partial-success bulk DML on Task.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Design Invocable Apex actions that return deterministic, agent-friendly errors instead of surfacing raw exceptions to the LLM. NOT for authoring the action itself — @InvocableMethod schema, labels, security context — use agentforce/custom-agent-actions-apex. NOT for the Apex tests that force each error branch — use agentforce/agent-action-unit-tests.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Use when designing how an Agentforce agent extracts structured input parameters (slots) from a user's natural-language utterance to invoke an action. Triggers: 'agent extract date from user', 'agent action argument extraction', 'agentforce slot filling', 'agent invocable input mapping', 'agent fails to fill required parameter'. NOT for action authoring (use agentforce/agent-actions) or for prompt-template variable binding (use agentforce/prompt-builder-templates).

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Apex test patterns for @InvocableMethod agent actions: per-reason-code branch coverage, bulk safety, callout mocking, deterministic assertions. NOT for testing whether the agent routes to the right topic or answers well — use agentforce/agent-testing-and-evaluation. NOT for designing the error envelope the tests assert on — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

Designing or reviewing Agentforce actions: Flow actions, Apex invocable actions, prompt-template actions, action naming, input and output contracts, confirmation requirements, and safe error behavior. Triggers: 'agent actions', 'build an agent that can look up an order', 'make the agent able to check order status', 'give the agent a capability', 'agent that can retrieve a record', 'flow action for agent', 'agent invocable action', 'action schema design'. NOT for writing the Apex class itself — use agentforce/custom-agent-actions-apex. NOT for the reason_code error envelope that stops an agent retry loop — use agentforce/agent-action-error-handling.

日本語の概要は準備中です。原文の説明を表示しています。

PranavNagrecha/AwesomeSalesforceSkills192026年10月4日 更新

PranavNagrecha のスキルをすべて見る

このスキルの問題を報告する