Agent skill

Dx Devops Promote

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share…

Apache-2.0Auto-check passed

Install Dx Devops Promote

skills CLI
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dx-devops-promote .claude/skills/dx-devops-promote && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
dx-devops-promote
GitHub stars
1.1k
Token cost
~3.8k tokens
SKILL.md length
1,670 words
Files
3 (incl. references)
Skills in repo
248
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share…

  • Works in 4 steps: Authenticate and Validate → Prepare (and optionally Combine) → Promote → …
  • Drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions
  • SKILL.md covers Scope, Required Inputs, Workflow and Rules / Constraints, plus 4 more sections
  • Calls sf and jq

What it does

Dx Devops Promote is an agent skill from forcedotcom/sf-skills. Use this skill to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share metadata, promote one or more work items or an entire stage to a target pipeline stage, and complete the promotion to finalize the deployment. TRIGGER when the user wants to promote a work item, advance changes to the next environment or stage, combine work items for a single promotion, or move metadata through the release…

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `examples/promotion-workflows.md` and `references/cli-commands.md`).

The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.

When your agent uses it

  • Drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions
  • Prepare work items
  • Optionally combine work items that share metadata
  • More work items

Example prompts

  • “/dx-devops-promote”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Authenticate and Validate
  2. Prepare (and optionally Combine)
  3. Promote
  4. Complete and Report

What it can do on your machine

Read from SKILL.md and the folder at commit 3c15867. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • sf
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Dx Devops Promote loads about 3.8k tokens when it runs, and up to ~6.6k if it reads all its reference files. Until then it costs about 191 tokens; SKILL.md has 1,670 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~191
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from forcedotcom/sf-skills at commit 3c15867, republished under its Apache-2.0 licence (© forcedotcom). 1,670 words, ~3,819 tokens.

Download SKILL.mdSave it as .claude/skills/dx-devops-promote/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
dx-devops-promote
description
Use this skill to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share metadata, promote one or more work items or an entire stage to a target pipeline stage, and complete the promotion to finalize the deployment. TRIGGER when the user wants to promote a work item, advance changes to the next environment or stage, combine work items for a single promotion, or move metadata through the release pipeline. The mandatory validate step runs automatically at the start. DO NOT TRIGGER for work item creation or status updates (use dx-devops-work-item-manage), for conflict detection, or for polling an existing promotion's status.
metadata.version
1.0
metadata.domains
Developer Experience
metadata.minApiVersion
58.0
metadata.relatedSkills
dx-devops-work-item-manage

DevOps Center Promotion

Drives the full promotion workflow in DevOps Center — validate, prepare, optionally combine, promote, and complete — moving work items through the release pipeline. Provides headless, --json-driven, idempotent operations for autonomous release workflows in CI. Every promotion begins with a mandatory validate step.

Scope

  • In scope: Validate promotion preconditions, prepare a work item, combine work items that share metadata into one promotion, promote one or more work items or an entire source stage to a target stage, and complete the promotion
  • Out of scope: Work item creation/status updates (use dx-devops-work-item-manage), conflict detection, polling an existing promotion's status, pipeline or project setup (separate skills)

Required Inputs

Gather or infer before proceeding:

  • Promotion target: one or more specific work items, or all approved work items in a source stage
  • Target stage ID (required for every promotion command — validate, prepare, combine, promote, and complete): --target-stage-id — the pipeline stage to promote to
  • Work item ID(s) or source stage ID — depending on the promotion target. sf devops promote takes --work-item-id (repeatable) XOR --stage-id
  • For combined promotion: a parent work item ID and one or more child work item IDs that share metadata
  • Target org: --target-org <alias> (required unless the target-org config variable is set)

Defaults unless specified:

  • Output format: --json for headless consumption
  • Test level: omit --test-level for development-stage deploys (defaults to NoTestRun); use RunLocalTests for production-stage deploys with Apex

