Promote
alirezarezvani/claude-skills
Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement.
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…
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .claude/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promoteType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/dx-devops-promote .agents/skills/dx-devops-promote && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .agents/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/dx-devops-promote .cursor/skills/dx-devops-promote && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .cursor/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/forcedotcom/sf-skills.git --path skills/dx-devops-promote--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/dx-devops-promote .gemini/skills/dx-devops-promote && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .gemini/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install forcedotcom/sf-skills dx-devops-promoteInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/dx-devops-promote .github/skills/dx-devops-promote && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .github/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill dx-devops-promote -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install forcedotcom/sf-skills dx-devops-promote --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/dx-devops-promote .opencode/skills/dx-devops-promote && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dx-devops-promote" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-devops-promote into .opencode/skills/dx-devops-promote/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-devops-promote", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dx-devops-promoteA 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. 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.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3c15867. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
sfjqFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from forcedotcom/sf-skills at commit 3c15867, republished under its Apache-2.0 licence (© forcedotcom). 1,670 words, ~3,819 tokens.
.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.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.
dx-devops-work-item-manage), conflict detection, polling an existing promotion's status, pipeline or project setup (separate skills)Gather or infer before proceeding:
--target-stage-id — the pipeline stage to promote tosf devops promote takes --work-item-id (repeatable) XOR --stage-id--target-org <alias> (required unless the target-org config variable is set)Defaults unless specified:
--json for headless consumption--test-level for development-stage deploys (defaults to NoTestRun); use RunLocalTests for production-stage deploys with ApexIf 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.
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.
Verify org authentication before any operation:
sf org display --jsonsf org login web --set-default --alias <alias>--target-org <alias> on every subsequent command (required unless the target-org config variable is set)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:
# 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)--work-item-id to validate multiple work items in one callstatus == 0 and .result.success == true — proceedVCS_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.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_JSONPrepare the work item for promotion:
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 toCombine 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):
# 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[]')
fiThen combine using those derived values (skip this command entirely when COMBINE is not "true"):
sf devops work-item combine \
--parent-work-item-id "$PARENT_ID" \
"${CHILD_ARGS[@]}" \
--target-stage-id <stage-id> \
--target-org <alias> \
--jsonCHILD_ARGS expands to one --child-work-item-id <id> pair per child work item--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:--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:sf devops promote \
--work-item-id <id> \
--target-stage-id <target-stage-id> \
--skip-validation \
--target-org <alias> \
--json--skip-validation line only if Phase 1 validate passed this session):sf devops promote \
--stage-id <source-stage-id> \
--target-stage-id <target-stage-id> \
--skip-validation \
--target-org <alias> \
--jsonsf 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--deploy-all to deploy all metadata in the branch rather than only changes not yet in the target stage--test-level RunLocalTests (or RunSpecifiedTests --tests <names>) for production-stage deploys that include Apex.resultComplete the promotion to finalize — advances the work items in the target stage:
sf devops promotion complete --target-stage-id <target-stage-id> --target-org <alias> --json--target-stage-id is required (same target stage the work items were promoted to)Report the outcome:
<id>. Poll this ID to confirm deploy completion, then run promotion complete."| Constraint | Rationale |
|---|---|
| Validate ALWAYS runs first | Guarantees preconditions are met before any mutation; skipping it can corrupt pipeline state |
All sf devops commands must use --json | Structured 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 promote | These 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 session | The 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 identifier | The promote deploy does not complete synchronously; completion is tracked separately |
| Do NOT busy-wait for deploy completion in this skill | Polling is a separate concern; blocking here wastes turns and risks timeouts |
| Combine only when work items share metadata/dependencies | Combining is for conflict-prone or dependent items, not a default for every multi-item promotion |
| Prepare is idempotent | Retry-safe for CI; re-running a completed prepare is a no-op |
| Never use interactive prompts | Skills run headless; all inputs must be CLI flags |
| Pass IDs as CLI flags, never interpolate into shell strings | Prevents prompt/command injection via crafted identifiers |
| Issue | Resolution |
|---|---|
| Validation fails | STOP — do not prepare/combine/promote. Report the non-zero status / error message; if metadata overlap, resolve the conflict before retrying |
| No default org set | Run 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 ID | Promotion 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 supplied | They are mutually exclusive; pick specific work items OR a source stage, not both |
Missing --target-stage-id | Required on every promotion command (validate, prepare, combine, promote, complete); obtain the target stage ID from the pipeline configuration |
| Combined promotion promotes the wrong item | After work-item combine, promote the parent work item ID — children merge into the parent's branch |
| Treating the deploy as synchronous | The promote deploy is async; capture the identifier and confirm completion before running promotion complete |
| Production deploy fails on Apex coverage | Set --test-level RunLocalTests (or RunSpecifiedTests --tests <names>) for production-stage promotions with Apex |
| Deploy fails with conflict | A conflict slipped past validate; resolve the metadata conflict, then re-validate and retry |
Deliverables vary by operation:
.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 stageOutputs 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.
| When | Action |
|---|---|
| Work item must be created or moved to a promotable status first | Delegate to dx-devops-work-item-manage |
| Validation reports metadata overlap / conflict | Resolve the metadata conflict before retrying |
| The promote deploy identifier must be polled to confirm completion | Poll the returned identifier separately, then run sf devops promotion complete |
| File | When to read |
|---|---|
references/cli-commands.md | When you need detailed CLI flag documentation, JSON output schemas, or error-handling patterns for validate/prepare/combine/promote/complete |
examples/promotion-workflows.md | When 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
SKILL.md and 2 other files (references) in skills/dx-devops-promote of forcedotcom/sf-skills.
Open the folder on GitHubat commit 3c15867
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dx Devops Promote this skillforcedotcom/sf-skills | 1.1k | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Promotealirezarezvani/claude-skills | 28k | 2 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Checkpoint Promotionwshobson/agents | 40k | — | ~2k | Automated safety check: Pass | MIT | |
| Warp Feature Flag Promotionwarpdotdev/warp | 65k | 1 repos | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Promote Betaudecode/plate | 17k | — | ~359 | Automated safety check: Pass | Custom licence | |
| Command Center UIsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.1k | Automated safety check: Pass | MIT |
alirezarezvani/claude-skills
Graduate a proven pattern from auto-memory (MEMORY.md) to CLAUDE.md or .claude/rules/ for permanent enforcement.
wshobson/agents
Gate fine-tuned checkpoints with drift budgets, paired comparison, and forgetting checks before promotion.
warpdotdev/warp
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.
udecode/plate
Compatibility entrypoint for beta promotion. An agent skill from udecode/plate.
sickn33/agentic-awesome-skills
Web and App implementation guide for Command Center UI. An agent skill from sickn33/agentic-awesome-skills.
sickn33/agentic-awesome-skills
Promotion register: current and requested role and grade, justification, OKR and behaviour scores, time in role, salary proposal and decision.
forcedotcom/sf-skills
Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.
forcedotcom/sf-skills
Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.
forcedotcom/sf-skills
Lightning Web Components with PICKLES methodology and 165-point scoring.
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.
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.
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.
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.
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.
Going by SKILL.md and its folder, Dx Devops Promote needs the command-line tools its instructions call (sf and jq).
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.
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.
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.
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.
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.
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.