Manage Settings
asgeirtj/system_prompts_leaks
Any explicit Muse Code setting question or change (model, reasoning effort, /settings) requires a silent readskill call for bundled:manage-settings as FIRST ACTION—no assistant text or other tool…
Assign the required Omni permission sets to provisioned agent users.
$ npx skills add forcedotcom/sf-skills --skill service-omni-permission-set-assign -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills service-omni-permission-set-assign --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-omni-permission-set-assign .claude/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .claude/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assignType 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-omni-permission-set-assign -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills service-omni-permission-set-assign --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-omni-permission-set-assign .agents/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .agents/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assign -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills service-omni-permission-set-assign --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-omni-permission-set-assign .cursor/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .cursor/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assign--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-omni-permission-set-assign -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills service-omni-permission-set-assign --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-omni-permission-set-assign .gemini/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .gemini/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assignInstalls 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-omni-permission-set-assign -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-omni-permission-set-assign .github/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .github/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assign -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-omni-permission-set-assign --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-omni-permission-set-assign .opencode/skills/service-omni-permission-set-assign && 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-omni-permission-set-assign" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-omni-permission-set-assign into .opencode/skills/service-omni-permission-set-assign/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-omni-permission-set-assign", 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-omni-permission-set-assignAssign the required Omni permission sets to provisioned agent users.
Service Omni Permission Set Assign is an agent skill from forcedotcom/sf-skills. Assign the required Omni permission sets to provisioned agent users. TRIGGER when users ask to assign Omni permissions to agents, grant Omni-Channel access, add OmniAgent permissions, repair missing Omni permission assignments, or prepare agents to use the Omni widget. DO NOT TRIGGER for arbitrary permission-set authoring, agent creation, or queue membership.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts, reference files and assets (for example `references/api-notes.md` and `scripts/verify-and-assign.sh`).
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 first numbered list 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:
BashReadWriteEditGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashFrom 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 Omni Permission Set Assign loads about 1.5k tokens when it runs, and up to ~3.6k if it reads all its reference files. Until then it costs about 99 tokens; SKILL.md has 657 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: Bash, Read, Write, Edit, Glob, GrepAutomated 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.
The full file from forcedotcom/sf-skills at commit 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 657 words, ~1,547 tokens.
.claude/skills/service-omni-permission-set-assign/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Assign one or more PermissionSets to N agent users via PermissionSetAssignment Data API POSTs. The default target is Omni_Agent, the permission set granting the OmniChannel widget, presence-status access, and demo-queue visibility — without an assignment row, agents cannot open the widget or receive routed work. Detection is SOQL-based, so the skill only creates the assignments that are missing. Agent users come from service-omni-agent-users-create, and it runs alongside service-omni-presence-status-deploy so assigned agents can both open the widget and select a status.
bash scripts/verify-and-assign.sh <org-alias> [count=3] [permission-set-names-csv=Omni_Agent]org-alias (required).count (optional, default 3, range 1..10) — must match the agent user count.permission-set-names-csv (optional, default Omni_Agent) — comma-separated for multiple. Every user gets every listed set (cross-product): count=3 × 2 sets = up to 6 assignments.sf CLI, Service Cloud license, sf CLI ≥ 2.139.6.service-omni-agent-users-create); a count mismatch blocks with a pointer back to that skill.PermissionsAssignPermissionSets (standard on System Administrator) — required even for org admins; ModifyAllData alone is insufficient.Omni_Agent self-heals — the bundled set grants agent capability via servicePresenceStatusAccesses for whichever curated statuses exist (e.g. Available_Case/Available_Voice + Busy), generated at deploy time. Run service-omni-presence-status-deploy first; the coordinator sequences presence before permset for this reason.safe_to_write guard applies — assigning permission sets on a production org can escalate a real user's privileges, so it blocks with no override.Self-heal (run mode only). When the default Omni_Agent set is absent, the skill deploys the bundled Omni_Agent metadata once, then assigns. In --plan mode it never deploys — it reports action_needed and exits read-only. This covers only the bundled Omni_Agent asset; any other permission set must already exist or the run blocks with a click-path.
verify-and-assign.sh performs the whole cycle:
safe_to_write; derive the 8-char org suffix.agent{1..N}.<suffix>@example.com pattern; block if any are missing.PermissionSet by name; self-heal Omni_Agent if absent, else block naming which is missing.PermissionSetAssignment for the (user × set) cross-product; compute the missing pairs.allOrNone).Cross-product. Every user gets every listed set; a partial assignment is a failure, not a feature.
Idempotency. PermissionSetAssignment has a database uniqueness constraint on (AssigneeId, PermissionSetId), so a re-POST raises DUPLICATE_VALUE; the skill detects existing pairs first and treats DUPLICATE_VALUE as a safety net for concurrent races. It POSTs individually so one duplicate or error never rolls back its successful siblings, and it re-queries after all POSTs — a 201 only means Salesforce accepted the write; a subsequent SOQL confirms the assignment is active.
Non-destructive. The skill is create-only; it never deletes existing assignments (users may hold out-of-band permissions from other admins) and derives users from the agent pattern rather than accepting an explicit user-id list, so it never assigns demo permissions to real named users.
A single JSON object with status ∈ assigned | reused | partial | blocked, the resolved permission_sets, org_suffix, requested_count, expected_assignment_count (= requested_count × len(permission_sets)), a before snapshot, assigned_this_run/assigned_count, reused_count, an after snapshot, manual_actions, and blocking_issue.
assigned — at least one new assignment created; all expected pairs exist after.reused — all expected pairs already existed; nothing POSTed.partial — some POSTs failed; final count is below expected.blocked — precondition failed (production org, missing set, missing users, missing permissions).assigned_count + reused_count == expected_assignment_count unless partial; blocking_issue is non-null only for blocked/partial.
PermissionSetGroup is a different sObject and is out of scope.Omni_Agent; it is not a general-purpose permission-set authoring surface.| File | When to read |
|---|---|
assets/package.xml | Load when the default Omni_Agent permission set is missing and the run-mode self-heal path must deploy the bundled metadata |
references/api-notes.md | Before the POST loop — PermissionSetAssignment schema, its DUPLICATE_VALUE semantics, and why users are derived from the agent pattern rather than an explicit id list |
© 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 3 other files (scripts, references, assets) in skills/service-omni-permission-set-assign of forcedotcom/sf-skills.
Open the folder on GitHubat commit 4bbae5c
Service Omni Permission Set Assign 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 Omni Permission Set Assign this skillforcedotcom/sf-skills | 1.1k | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Manage Settingsasgeirtj/system_prompts_leaks | 69k | — | ~3.1k | Automated safety check: Pass | CC0-1.0 | |
| OmniRoute Settings APIdiegosouzapw/OmniRoute | 75k | — | ~3.6k | Automated safety check: Pass | MIT | |
| ESP32 CSI Node Provisioningruvnet/RuView | 97k | — | ~579 | Automated safety check: Pass | MIT | |
| Gemini Omnicalesthio/OpenMontage | 66k | — | ~2.1k | Automated safety check: Notes | AGPL-3.0 | |
| Requirementsrizsotto/Bear | 6.5k | — | ~2k | Automated safety check: Pass | GPL-3.0 |
asgeirtj/system_prompts_leaks
Any explicit Muse Code setting question or change (model, reasoning effort, /settings) requires a silent readskill call for bundled:manage-settings as FIRST ACTION—no assistant text or other tool…
diegosouzapw/OmniRoute
Read and update global application settings: system prompts, thinking budget, IP filters, payload rules, combo defaults, and require-login configuration.
ruvnet/RuView
Builds, flashes and provisions an ESP32-S3 or C6 CSI node for RuView, with checksum-verified flashing, WiFi settings and boot-log evidence that CSI is flowing.
calesthio/OpenMontage
Generate and conversationally edit short videos with Google Gemini Omni Flash (gemini-omni-flash-preview).
rizsotto/Bear
Write, modify, or review a requirement file under docs/requirements -- pick the single owning file, keep the text contract-only, name IDs so they need no explanation, and verify cross-references and…
bbplayer-app/BBPlayer
Grant, deny, or reset an app's runtime permissions (camera, microphone, photos, contacts, notifications, calendar, location, location-always, media-library, motion, reminders) on an iOS simulator or…
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.
Assign the required Omni permission sets to provisioned agent users. Service Omni Permission Set Assign is an agent skill from forcedotcom/sf-skills. Assign the required Omni permission sets to provisioned agent users.
Service Omni Permission Set Assign fits situations like: users ask to assign Omni permissions to agents; grant Omni-Channel access; add OmniAgent permissions; repair missing Omni permission assignments.
Run `npx skills add forcedotcom/sf-skills --skill service-omni-permission-set-assign -a claude-code`. Or copy the skill folder (skills/service-omni-permission-set-assign in forcedotcom/sf-skills) into .claude/skills/service-omni-permission-set-assign in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill service-omni-permission-set-assign -a codex`. Or copy the skill folder (skills/service-omni-permission-set-assign in forcedotcom/sf-skills) into .agents/skills/service-omni-permission-set-assign 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-omni-permission-set-assign -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-omni-permission-set-assign, .gemini/skills/service-omni-permission-set-assign, .github/skills/service-omni-permission-set-assign and .opencode/skills/service-omni-permission-set-assign in your project.
Going by SKILL.md and its folder, Service Omni Permission Set Assign needs a shell for the scripts in its folder and the command-line tools its instructions call (bash). Our summary lists: A Bash shell. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Service Omni Permission Set Assign 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 1.5k tokens (SKILL.md is roughly 6.2k 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.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Service Omni Permission Set Assign: Manage Settings (asgeirtj/system_prompts_leaks, 69k stars), OmniRoute Settings API (diegosouzapw/OmniRoute, 75k stars), ESP32 CSI Node Provisioning (ruvnet/RuView, 97k stars) and Gemini Omni (calesthio/OpenMontage, 66k 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.