If the user gives a clear request ("promote work item 1fkxx… to stage 1QVxx…", "promote the QA stage to UAT", "combine these work items and promote"), proceed once you have the required IDs.


Workflow

All operations use sf devops CLI commands with --json output. Validate ALWAYS runs first. All promotion commands are keyed on record IDs, not work item names — resolve names to IDs first if needed.

Phase 1 — Authenticate and Validate
  1. Verify org authentication before any operation:

    bash
    sf org display --json
    • If it fails, instruct the user to run sf org login web --set-default --alias <alias>
    • Pass --target-org <alias> on every subsequent command (required unless the target-org config variable is set)
  2. Run the mandatory validate step — this is non-negotiable and always runs before prepare/combine/promote. sf devops promotion validate requires the target stage (-t/--target-stage-id) and one or more -i/--work-item-id:

    bash
    # Capture the output — Phase 2 derives the combine decision from it deterministically.
    VALIDATE_JSON=$(sf devops promotion validate --work-item-id <id> --target-stage-id <target-stage-id> --target-org <alias> --json)
    • Validates whether the work item(s) can be promoted to the target stage — checks for VCS and object-permission errors (including the associated-PR requirement) before a promotion is attempted
    • Repeat --work-item-id to validate multiple work items in one call
    • Success: status == 0 and .result.success == true — proceed
    • If validation fails (non-zero exit; e.g. VCS_ERROR: No pull request exists…, with .result.errorType/.result.errorDetails set), STOP. Report the error and do not proceed. If it references metadata overlap, resolve the conflict before retrying
    • Shared components: when .result.combineDetails is non-null, the work items share metadata — validate returns the parent/child grouping and suggestions. This is the authoritative signal for the Phase 2 combine decision (see step 4); do not guess whether to combine — the Phase 2 script reads .result.combineDetails from VALIDATE_JSON
Phase 2 — Prepare (and optionally Combine)
  1. Prepare the work item for promotion:

    bash
    sf devops work-item prepare --work-item-id <id> --target-stage-id <target-stage-id> --target-org <alias> --json
    • --target-stage-id is required — the same target stage the work item will be promoted to
    • Idempotent: re-running a prepared work item is safe — treat as success
  2. Combine work items — ONLY when the Phase 1 validate step reported shared components (.result.combineDetails non-null) or the work items otherwise have dependencies and must promote as one unit. Do not eyeball the JSON — derive the decision and the parent/child IDs deterministically from the saved validate output (VALIDATE_JSON):

    bash
    # COMBINE == "true" only when validate returned a combineDetails block.
    COMBINE=$(printf '%s' "$VALIDATE_JSON" | jq -r '(.result.combineDetails != null)')
    if [ "$COMBINE" = "true" ]; then
      PARENT_ID=$(printf '%s' "$VALIDATE_JSON" | jq -r '.result.combineDetails.parentWorkitemId')
      # one --child-work-item-id arg per child, safe for use as a flag array
      CHILD_ARGS=()
      while IFS= read -r cid; do CHILD_ARGS+=(--child-work-item-id "$cid"); done < <(
        printf '%s' "$VALIDATE_JSON" | jq -r '.result.combineDetails.childWorkitemsId[]')
    fi

    Then combine using those derived values (skip this command entirely when COMBINE is not "true"):

    bash
    sf devops work-item combine \
      --parent-work-item-id "$PARENT_ID" \
      "${CHILD_ARGS[@]}" \
      --target-stage-id <stage-id> \
      --target-org <alias> \
      --json
    • CHILD_ARGS expands to one --child-work-item-id <id> pair per child work item
    • The parent work item is the primary item that continues through the pipeline; child changes merge into the parent's branch during promotion
    • After combining, promote the parent work item ID in step 5
