Agent skill

Dx Devops Request Status

by forcedotcom in forcedotcom/sf-skills

A skill your agent uses to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation.

Apache-2.0Auto-check passedDevelopment

Install Dx Devops Request Status

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

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

GitHub CLI
$ gh skill install forcedotcom/sf-skills dx-devops-request-status --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-request-status .claude/skills/dx-devops-request-status && 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-request-status
GitHub stars
1.1k
Token cost
~3.2k tokens
SKILL.md length
1,458 words
Files
4 (incl. scripts, references)
Skills in repo
251
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation.

  • Works in 4 steps: Authenticate and confirm the request token → Single status check (two-level semantics) → Poll until terminal (only when asked to… → …
  • Poll the status of an asynchronous DevOps Center request — a promotion
  • SKILL.md covers Scope, Required Inputs, Workflow and Rules / Constraints, plus 4 more sections
  • Runs Shell scripts from its folder; calls sf and jq

What it does

Dx Devops Request Status is an agent skill from forcedotcom/sf-skills. Use this skill to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation. Provide the request token returned by dx-devops-promote (the promote response) to check completion, monitor progress, or verify success or failure via sf devops request status. TRIGGER when the user wants to check whether a promotion or deploy finished, monitor an in-flight async request, poll until a request completes, or confirm a request succeeded before finalizing. DO NOT TRIGGER for initiating a…

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `examples/polling-workflows.md`, `references/cli-commands.md` and `scripts/poll-status.sh`).

It sits in Development, covering Async programming. 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

  • Poll the status of an asynchronous DevOps Center request — a promotion
  • Deploy operation
  • The user wants to check whether a promotion
  • Deploy finished

Example prompts

  • “/dx-devops-request-status”

Requirements

  • A Bash shell

Workflow steps

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

  1. Authenticate and confirm the request token
  2. Single status check (two-level semantics)
  3. Poll until terminal (only when asked to wait)
  4. Report

What it can do on your machine

Read from SKILL.md and the folder at commit e5164d9. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    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 Request Status loads about 3.2k tokens when it runs, and up to ~5.2k if it reads all its reference files. Until then it costs about 186 tokens; SKILL.md has 1,458 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

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

Download SKILL.mdSave it as .claude/skills/dx-devops-request-status/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
dx-devops-request-status
description
Use this skill to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation. Provide the request token returned by dx-devops-promote (the promote response) to check completion, monitor progress, or verify success or failure via sf devops request status. TRIGGER when the user wants to check whether a promotion or deploy finished, monitor an in-flight async request, poll until a request completes, or confirm a request succeeded before finalizing. DO NOT TRIGGER for initiating a promotion or deploy (use dx-devops-promote), for work item creation or status transitions (use dx-devops-work-item-manage), or for conflict detection. Read-only status check — never mutates pipeline state.
metadata.version
1.0
metadata.domains
Developer Experience
metadata.minApiVersion
58.0
metadata.relatedSkills
dx-devops-promote, dx-devops-work-item-manage

DevOps Center Request Status

Polls the status of an asynchronous DevOps Center request — a promotion or deploy operation — by its request token via sf devops request status. Provides headless, --json-driven, read-only status checks for autonomous release workflows in CI. This skill never mutates pipeline state; it only reports the current status of an in-flight or completed request.

