Dx Devops Work Item Manage
Use this skill to manage the full lifecycle of DevOps Center work items — list, create, update, commit changes, perform status transitions, and create pull requests. Update fields like subject, description, and status. Commit and push code changes to work item branches. Create pull requests for work item branches via DevOps Center API. Invoke when the user wants to track, find, create, or update a work item, commit changes to a work item branch, advance a work item's status through the pipeline, or create a pull request for code review. Consolidates sf devops work-item and review operations. DO NOT TRIGGER for promotion or deployment operations, or conflict detection.
- Skill ID
- forcedotcom/sf-skills/dx-devops-work-item-manage
- Publisher
- forcedotcom
- Repository
- sf-skills
- Installs
- 0
- Files
- 3
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
forcedotcom/sf-skills/dx-devops-work-item-manageInstalls these files- SKILL.md
- examples/common-workflows.md
- references/cli-commands.md
What this skill tells the agent
DevOps Center Work Item Management
Manages the complete work item lifecycle in DevOps Center — from creation through status transitions to promotion readiness. Provides headless CLI-driven operations for autonomous release workflows.
Scope
- In scope: List work items, create new work items, commit changes to work item branches, update work item fields (subject, description, status), transition work item status (New → In Progress → Ready to Promote), create pull requests for work item branches
- Out of scope: Promotion/deployment, conflict detection, pipeline or project management (separate skills)
Required Inputs
Gather or infer before proceeding:
- Operation type: list, create, update, commit, or create-review
- For list: project ID (required) — obtain via
sf devops project list --jsonif not provided - For create: project ID (required), subject (required), description (optional)
- For commit: work item name or ID (required) to retrieve branch name, files to commit, commit message
- For update: work item name (e.g., WI-000001) or work item ID (required), fields to update (subject, description, status)
- For create-review: work item name (e.g., WI-000001) or work item ID (required)
Defaults unless specified:
- Output format:
--jsonfor headless consumption - Work item identifier: prefer
--work-item-name(WI-000001) over--work-item-idwhen both are available (names are human-readable)
If the user provides a clear request ("list work items for Project Alpha", "create work item to fix login bug", "move WI-12345 to In Progress", "create PR for WI-12345"), proceed immediately without unnecessary questions.
Workflow
All operations use sf devops work-item CLI commands with --json output for structured consumption.
Phase 1 — Identify Operation
- Determine the operation type from user intent:
- Keywords like "list", "show", "find" → list operation
- Keywords like "create", "new", "add" → create operation
- Keywords like "commit", "push", "save changes", "git commit" → commit operation
- Keywords like "update", "change", "modify", "edit", "move", "transition", "advance", "mark as" → update operation
- Keywords like "create PR", "pull request", "code review", "review", "open PR" → create-review operation
Phase 2 — Execute Operation
- Verify org authentication before any operation: ``
bash sf org display --json``
- If no default org is set or authentication has expired, instruct the user to run: ``
bash sf org login web --set-default --alias <alias>`` - Verify the authenticated org has DevOps Center enabled by attempting to list projects
- If the user wants to target a specific org, use
--target-org <alias>on all subsequent commands
- List work items — when the user wants to see existing work items: ``
bash sf devops work-item list --project-id <project-id> --json``
--project-idis required — if the user provides a project name instead of ID, first runsf devops project list --jsonto resolve the name to an ID- Verify the command returns status 0 (success)
- Parse the JSON output: the work items are in the
.result[]array - Each work item has:
name(e.g., WI-000001),subject,branch,environment,status,description - Present in a readable format showing work item name, subject, status, branch, and environment
- If
.result[]is an empty array, confirm "No work items found in project <project-name>." - If the user requested filtering by status (e.g., "show work items in Ready to Promote status"), run: ``
bash sf devops work-item list --project-id <id> --json | jq '.result[] | select(.status == "<requested-status>")'`` Then present the matching work items
- Create a work item — when the user wants to create a new work item: ``
bash sf devops work-item create \ --project-id <project-id> \ --subject "<subject>" \ --description "<description>" \ --json``
--project-idis required (obtain from user or viasf devops project list --json)--subjectis required (user-facing title)--descriptionis optional (defaults to blank if omitted)- Capture the returned work item name (e.g., WI-000001), branch name, and environment from JSON output for future operations
- Idempotent: if the user attempts to create a duplicate (same subject + project), check via list first and return the existing work item
- Execute commit operation — when operation type is commit:
- DevOps Center creates a dedicated feature branch for each work item (returned in the create operation)
- The user must commit and push changes to this branch before transitioning status or creating a PR
- Standard git workflow: ``
bash git checkout <branch-name> git add <files> git commit -m "<commit-message>" git push origin <branch-name>`` - The branch name is available from the work item's
branchfield (retrieve via list or create operation) - Changes must be committed before the work item can be marked "Ready to Promote" or before creating a PR
- Update work item — when the user wants to change subject, description, or status: ``
bash sf devops work-item update \ --work-item-name <WI-name> \ --subject "<new-subject>" \ --description "<new-description>" \ --status "<In Progress|Ready to Promote>" \ --json``
- Work item identifier is required: use
--work-item-name <WI-000001>(preferred) or--work-item-id <id> - If the user provides a work item by subject instead of name, resolve it to a name first: ``
bash sf devops work-item list --project-id <id> --json | jq -r '.result[] | select(.subject == "<user-provided-subject>") | .name'`` Then pass the returned name (e.g., WI-000001) to the update command - At least one of
--subject,--description, or--statusmust be provided - Valid status values: "In Progress" or "Ready to Promote" (exact strings with spaces)
- Only include flags for fields being updated (omit unchanged fields)
- Verify the command returns status 0 (success)
- Parse the JSON response:
.result.name,.result.subject,.result.statuscontain the updated values - For status transitions specifically: after the command completes, explicitly confirm the new status by checking
.result.statusin the response. If the status field is absent from the update response, re-query the work item via list to verify the status persisted
- Create pull request — when the user wants to create a PR for code review: ``
bash sf devops review create \ --work-item-name <WI-name> \ --json``
- Work item identifier is required: use
--work-item-name <WI-000001>(preferred) or--work-item-id <id> - If the user provides a work item by subject instead of name, resolve it to a name first: ``
bash sf devops work-item list --project-id <id> --json | jq -r '.result[] | select(.subject == "<user-provided-subject>") | .name'`` Then pass the returned name (e.g., WI-000001) to the review create command - Creates PR via DevOps Center API using VCS credentials stored in the org
- No local VCS authentication required — DevOps Center handles GitHub/Bitbucket auth
- Works with GitHub and Bitbucket
- Verify the command returns status 0 (success)
- Parse the JSON response:
.result.pullRequestUrlcontains the PR URL,.result.statuscontains the PR status (typically "open" for newly created PRs),.result.numbercontains the PR number - If the command fails with a VCS credentials error, instruct the user to configure VCS credentials in the DevOps Center org (Setup → DevOps Center → VCS Credentials)
More from forcedotcom
Use this skill in a project
Open any RiverX project, search the Skills panel for forcedotcom/sf-skills/dx-devops-work-item-manage, and install it in one click.