Phase 3 — Promote
  1. Promote to the target stage — exactly one of --work-item-id or --stage-id must be provided; --target-stage-id is always required. Pass --skip-validation ONLY when the Phase 1 validate step completed successfully in the current session for every work item being promoted. Otherwise, OMIT the flag and let the CLI run its built-in validation:
    • Promote one or more specific work items (repeat --work-item-id per item; use the parent's ID for a combined promotion). Include the --skip-validation line ONLY if Phase 1 validate passed this session; otherwise drop that line:
      bash
      sf devops promote \
        --work-item-id <id> \
        --target-stage-id <target-stage-id> \
        --skip-validation \
        --target-org <alias> \
        --json
    • Or promote all approved work items from a source stage (again, include the --skip-validation line only if Phase 1 validate passed this session):
      bash
      sf devops promote \
        --stage-id <source-stage-id> \
        --target-stage-id <target-stage-id> \
        --skip-validation \
        --target-org <alias> \
        --json
    • Why conditional: sf devops promote's built-in pre-promote validation runs the same checks as the Phase 1 sf devops promotion validate step (including the associated-PR requirement). When the full workflow ran sequentially this session, that validation already passed, so --skip-validation only eliminates a redundant re-run. But if the agent resumed mid-workflow, promotion was invoked without a preceding Phase 1 validate, or Phase 1 was not run for every work item being promoted, DO NOT pass --skip-validation — bypassing it there would skip validation entirely with no prior guard
    • Add --deploy-all to deploy all metadata in the branch rather than only changes not yet in the target stage
    • Add --test-level RunLocalTests (or RunSpecifiedTests --tests <names>) for production-stage deploys that include Apex
    • The deploy runs asynchronously — capture the returned promotion/deploy identifier from the JSON .result
Phase 4 — Complete and Report
  1. Complete the promotion to finalize — advances the work items in the target stage:

    bash
    sf devops promotion complete --target-stage-id <target-stage-id> --target-org <alias> --json
    • Run after the promote deploy succeeds to mark the promotion done in the target stage
    • --target-stage-id is required (same target stage the work items were promoted to)
  2. Report the outcome:

    • Confirm the CLI returned status 0 for each step
    • Report the promotion/deploy identifier and note that async deploy completion is tracked separately
    • Do NOT block or busy-wait inside this skill — surface the identifier and return
    • State the promotion clearly: e.g., "Work item promotion initiated (source stage → target stage). Deploy ID: <id>. Poll this ID to confirm deploy completion, then run promotion complete."

Show full SKILL.md (660 more words)Show less

Rules / Constraints

ConstraintRationale
Validate ALWAYS runs firstGuarantees preconditions are met before any mutation; skipping it can corrupt pipeline state
All sf devops commands must use --jsonStructured output is required for headless consumption; human-readable output is unreliable to parse
Commands are keyed on record IDs, not names--work-item-id, --stage-id, --target-stage-id, --parent/--child-work-item-id all take IDs; resolve names to IDs first
--target-stage-id required for every promotion command (validate, prepare, combine, promote, complete)The target stage is mandatory; the promotion has no destination without it
Exactly one of --work-item-id or --stage-id on promoteThese flags are mutually exclusive; promote either specific items or a whole source stage
Pass --skip-validation on promote ONLY if Phase 1 validate passed this sessionThe CLI's built-in pre-promote validation runs the same checks (including the associated-PR requirement) as the Phase 1 promotion validate step. Skipping is safe only when that validation already ran successfully this session; if the agent resumed mid-workflow or promotion was invoked without a preceding validate, OMIT the flag so the CLI validates
Deploy runs async — capture and report the identifierThe promote deploy does not complete synchronously; completion is tracked separately
Do NOT busy-wait for deploy completion in this skillPolling is a separate concern; blocking here wastes turns and risks timeouts
Combine only when work items share metadata/dependenciesCombining is for conflict-prone or dependent items, not a default for every multi-item promotion
Prepare is idempotentRetry-safe for CI; re-running a completed prepare is a no-op
Never use interactive promptsSkills run headless; all inputs must be CLI flags
Pass IDs as CLI flags, never interpolate into shell stringsPrevents prompt/command injection via crafted identifiers

Gotchas

IssueResolution
Validation failsSTOP — do not prepare/combine/promote. Report the non-zero status / error message; if metadata overlap, resolve the conflict before retrying
No default org setRun sf org display --json; if it fails, instruct user to run sf org login web --set-default
Passing a work item name instead of an IDPromotion commands need record IDs; resolve names via sf devops work-item list --project-id <id> --json | jq -r '.result.workItems[] | select(.subject == "<WI-subject>") | .id'
Both --work-item-id and --stage-id suppliedThey are mutually exclusive; pick specific work items OR a source stage, not both
Missing --target-stage-idRequired on every promotion command (validate, prepare, combine, promote, complete); obtain the target stage ID from the pipeline configuration
Combined promotion promotes the wrong itemAfter work-item combine, promote the parent work item ID — children merge into the parent's branch
Treating the deploy as synchronousThe promote deploy is async; capture the identifier and confirm completion before running promotion complete
Production deploy fails on Apex coverageSet --test-level RunLocalTests (or RunSpecifiedTests --tests <names>) for production-stage promotions with Apex
Deploy fails with conflictA conflict slipped past validate; resolve the metadata conflict, then re-validate and retry

Output Expectations

Deliverables vary by operation:

  • Validate: .result.success plus, when work items share metadata, .result.combineDetails / .result.suggestions. A non-zero exit (with .result.errorType/.result.errorDetails) means the work item cannot be promoted to the target stage
  • Prepare / combine: confirmation that the work item(s) are staged (combine returns the parent/child grouping)
  • Promote: an async deploy identifier and confirmation that the promotion deploy was initiated
  • Promotion complete: confirmation the work items advanced in the target stage

Outputs are derived from sf devops work-item, sf devops promote, and sf devops promotion complete CLI commands. Async deploy completion is NOT produced by the promote call — poll the returned identifier separately before completing.


Cross-Skill Integration

WhenAction
Work item must be created or moved to a promotable status firstDelegate to dx-devops-work-item-manage
Validation reports metadata overlap / conflictResolve the metadata conflict before retrying
The promote deploy identifier must be polled to confirm completionPoll the returned identifier separately, then run sf devops promotion complete

Reference File Index

FileWhen to read
references/cli-commands.mdWhen you need detailed CLI flag documentation, JSON output schemas, or error-handling patterns for validate/prepare/combine/promote/complete
examples/promotion-workflows.mdWhen the user's request matches a common pattern (single work item promotion, combined promotion, whole-stage promotion, validate-first gate)

© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/dx-devops-promote of forcedotcom/sf-skills.

  • SKILL.md
  • examples/promotion-workflows.md
  • references/cli-commands.md

Open the folder on GitHubat commit 3c15867

Compare with similar skills

Dx Devops Promote next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Dx Devops Promote compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dx Devops Promote this skillforcedotcom/sf-skills1.1k—~3.8kAutomated safety check: PassApache-2.0
Promotealirezarezvani/claude-skills28k2 repos~1.1kAutomated safety check: PassMIT
Checkpoint Promotionwshobson/agents40k—~2kAutomated safety check: PassMIT
Warp Feature Flag Promotionwarpdotdev/warp65k1 repos~1.1kAutomated safety check: PassAGPL-3.0
Promote Betaudecode/plate17k—~359Automated safety check: PassCustom licence
Command Center UIsickn33/agentic-awesome-skills47k1 repos~3.1kAutomated safety check: PassMIT

Similar skills

  • Promote

    alirezarezvani/claude-skills

    Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement.

    28k GitHub starsUsed in 2 repos~1.1k tokens
    Agent WorkflowsAuto-check passed
  • Checkpoint Promotion

    wshobson/agents

    Gate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion.

    40k GitHub stars~2k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • Walks through promoting a feature-flagged Warp feature to Dogfood, Preview or Stable, including the compile-time bridge and a safe delay before flag cleanup.

    65k GitHub starsUsed in 1 repo~1.1k tokens
    DevelopmentAuto-check passed
  • Promote Beta

    udecode/plate

    Compatibility entrypoint for beta promotion. An agent skill from udecode/plate.

    17k GitHub stars~359 tokensUpdated today
    Auto-check passed
  • Command Center UI

    sickn33/agentic-awesome-skills

    Web and App implementation guide for Command Center UI. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~3.1k tokens
    MobileAuto-check passed
  • Promotion Upgrade Requests

    sickn33/agentic-awesome-skills

    Promotion register: current and requested role and grade, justification, OKR and behaviour scores, time in role, salary proposal and decision.

    47k GitHub starsUsed in 1 repo~4.4k tokens
    Business, Finance & HRAuto-check passed

More from forcedotcom/sf-skills

All 248 skills in this repo
  • Agentforce Architecture Analyze

    forcedotcom/sf-skills

    Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.

    1.1k GitHub stars~3.6k tokensUpdated 4 days ago
    Auto-check passed
  • Agentforce D360 Analyze

    forcedotcom/sf-skills

    Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.

    1.1k GitHub stars~2.9k tokensUpdated 4 days ago
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.3k tokensUpdated 4 days ago
    Auto-check: notes
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

    1.1k GitHub stars~5.4k tokensUpdated 4 days ago
    Auto-check: notes
  • Design Systems Slds Apply

    forcedotcom/sf-skills

    Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.

    1.1k GitHub stars~3.7k tokensUpdated 4 days ago
    Auto-check passed
  • Experience Lwc Generate

    forcedotcom/sf-skills

    Lightning Web Components with PICKLES methodology and 165-point scoring.

    1.1k GitHub stars~2.4k tokensUpdated 4 days ago
    Auto-check passed

Questions about Dx Devops Promote

What does Dx Devops Promote do?

A skill your agent uses to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share…. Dx Devops Promote is an agent skill from forcedotcom/sf-skills. Use this skill to drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions, prepare work items, optionally combine work items that share metadata, promote one or more work items or an entire stage to a target pipeline stage, and complete the promotion to finalize the deployment.

When should I use Dx Devops Promote?

Dx Devops Promote fits situations like: drive the full DevOps Center promotion workflow for work items and pipeline stages — validate preconditions; prepare work items; optionally combine work items that share metadata; more work items.

How do I install Dx Devops Promote in Claude Code?

Run `npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a claude-code`. Or copy the skill folder (skills/dx-devops-promote in forcedotcom/sf-skills) into .claude/skills/dx-devops-promote in your project. Claude Code loads it when a task matches its description.

How do I install Dx Devops Promote in Codex?

Run `npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a codex`. Or copy the skill folder (skills/dx-devops-promote in forcedotcom/sf-skills) into .agents/skills/dx-devops-promote in your project. Codex loads it when a task matches its description.

Can I use Dx Devops Promote in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dx-devops-promote, .gemini/skills/dx-devops-promote, .github/skills/dx-devops-promote and .opencode/skills/dx-devops-promote in your project.

What does Dx Devops Promote need to run?

Going by SKILL.md and its folder, Dx Devops Promote needs the command-line tools its instructions call (sf and jq).

Does Dx Devops Promote access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Dx Devops Promote safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Dx Devops Promote use?

Dx Devops Promote is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Dx Devops Promote use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.

What are the alternatives to Dx Devops Promote?

Skills that share tags, products or a category with Dx Devops Promote: Promote (alirezarezvani/claude-skills, 28k stars), Checkpoint Promotion (wshobson/agents, 40k stars), Warp Feature Flag Promotion (warpdotdev/warp, 65k stars) and Promote Beta (udecode/plate, 17k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dx Devops Promote?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,058 GitHub stars. The repository holds 248 skills in this directory. The repository was last updated on October 3, 2026.

Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.