Scope

  • In scope: Check the status of a single async request by its request token; interpret the two-level outcome (request-processing .result.status vs. the .result.errorDetails failure oracle); poll with backoff until a request finishes or a caller-supplied timeout is reached; surface parsed error details on failure
  • Out of scope: Initiating a promotion or deploy (use dx-devops-promote), work item creation/status updates (use dx-devops-work-item-manage), conflict detection, running sf devops promotion complete (that is the caller's next step after this skill confirms success), pipeline or project setup

Required Inputs

Gather or infer before proceeding:

  • Request token (required): the request token returned in the dx-devops-promote promote response. Passed via -i/--request-token. Without it, this skill cannot proceed — ask for it or obtain it from the prior promote step's output
  • Target org: -o/--target-org <alias> (required unless the target-org config variable is set)

Defaults unless specified:

  • Output format: --json for headless consumption
  • Polling interval: 10 seconds between checks; cap total wait at a caller-supplied timeout (default 30 minutes). Never poll faster than every 5 seconds — DOCe API rate limits apply

If the user gives a clear request ("check request a0B…", "poll request a0B… until it finishes"), proceed once you have the request token.


Workflow

All operations use sf devops request status with --json output. This skill is read-only — it issues no mutations. The command's flags and JSON output schema are documented in references/cli-commands.md.

Phase 1 — Authenticate and confirm the request token
  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 -o/--target-org <alias> on every subsequent command (required unless the target-org config variable is set)
  2. Confirm you have a request token. If the user initiated a promotion in the same session, reuse the request token captured from the dx-devops-promote promote response. If no token is available, STOP and ask for it — do NOT guess or fabricate a token.

Phase 2 — Single status check (two-level semantics)

CRITICAL: .result.status (uppercase, e.g. SUCCESS) reports whether the async request finished processing — NOT whether the underlying deploy succeeded. A request can show status: "SUCCESS" while the deployment itself failed. The real outcome oracle is .result.errorDetails: non-null errorDetails means the operation failed, even when status == SUCCESS.

  1. Run a single status check with scripts/poll-status.sh --once, which queries the request once and derives the true outcome deterministically (glob-matches the operation-prefixed .result.status suffix, then applies the .result.errorDetails failure oracle). Do NOT hand-roll the JSON parsing in prose — the script owns the two-level rule so it stays consistent with the polling path:
    bash
    scripts/poll-status.sh --once <request-token> <target-org-alias>
    Interpret the exit code (the script prints a human-readable line to match):
    • 0 — request finished and the operation succeeded (errorDetails null) → hand back to the caller
    • 2 — request finished but the operation FAILED (status suffix *FAILED*/*ERROR*/*CANCELED*, or a *SUCCESS* status with non-null errorDetails) → the printed line carries the parsed errorType/errorMessage
    • 4 — request is still processing (non-terminal suffix) → proceed to Phase 3 to poll, or report in-progress for a one-shot check
    • 1 — query/usage error (bad token, auth, or missing dependency)
Phase 3 — Poll until terminal (only when asked to wait)
  1. Poll with a bounded loop when the user asks to wait for completion. Run scripts/poll-status.sh and report the final status it prints:
    bash
    scripts/poll-status.sh <request-token> <target-org-alias> [interval-seconds] [timeout-seconds]
    • The script polls every interval-seconds (default 10), never sleeps past timeout-seconds, stops on a terminal request state, and applies the same two-level outcome check as --once. Exit codes: 0 = finished + succeeded (errorDetails null), 2 = finished but the operation failed (errorDetails set, or status suffix *FAILED*/*ERROR*/*CANCELED*), 3 = timeout, 1 = query/usage error
    • It is a read-only loop — it issues only sf devops request status queries, never mutations
    • Do NOT hand-roll a polling loop in prose; the script enforces the interval floor, exact timeout, terminal-state detection, and the errorDetails outcome check deterministically
Phase 4 — Report
  1. Report the outcome:
    • On success (finished, errorDetails empty): "Request <token> completed successfully." — then remind the caller that promotion finalization (sf devops promotion complete) is the next step, owned by dx-devops-promote
    • On failure (finished, errorDetails set — even if status == SUCCESS): "Request <token> failed." plus the errorType / errorMessage parsed from errorDetails and the message field — do NOT retry or remediate here; that is the caller's decision
    • On timeout (still processing): report the last observed request status and the elapsed wait; suggest polling again later — do NOT report success or failure for a request that has not finished processing

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

Rules / Constraints

ConstraintRationale
Read-only — never mutate pipeline stateThis skill only reports status; promotion/deploy/complete are owned by other skills
A request token is mandatoryStatus cannot be checked without the -i/--request-token from the promote response; never fabricate one
sf devops request status must use --jsonStructured output is required for headless consumption; human-readable output is unreliable to parse
Read .result.status and .result.errorDetails via jq, never by eyeballingDeterministic parsing prevents misreading a still-processing request as done
A *SUCCESS* status is NOT proof of success — check errorDetails.result.status reports the async request finished, not that the deploy succeeded; a PROMOTE_SUCCESS request can carry a failed deploy in errorDetails
Non-null .result.errorDetails means the operation FAILEDerrorDetails is the outcome oracle; it is an escaped JSON string (errorType/errorMessage) that must be parsed with jq/fromjson
.result.status is operation-prefixed — match the suffix, not a bare tokenReal values are PROMOTE_IN_PROGRESS/PROMOTE_SUCCESS/DEPLOY_FAILED; exact-matching bare IN_PROGRESS/SUCCESS would misclassify (and a poller would hang until timeout)
A request is only "done" at a terminal suffix (*SUCCESS*/*FAILED*/*ERROR*/*CANCELED*)Reporting an *_IN_PROGRESS/*_PENDING/*_QUEUED request as done corrupts the caller's release decision
Never poll faster than every 5 secondsDOCe API rate limits; unbounded fast polling risks throttling
Bound every polling loop with a timeoutPrevents infinite waits and turn/timeout exhaustion in CI
Never run sf devops promotion complete from this skillFinalization is the caller's step after this skill confirms success
Pass the token as a CLI flag, never interpolate into shell stringsPrevents prompt/command injection via crafted tokens
Never use interactive promptsSkills run headless; all inputs must be CLI flags

Gotchas

IssueResolution
No request token providedSTOP and ask for it, or obtain it from the prior dx-devops-promote promote response. Never guess
status: "*SUCCESS*" but the deploy actually failedThe most important trap: a *SUCCESS* status only means the request finished. Check .result.errorDetails — if non-null, the operation FAILED. Parse it: jq -r '.result.errorDetails | fromjson | "\(.errorType): \(.errorMessage)"'
errorDetails is a string, not an objectIt is escaped JSON (e.g. "{\"errorType\":\"DEPLOYMENT_FAILURE\",...}"); pipe through fromjson before reading .errorType/.errorMessage
Status is operation-prefixed (PROMOTE_SUCCESS, DEPLOY_FAILED)Match on the suffix with globs (*SUCCESS*, *FAILED*); exact-matching bare SUCCESS/FAILED misclassifies a prefixed value — a poller would treat PROMOTE_IN_PROGRESS as unknown and hang until timeout
Reporting a still-processing request as completeTerminal suffixes are *SUCCESS*/*FAILED*/*ERROR*/*CANCELED*; treat *_IN_PROGRESS/*_PENDING/*_QUEUED/*_NEW/*_STARTED as not done — keep polling or report in-progress
No default org setRun sf org display --json; if it fails, instruct the user to run sf org login web --set-default
Rate-limit / throttle errors while pollingIncrease the interval (back off); never poll below the 5-second floor
Infinite waitAlways pass a timeout to scripts/poll-status.sh; on timeout, report the last status rather than blocking
Confusing request failure with skill failureA Failed request status is a valid result — report it clearly; do not treat it as a skill error or retry blindly

Output Expectations

Deliverables vary by mode:

  • Single check: .result.status (request-processing state) plus the derived outcome — on failure, the errorType/errorMessage parsed from .result.errorDetails and the .result.message field
  • Poll-to-completion: the derived terminal outcome (succeeded or failed, per the errorDetails check) plus elapsed wait, or the last observed request status if the timeout was reached first

Outputs are derived from sf devops request status. This skill produces no artifacts and mutates nothing.


Cross-Skill Integration

WhenAction
A promotion or deploy must be initiated first to get a request tokenDelegate to dx-devops-promote
Outcome is success (finished, errorDetails null) and the promotion still needs finalizingHand back to dx-devops-promote to run sf devops promotion complete
Status reports Failed due to a metadata conflictReport the conflict from errorDetails; hand back to dx-devops-promote to resolve and re-promote

Reference File Index

FileWhen to read
references/cli-commands.mdWhen you need the sf devops request status flags, JSON output schema, status-value vocabulary, or error-handling patterns
examples/polling-workflows.mdWhen the user's request matches a common pattern (one-shot check, poll-until-done after a promote, timeout handling, failure reporting)
scripts/poll-status.shPhase 2 — invoke with --once for a single deterministic status check; Phase 3 — invoke without --once to poll a request token with a bounded interval and exact timeout until it reaches a terminal state

© 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 3 other files (scripts, references) in skills/dx-devops-request-status of forcedotcom/sf-skills.

  • SKILL.md
  • examples/polling-workflows.md
  • references/cli-commands.md
  • scripts/poll-status.sh

Open the folder on GitHubat commit e5164d9

Compare with similar skills

Dx Devops Request Status 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 Request Status compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Dx Devops Request Status this skillforcedotcom/sf-skills1.1k—~3.2kAutomated safety check: PassApache-2.0
YugabyteDB ASH Instrumentationyugabyte/yugabyte-db11k—~4.5kAutomated safety check: PassCustom licence
Mirage VFS Adapter Authoringstrukto-ai/mirage3.7k—~2.5kAutomated safety check: PassApache-2.0
Golang Patternsantoniopaya22/go-rest-template1729 repos~3.5kAutomated safety check: PassNone
Rust Async Patternsdiodeme/Gold-Band14310 repos~3.1kAutomated safety check: PassAGPL-3.0
Swift Concurrencyhenrypldev/react-native-nitro-mlx1003 repos~3.1kAutomated safety check: PassMIT

Similar skills

  • YugabyteDB ASH Instrumentation

    yugabyte/yugabyte-db

    Procedure for adding or changing YugabyteDB Active Session History wait states in TServer and DocDB C++ code, including the macro to use for sync and async paths.

    11k GitHub stars~4.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Builds or extends a custom Mirage virtual filesystem adapter for an API, database, object store or app data, with a working mount configuration and filesystem tests.

    3.7k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Golang Patterns

    antoniopaya22/go-rest-template

    Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.

    172 GitHub starsUsed in 9 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Rust Async Patterns

    diodeme/Gold-Band

    Master Rust async programming with Tokio, async traits, error handling, and concurrent patterns.

    143 GitHub starsUsed in 10 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Swift Concurrency

    henrypldev/react-native-nitro-mlx

    Diagnose Swift Concurrency issues, refactor callback-based code to async/await, and guide Swift 6 migration when working with tasks, actors, @MainActor, Sendable, data races, thread safety, or…

    100 GitHub starsUsed in 3 repos~3.1k tokens
    DevelopmentAuto-check passed
  • Rust Engineer

    farm-fe/farm

    Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions.

    5.6k GitHub starsUsed in 1 repo~1.5k tokens
    DevelopmentAuto-check passed

More from forcedotcom/sf-skills

All 251 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~4.5k tokensUpdated yesterday
    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~3.4k tokensUpdated yesterday
    Auto-check passed
  • Apply a Salesforce sandbox post-copy automation JSON config against a target org.

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

    1.1k GitHub stars~5.4k tokensUpdated yesterday
    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 yesterday
    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 yesterday
    Auto-check passed

Categories

Questions about Dx Devops Request Status

What does Dx Devops Request Status do?

A skill your agent uses to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation. Dx Devops Request Status is an agent skill from forcedotcom/sf-skills. Use this skill to poll the status of an asynchronous DevOps Center request — a promotion or deploy operation.

When should I use Dx Devops Request Status?

Dx Devops Request Status fits situations like: poll the status of an asynchronous DevOps Center request — a promotion; deploy operation; the user wants to check whether a promotion; deploy finished.

How do I install Dx Devops Request Status in Claude Code?

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

How do I install Dx Devops Request Status in Codex?

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

Can I use Dx Devops Request Status 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-request-status -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-request-status, .gemini/skills/dx-devops-request-status, .github/skills/dx-devops-request-status and .opencode/skills/dx-devops-request-status in your project.

What does Dx Devops Request Status need to run?

Going by SKILL.md and its folder, Dx Devops Request Status needs a shell for the scripts in its folder and the command-line tools its instructions call (sf and jq). Our summary lists: A Bash shell.

Does Dx Devops Request Status 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 Request Status 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Dx Devops Request Status use?

Dx Devops Request Status 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 Request Status use?

About 3.2k tokens (SKILL.md is roughly 13k 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 2k tokens, read only when the agent opens those files.

What are the alternatives to Dx Devops Request Status?

Skills that share tags, products or a category with Dx Devops Request Status: YugabyteDB ASH Instrumentation (yugabyte/yugabyte-db, 11k stars), Mirage VFS Adapter Authoring (strukto-ai/mirage, 3.7k stars), Golang Patterns (antoniopaya22/go-rest-template, 172 stars) and Rust Async Patterns (diodeme/Gold-Band, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Dx Devops Request Status?

forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 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.