Salesforce Incident Runbook
jeremylongshore/tons-of-skills-marketplace
Run evidence-led Salesforce integration incident response from detection through containment, recovery, reconciliation, and prevention.
Configures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records…
$ npx skills add forcedotcom/sf-skills --skill service-itsm-incident-priority-configure -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills service-itsm-incident-priority-configure --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/service-itsm-incident-priority-configure .claude/skills/service-itsm-incident-priority-configure && 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 "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .claude/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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/service-itsm-incident-priority-configureType 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 service-itsm-incident-priority-configure -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills service-itsm-incident-priority-configure --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/service-itsm-incident-priority-configure .agents/skills/service-itsm-incident-priority-configure && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .agents/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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 service-itsm-incident-priority-configure -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills service-itsm-incident-priority-configure --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/service-itsm-incident-priority-configure .cursor/skills/service-itsm-incident-priority-configure && 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 "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .cursor/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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/service-itsm-incident-priority-configure--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 service-itsm-incident-priority-configure -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills service-itsm-incident-priority-configure --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/service-itsm-incident-priority-configure .gemini/skills/service-itsm-incident-priority-configure && 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 "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .gemini/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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 service-itsm-incident-priority-configureInstalls 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 service-itsm-incident-priority-configure -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/service-itsm-incident-priority-configure .github/skills/service-itsm-incident-priority-configure && 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 "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .github/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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 service-itsm-incident-priority-configure -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 service-itsm-incident-priority-configure --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/service-itsm-incident-priority-configure .opencode/skills/service-itsm-incident-priority-configure && 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 "service-itsm-incident-priority-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-itsm-incident-priority-configure into .opencode/skills/service-itsm-incident-priority-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-itsm-incident-priority-configure", 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.
service-itsm-incident-priority-configureConfigures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records…
Service Itsm Incident Priority Configure is an agent skill from forcedotcom/sf-skills. Configures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records, toggling the manual-override preference, and reading or setting the default fallback priority. Reads every value before writing, is idempotent, and requires explicit user confirmation before any mutation. Use when the user wants to view, enable, disable, set up, seed, add to, change, or remove priority matrix configuration…
Its SKILL.md is about 5.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `examples/matrix-operations.md`, `examples/render-matrix.md` and `examples/seed-full-matrix.md`).
It sits in Sales & Support, covering Incident response, CRM management and Project management. It works with Salesforce. 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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4bbae5c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadAskUserQuestionBashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
sfFrom 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.
Service Itsm Incident Priority Configure loads about 5.7k tokens when it runs, and up to ~9.8k if it reads all its reference files. Until then it costs about 245 tokens; SKILL.md has 2,767 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 noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, AskUserQuestion, Bash, 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 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 2,767 words, ~5,664 tokens.
.claude/skills/service-itsm-incident-priority-configure/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Configures the Incident Priority Matrix for Salesforce ITSM — the grid that derives an Incident's Priority from its Impact and Urgency. Covers viewing the matrix, enabling / disabling it, adding / changing / removing / seeding cells, toggling the manual-override preference, and reading / setting the default (fallback) priority.
Every read and write dispatches through the sf CLI, so this skill works on any org with the Incident Management license enabled.
Writes are idempotent (skipped when the current state already matches the target), the skill always reads before it writes, and an explicit confirm-to-write checkpoint is required before any mutation.
Problem and ChangeRequest matrices; non-ITSM Priority pickers;
SLA / milestone / entitlement setup; enabling Incident Management itself. If the user
asks about Problem or ChangeRequest, stop and say so.sf CLI ≥ 2.60 (verify with sf --version).sf — one of sf org list should show it as Connected.apiName = service-cloud-itsm-incident). Read directly
at preflight time via GET /services/data/v67.0/connect/setup/discovery/features and
filter to apiName == "service-cloud-itsm-incident" (the setup-org-preferences endpoint
for the master is not exposed on this surface — IncidentMgmtEnabled /
ITSMIncidentMgmtEnabled both 404). If status != "ENABLED", delegate to
service-itsm-incident-mgmt-configure inline to enable it (that skill runs its own
read-before-write + confirm-to-write against the same route), then resume Phase 1.CustomizeApplication (View Setup + Setup Admin).If any precondition is unmet, the CLI surfaces the raw error verbatim — do not fabricate state, surface the raw error and stop.
Every route is called through the sf CLI. Full method / path / body / response
details, the picklist extraction recipe, and gotchas live in references/sf-cli-invocation.md.
| Concern | Transport | HTTP status |
|---|---|---|
| Master Incident Mgmt pref (read) | sf api request rest GET on /services/data/v67.0/connect/setup/discovery/features, filter apiName == "service-cloud-itsm-incident" for status | 200 |
| Matrix enable flag (read/write) | sf api request rest on /services/data/v67.0/setup/org/preferences/IncPriorityMatrixEnabled | 200 |
| Manual override (read/write) | sf api request rest on /services/data/v67.0/setup/org/preferences/IncPriorityOverrideEnabled | 200 |
| Matrix rows (read) | sf data query --use-tooling-api on ServiceOpPriorityConfig | 200 |
| Matrix rows (add) | sf api request rest POST on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig | 201 |
| Matrix rows (change) | sf api request rest PATCH on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig/<Id> | 204 |
| Matrix rows (remove) | sf data delete record --use-tooling-api on ServiceOpPriorityConfig | 200 |
| Default fallback priority (read) | sf api request rest GET on /services/data/v67.0/tooling/query/?q=...StandardValueSet... | 200 |
| Default fallback priority (write) | sf project retrieve start + edit + sf project deploy start on StandardValueSet:IncidentPriority | deploy Succeeded |
| Picklist values (Incident) | sf api request rest GET on /services/data/v67.0/sobjects/Incident/describe | 200 |
| Salesforce Go step "Done" (write, after a mutation) | sf api request rest PUT on /services/data/v67.0/connect/setup/discovery/feature/service-cloud-itsm-incident/configuration/step/definePriorityMatrix/progress | 200 |
Path prefixes are load-bearing — do NOT strip them. Setup Connect API paths MUST start with
/services/data/v67.0/. Tooling REST paths MUST start with /services/data/v67.0/tooling/.
Ask only what you cannot infer:
sf CLI alias or username (--target-org <alias>). Default: the org's default target.Impact + Urgency coordinates and the resulting Priority (validated against the fetched picklist values).AskUserQuestion with the org's active Incident.Priority picklist values as options — never guess.All steps are sequential. Always read before you write. All calls go through sf CLI.
Each Phase 1 / Phase 2 read below carries a skip-if-already-known clause. Before
calling any sf command, check whether an earlier turn in this session already produced
the same fact from a successful sf invocation tied to the current --target-org
(a prior run of this skill, or an earlier sf call in the same conversation). Session
context here is per --target-org <alias>, so a different alias is a different session.
An explicit user statement is NOT cache-eligible — the picklist values, pref
booleans, matrix rows, and fallback priority all drive client-side validation and
duplicate prevention on Phase-4 mutations, so a mistaken or stale user assertion can
bypass those safeguards and create invalid or duplicate rows. When the only source is
a user statement (or you cannot identify a specific prior sf response), re-read.
sf --version — if the CLI version was already reported this session, skip step 1.describe (active Impact / Urgency / Priority picklists) — if the
Incident describe was already read for the current --target-org this session and the
three picklists are in context, skip step 2 and reuse them.IncPriorityMatrixEnabled / IncPriorityOverrideEnabled pref values — if either
was already read this session AND has not been PATCHed since, skip its Phase-2 read.ServiceOpPriorityConfig rows — if the current-org Incident rows were already
read this session AND no POST / PATCH / delete on ServiceOpPriorityConfig has
been dispatched since, skip step 5 and reuse the row list.StandardValueSet:IncidentPriority default — if the fallback priority was already
read this session AND no StandardValueSet:IncidentPriority deploy has run since,
skip step 6.When in doubt, re-check. Skip only when the fact is unambiguously in context, the
--target-org alias is unchanged, and no Phase-4 write since (a pref PATCH, a
ServiceOpPriorityConfig POST/PATCH/delete, or a StandardValueSet:IncidentPriority
deploy) could have invalidated it. A wrong skip on a live org is worse than a re-read.
sf --version was already reported this session — see Phase 0.) sf --version to confirm the CLI is available.--target-org AND the value was ENABLED
AND no write elsewhere in this session could have flipped it — see Phase 0.) sf api request rest "/services/data/v67.0/connect/setup/discovery/features" --method GET --target-org <alias>. Parse the response and filter the features[] array to the element where apiName == "service-cloud-itsm-incident"; read its status field. If status == "ENABLED", proceed to step 3. If status != "ENABLED", delegate to service-itsm-incident-mgmt-configure inline to enable the master pref (that skill runs its own confirm-to-write against the same route), then re-read this step to verify status == "ENABLED" before continuing. If the delegation is declined by the user, halt — Priority Matrix cannot function while the master is off. This is a direct read of the master pref, not a proxy — the Incident describe check that follows is a secondary sanity check, not the master-state signal.--target-org — including active Impact / Urgency / Priority picklists — is already in context this session — see Phase 0.) sf api request rest "/services/data/v67.0/sobjects/Incident/describe" --method GET --target-org <alias>. A 200 with Impact / Urgency / Priority picklist fields is a secondary sanity check. Extract active picklist values for later validation. If the describe response is large, dispatch a subagent (haiku tier) to extract just the three picklists.Dispatch these reads (all expected to return 200):
IncPriorityMatrixEnabled for the current --target-org was already read this session AND has not been PATCHed since — see Phase 0.) sf api request rest "/services/data/v67.0/setup/org/preferences/IncPriorityMatrixEnabled" --method GET --target-org <alias> — matrix enable flag. Body: {"isPreferenceEnabled": <bool>}.IncPriorityOverrideEnabled for the current --target-org was already read this session AND has not been PATCHed since — see Phase 0.) sf api request rest "/services/data/v67.0/setup/org/preferences/IncPriorityOverrideEnabled" --method GET --target-org <alias> — manual-override flag. Same body shape.ServiceOpPriorityConfig rows for the current --target-org were already read this session AND no POST / PATCH / delete on this SObject has been dispatched since — see Phase 0.) Matrix rows — sf data query --use-tooling-api --target-org <alias> --query "SELECT Id, DeveloperName, ReferenceObject, Urgency, Impact, Priority FROM ServiceOpPriorityConfig WHERE ReferenceObject = 'Incident'". Returns zero or more rows. DeveloperName is required so the add step can derive a fresh unique suffix.StandardValueSet:IncidentPriority default was already read this session AND no StandardValueSet:IncidentPriority deploy has run since — see Phase 0.) Default fallback priority — sf api request rest "/services/data/v67.0/tooling/query/?q=SELECT+Id,MasterLabel,Metadata+FROM+StandardValueSet+WHERE+MasterLabel='IncidentPriority'" --method GET --target-org <alias>. Read records[0].Metadata.standardValue, find the entry with default: true, take its valueName — that is the fallback priority.Format the rows as an Impact × Urgency grid (see examples/render-matrix.md). Steps 3–6 together are the "view" operation and the before-snapshot.
Duplicate-coordinate detection (load-bearing for Change / Remove): group the Phase-2 rows by (ReferenceObject, Urgency, Impact). If any group has more than one row, the matrix already contains duplicates (the server does not enforce uniqueness). For every operation whose target coordinate is duplicated, halt Phase 3 for that concern — do NOT ask the user to confirm a Change or Remove until they either name an explicit Id or approve a consolidation plan (see Phase 4 → Change a cell and Phase 4 → Remove a cell). Add is unaffected — the Phase-4 add path already refuses any coordinate already present in the snapshot.
AskUserQuestion, REQUIRED before any write)Present the intended change as (Concern: <before> → <after>) and require an explicit "yes" via AskUserQuestion. Proceed to Phase 4 only on explicit "yes". On "no", stop and report the current state without writing.
Read the current value of the same concern first (Phase 2 covers this), confirm the target with the user (Phase 3), then dispatch. Payload shapes and full CLI invocations for every operation live in examples/matrix-operations.md.
sf api request rest PATCH on IncPriorityMatrixEnabled with body {"desiredState": <bool>}. PATCH response echoes {"isPreferenceEnabled": <bool>}; no separate re-read needed.sf api request rest PATCH on IncPriorityOverrideEnabled with body {"desiredState": <bool>}. Does not touch matrix rows or the default priority.sf api request rest POST on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig with body {"ReferenceObject": "Incident", "Urgency": "<val>", "Impact": "<val>", "Priority": "<val>", "DeveloperName": "<unique>", "MasterLabel": "<same>"}. Payload must have ReferenceObject == "Incident" — the SObject is shared with Problem / ChangeRequest and the server accepts any string. Validate every Urgency / Impact / Priority against the fetched picklists first — the Tooling endpoint does NOT enforce picklist validation. Deduplicate against the Phase-2 snapshot: the server does NOT reject duplicates on (ReferenceObject, Urgency, Impact), so a second POST on the same coordinate silently persists as a second row and the runtime picks between them non-deterministically.(ReferenceObject=Incident, Urgency, Impact). If exactly one row matches, sf api request rest PATCH on /services/data/v67.0/tooling/sobjects/ServiceOpPriorityConfig/<Id> with body {"Priority": "<new val>"}. If zero rows match, this is an add — not a change; surface and ask. If more than one row matches (duplicates were detected in Phase 2), do NOT dispatch — report the duplicate rows with their Id / DeveloperName / current Priority, and require the user to either name the exact Id to change or approve a consolidation plan (delete the extras, then change the survivor).(ReferenceObject=Incident, Urgency, Impact). If exactly one row matches, sf data delete record --sobject ServiceOpPriorityConfig --record-id <Id> --use-tooling-api --target-org <alias>. If zero rows match, short-circuit with "nothing to remove". If more than one row matches, do NOT dispatch — report the duplicates and require the user to either name the exact Id(s) to remove or explicitly confirm "remove all rows at this coordinate".examples/seed-full-matrix.md. Validate values first, then POST each row.sf project retrieve start --metadata "StandardValueSet:IncidentPriority" --target-org <alias>, edit the file to set <default>true</default> on the target value and <default>false</default> on every other, then sf project deploy start --metadata "StandardValueSet:IncidentPriority" --target-org <alias> --wait 10. Verify with Succeeded in the deploy result.StandardValueSet query; prefs are echoed on PATCH response). If the observed state does not match the requested state, treat it as a failed write and report the raw server response verbatim.references/sf-cli-invocation.md route 10; body {"isComplete": true}, flag REQUIRED). It rides on the Phase-3 confirmation — no separate AskUserQuestion. Skip entirely on view-only reads and idempotent no-ops.examples/render-matrix.md) plus a one-line summary (e.g. Incident matrix: High/High → Critical added). Matrix changes affect only Incidents created after the write; disabling the matrix does not clear stored rows or the default priority.| Constraint | Rationale |
|---|---|
All operations run through sf CLI | Works on any org with Incident Management enabled; requires no additional setup |
| Always API v67.0 minimum | The Setup Connect API pref routes require v67+ |
| Read live state before writing | The Phase-2 snapshot is the source of truth for the confirmation prompt, the idempotency check, and the Phase-5 verify |
| REQUIRED confirm-to-write checkpoint before any mutation | Toggling prefs or changing matrix rows mutates org state; user must approve the exact plan |
| Idempotent — skip the write when the current state already matches the requested state | Avoids no-op writes; see references/sf-cli-invocation.md for the exact match rule per concern |
Validate every Impact, Urgency, Priority against the org's live picklist before dispatch | The Tooling REST endpoint does NOT enforce picklist validation; the runtime matrix evaluator does. Skipping this validation lets garbage rows into the matrix |
| Deduplicate rows client-side against the Phase-2 snapshot before add | The server does NOT enforce (ReferenceObject, Urgency, Impact) uniqueness — a second POST on the same coordinate persists as a separate row. Client-side dedup is the only guard against duplicate cells. |
Refuse any ReferenceObject other than Incident (Problem, ChangeRequest, anything else) | ServiceOpPriorityConfig is shared with the Problem / ChangeRequest matrices at the wire level — the server accepts any ReferenceObject string. Scope to Incident is skill-enforced only. |
On Change / Remove, if the target coordinate resolves to more than one row, do NOT dispatch — require an explicit Id or a confirmed consolidation plan | The server allows duplicate (ReferenceObject, Urgency, Impact) rows. Picking "the row Id" arbitrarily would mutate one duplicate and leave the other in place, keeping the matrix non-deterministic. |
| Report exact error text from the CLI response | The CLI surfaces the underlying error message verbatim |
| After a functional write, PUT the Salesforce Go step-progress completion (route 10); skip on view / no-op | The "Define Priority Matrix" step is user-override — its checkmark isn't derived from org state, so config writes alone leave the Go checklist stuck |
Before reporting completion of any mutation, confirm each of the following. If any item is unchecked, do not report success — surface what is missing.
sf api request rest on Incident describe) returned 200 with active Impact / Urgency / Priority picklists; if 404, the raw error was surfaced and the run halted.(ReferenceObject, Urgency, Impact) and any duplicate coordinates on the mutation target were surfaced to the user — no Change / Remove was dispatched until an explicit Id or a confirmed consolidation plan resolved the duplication.(<concern>: <current> → <requested>) via AskUserQuestion and the user replied with an explicit "yes" — no write dispatched on any other response (silence, "maybe", "looks good", implicit approval).Impact, Urgency, Priority in any add / change payload was validated against the Phase-1 picklist values before dispatch. Duplicates on (ReferenceObject, Urgency, Impact) were caught client-side against the Phase-2 snapshot — the server does NOT reject duplicates. Every add payload had ReferenceObject == "Incident".references/sf-cli-invocation.md; on any 4xx / 5xx (or non-Succeeded deploy), the raw response was surfaced and the run halted.write FAILED — server state differs from request with the raw response.| File | When to read |
|---|---|
references/sf-cli-invocation.md | Exact sf CLI invocations, response envelopes, picklist extraction, idempotency rules, and gotchas |
examples/render-matrix.md | Impact × Urgency grid layout |
examples/matrix-operations.md | Full CLI-invocation templates for enable, override, default, add / change / remove |
examples/seed-full-matrix.md | Seed a full matrix (validate picklist values first) |
© 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 4 other files (references) in skills/service-itsm-incident-priority-configure of forcedotcom/sf-skills.
Open the folder on GitHubat commit 4bbae5c
Service Itsm Incident Priority Configure 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 |
|---|---|---|---|---|---|---|
| Service Itsm Incident Priority Configure this skillforcedotcom/sf-skills | 1.1k | — | ~5.7k | Automated safety check: Notes | Apache-2.0 | |
| Salesforce Incident Runbookjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Integrationsbutterbase-ai/butterbase-skills | 534 | — | ~832 | Automated safety check: Pass | MIT | |
| Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib | 154 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Sf DatacloudJaganpro/sf-skills | 424 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Soql Lib Selectorbeyond-the-cloud-dev/soql-lib | 154 | — | ~2k | Automated safety check: Pass | MIT |
jeremylongshore/tons-of-skills-marketplace
Run evidence-led Salesforce integration incident response from detection through containment, recovery, reconciliation, and prevention.
butterbase-ai/butterbase-skills
Use BEFORE recommending or installing any third-party SaaS SDK for email (Resend, SendGrid, Postmark, Mailgun), SMS (Twilio), messaging (Slack), calendar (Google Calendar), CRM (HubSpot…
beyond-the-cloud-dev/soql-lib
Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).
Jaganpro/sf-skills
Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.
beyond-the-cloud-dev/soql-lib
Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.
Portwood-Global-Solutions/Portwood
Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.
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.
Works with
Categories
Configures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records…. Service Itsm Incident Priority Configure is an agent skill from forcedotcom/sf-skills. Configures the Incident Priority Matrix for Salesforce ITSM through the sf CLI — enabling or disabling the matrix, shaping the Impact x Urgency grid that derives Priority on Incident records, toggling the manual-override preference, and reading or setting the default fallback priority.
Service Itsm Incident Priority Configure fits situations like: the user wants to view; remove priority matrix configuration for Incident records; change the default incident priority; asks about incident priority setup.
Run `npx skills add forcedotcom/sf-skills --skill service-itsm-incident-priority-configure -a claude-code`. Or copy the skill folder (skills/service-itsm-incident-priority-configure in forcedotcom/sf-skills) into .claude/skills/service-itsm-incident-priority-configure in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill service-itsm-incident-priority-configure -a codex`. Or copy the skill folder (skills/service-itsm-incident-priority-configure in forcedotcom/sf-skills) into .agents/skills/service-itsm-incident-priority-configure 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 service-itsm-incident-priority-configure -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/service-itsm-incident-priority-configure, .gemini/skills/service-itsm-incident-priority-configure, .github/skills/service-itsm-incident-priority-configure and .opencode/skills/service-itsm-incident-priority-configure in your project.
Going by SKILL.md and its folder, Service Itsm Incident Priority Configure needs the command-line tools its instructions call (sf). Its frontmatter pre-approves these tools: Read, AskUserQuestion, Bash.
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 notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Service Itsm Incident Priority Configure 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 5.7k tokens (SKILL.md is roughly 23k 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 4.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Service Itsm Incident Priority Configure: Salesforce Incident Runbook (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Integrations (butterbase-ai/butterbase-skills, 534 stars), Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars) and Sf Datacloud (Jaganpro/sf-skills, 424 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,067 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 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.