Soql Lib Testing
beyond-the-cloud-dev/soql-lib
Writes unit tests for Salesforce Apex code that uses SOQL Lib (SOQL.cls).
Runs anonymous Apex against the connected org (.apex file or pasted snippet), capturing the debug log, surfacing errors.
$ npx skills add forcedotcom/sf-skills --skill platform-apex-anonymous-run -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills platform-apex-anonymous-run --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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .claude/skills/platform-apex-anonymous-run && 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 "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .claude/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-runType 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 platform-apex-anonymous-run -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills platform-apex-anonymous-run --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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .agents/skills/platform-apex-anonymous-run && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .agents/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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 platform-apex-anonymous-run -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills platform-apex-anonymous-run --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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .cursor/skills/platform-apex-anonymous-run && 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 "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .cursor/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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 plugins/builder/salesforce-development/skills/platform-apex-anonymous-run--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 platform-apex-anonymous-run -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills platform-apex-anonymous-run --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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .gemini/skills/platform-apex-anonymous-run && 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 "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .gemini/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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 platform-apex-anonymous-runInstalls 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 platform-apex-anonymous-run -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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .github/skills/platform-apex-anonymous-run && 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 "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .github/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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 platform-apex-anonymous-run -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 platform-apex-anonymous-run --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/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run .opencode/skills/platform-apex-anonymous-run && 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 "platform-apex-anonymous-run" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/plugins/builder/salesforce-development/skills/platform-apex-anonymous-run into .opencode/skills/platform-apex-anonymous-run/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "platform-apex-anonymous-run", 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.
platform-apex-anonymous-runRuns anonymous Apex against the connected org (.apex file or pasted snippet), capturing the debug log, surfacing errors.
Platform Apex Anonymous Run is an agent skill from forcedotcom/sf-skills. Runs anonymous Apex against the connected org (.apex file or pasted snippet), capturing the debug log, surfacing errors. Triggers on "run this anonymous apex", "execute this script against my org", "what does this code return", or "execute scripts/foo.apex". Wraps scripts in savepoint+rollback; warns before running in production. DO NOT TRIGGER for authoring .cls/.trigger files (platform-apex-generate), Apex unit tests (platform-apex-test-run), or debug-log analysis (platform-apex-logs-debug).
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Unit testing. 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.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e5164d9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
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.
Platform Apex Anonymous Run loads about 3k tokens when it runs. Until then it costs about 132 tokens; SKILL.md has 1,333 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from forcedotcom/sf-skills at commit e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 1,333 words, ~2,982 tokens.
.claude/skills/platform-apex-anonymous-run/SKILL.md (or your agent's skills folder).Run anonymous Apex against the connected Salesforce org via sf apex run --file, capture the debug log, and narrate compile-time and runtime outcomes back to the developer.
This is the agent-side equivalent of VS Code's Execute Anonymous Apex (document and selection) commands.
This skill is runtime, not generation — for authoring .cls / .trigger files use platform-apex-generate; for running Apex unit tests use platform-apex-test-run; for deep debug-log analysis (governor breakdowns, SOQL-in-loop detection) hand off to platform-apex-logs-debug.
Use ONLY the Bash tool to execute sf apex run, and the Write tool to stage snippet temp files. Do NOT use MCP tools for execution.
Anonymous Apex executes with the running user's permissions and can perform DML, callouts, and platform events. Treat every invocation as a write unless the developer has stated otherwise.
Verification-style scripts (preferred for "test this"): wrap the body in a savepoint + rollback so org state is untouched:
Savepoint sp = Database.setSavepoint();
try {
// ... code under test ...
} finally {
Database.rollback(sp);
}Production org heads-up: if the resolved <alias> points at a production org (no scratch/sandbox markers in sf org display --json), surface a clear warning before running. This is informational only — there is no automated block. Always wait for an explicit "yes, run it" before executing destructive scripts in prod.
Never run anonymous Apex you did not generate or have not been shown — if the developer pastes a snippet, echo it back and confirm before executing.
Resolve the active org alias from configuration. If target-org is set, the --target-org flag may be omitted from the command, but always log which alias was used in the report.
sf config get target-org --jsonThroughout this skill, <alias> is the resolved alias or username. If no target-org is set, ask the developer; do not silently default. If the org is not authenticated, re-authenticate with sf org login web or switch orgs with the dx-org-switch skill.
| Mode | When | Action |
|---|---|---|
| File mode | Developer points at an existing path ending in .apex (or any path they specify) | Run sf apex run --file <path> directly |
| Snippet mode | Developer pastes Apex code into the conversation | Write to .sfdx/tmp/anon-<unix-ts>.apex first, then run sf apex run --file <tmp-path> |
Why a temp file for snippets, instead of an inline flag? The current sf apex run CLI only supports --file (and interactive stdin). It does not expose an --apex-code flag. Even where inline code is supported by other tooling, multi-line Apex passed inline runs into shell-escaping pitfalls (single quotes in string literals, backslashes, embedded $). Writing to a temp file is the only reliable path for arbitrary snippets.
Verify CLI flags before deviating:
sf apex run --helpSupported flags (as of writing): --file/-f, --target-org/-o, --api-version, --json, --flags-dir. Do not invent flags — if the task asks for something not listed, surface that to the developer rather than guessing.
sf apex run returns a debug log only if a TraceFlag is active for the running user (or a streaming tail is attached). Recommended path — let the developer tail logs in another terminal:
sf apex tail log --target-org <alias> --colorThis auto-creates a short-lived TraceFlag for the running user and streams logs as anonymous Apex executes. Mention this in the report so the developer can copy/paste it.
If no trace flag is set up, sf apex run will still execute the code and return compile/runtime status — only the debug log body will be missing or sparse.
Only applies when the input is a pasted snippet:
mkdir -p .sfdx/tmp
TS=$(date +%s)
# write the snippet content to .sfdx/tmp/anon-${TS}.apex via the Write tool, NOT via shell heredocUse the agent's Write tool (not a heredoc) so the snippet is preserved verbatim — heredocs subject the content to additional shell expansion. Echo the resolved temp path to the developer in the report. Do not auto-clean the temp file after execution — leave it under .sfdx/tmp/ for inspection. The .sfdx/ directory is conventionally gitignored.
sf apex run --file <path> --target-org <alias> --json--json. Human-format output conflates compile vs runtime errors.target-org is already configured, --target-org may be omitted, but log the alias used.The sf apex run --json response shape (relevant fields):
{
"status": 0,
"result": {
"compiled": true,
"success": true,
"compileProblem": "",
"exceptionMessage": "",
"exceptionStackTrace": "",
"line": -1,
"column": -1,
"logs": "...full debug log text..."
}
}Decision tree:
compiled | success | Meaning | Surface |
|---|---|---|---|
false | — | Compile failure | compileProblem, line, column, the offending source line |
true | false | Runtime exception | exceptionMessage, exceptionStackTrace, plus log tail |
true | true | Success | Whatever the script printed via System.debug (extracted from logs) |
status !== 0 (top-level) means the CLI itself failed (not authenticated, file not found, network). Surface the raw error and stop.
.sfdx/tmp/anon-<ts>.log and report the path. Include the last 30 lines inline as a tail summary.Highlight these patterns when present in the log:
| Pattern | Why it matters |
|---|---|
LIMIT_USAGE_FOR_NS lines | Governor consumption snapshot — flag SOQL/DML/CPU near-limit |
EXCEPTION_THROWN | Unhandled exception within the anonymous block |
FATAL_ERROR | Unrecoverable error — show the full trailing block |
SOQL_EXECUTE_BEGIN count > 1 inside a loop | SOQL-in-loop hint (hand off to platform-apex-logs-debug) |
DML_BEGIN count high | Unbatched DML hint |
Do not attempt full log parsing here — surface signals only, then hand off to platform-apex-logs-debug for deep analysis.
Anonymous Apex run: <one-line summary — file or snippet, success or failure>
Org: <alias> (mode: scratch | sandbox | production)
Source: <file path or temp path for snippet>
Compile: success | <error + line:column>
Runtime: success | <exception type + message>
Limits: <CPU=x/10000ms, SOQL=y/100, DML=z/150> (only when log includes LIMIT_USAGE_FOR_NS)
Log: <inline | path .sfdx/tmp/anon-<ts>.log>
Rollback: applied | not applied | n/a
Next: <suggested follow-up>"Run
scripts/seed-test-data.apexagainst my default org."
<alias> from sf config get target-org --json.file not found.sf apex run --file scripts/seed-test-data.apex --target-org <alias> --json."Execute
System.debug([SELECT count() FROM Account]);and tell me the count."
<alias>..sfdx/tmp/anon-<ts>.apex (Write tool).sf apex run --file .sfdx/tmp/anon-<ts>.apex --target-org <alias> --json.result.logs; extract the USER_DEBUG line for the count..sfdx/tmp/anon-<ts>.apex (kept for reference).""Test that this Apex correctly upserts a Contact, then rollback."
Resolve <alias>. If prod, surface a heads-up before running.
Wrap the developer's snippet:
Savepoint sp = Database.setSavepoint();
try {
// ---- developer snippet begins ----
Contact c = new Contact(LastName = 'Smoke', Email = 'smoke@example.com');
upsert c Email;
System.debug('Upserted: ' + c.Id);
// ---- developer snippet ends ----
} finally {
Database.rollback(sp);
System.debug('Rolled back savepoint.');
}Write to .sfdx/tmp/anon-<ts>.apex, execute, parse JSON.
Report compile/runtime status, the upserted Id from the log, and Rollback: applied.
| Symptom | Cause | Recovery |
|---|---|---|
No authorization information found for ... | Org not authenticated, or alias is wrong | Run sf org list --json; re-auth with sf org login web or use dx-org-switch |
ENOENT: no such file or directory, open '<path>' | .apex file path is wrong or relative to the wrong cwd | Confirm absolute path; re-run |
compileProblem non-empty in JSON | Apex compile error | Surface compileProblem, line, column; show that line; suggest a fix |
success: false with exceptionMessage | Runtime exception inside the anonymous block | Surface exception type + message + stack; show governor counts if present |
logs field is empty even on success | No active TraceFlag for running user | Tell developer to run sf apex tail log --target-org <alias> in another terminal, then re-run |
status !== 0 with no result | CLI / network / auth failure before execution | Surface raw stderr; do not retry blindly |
| Unrecognized flag error | Spec drift with the installed CLI | Re-check sf apex run --help; do not invent flags |
--json.<alias> from configuration or the developer; never hardcode.--apex-code-style inline flags — they are not supported by the current CLI and are escape-hostile. Always go through --file.Database.setSavepoint() + Database.rollback()..sfdx/tmp/..cls/.trigger files. For those, hand off to platform-apex-generate, the deploy skills, or platform-apex-test-generate.platform-apex-logs-debug.© 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
Just SKILL.md in plugins/builder/salesforce-development/skills/platform-apex-anonymous-run of forcedotcom/sf-skills.
Open the folder on GitHubat commit e5164d9
Platform Apex Anonymous Run 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 |
|---|---|---|---|---|---|---|
| Platform Apex Anonymous Run this skillforcedotcom/sf-skills | 1.1k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Soql Lib Testingbeyond-the-cloud-dev/soql-lib | 154 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Run TestsPortwood-Global-Solutions/Portwood | 126 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Sf LwcJaganpro/sf-skills | 424 | — | ~1.6k | Automated safety check: Pass | MIT | |
| TDD WorkflowhellangleZ/burn-in-cceverywhere-ralph | 112 | 11 repos | ~2.4k | Automated safety check: Pass | None | |
| Testing OpenLogi UIAprilNEA/OpenLogi | 23k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 |
beyond-the-cloud-dev/soql-lib
Writes unit tests for Salesforce Apex code that uses SOQL Lib (SOQL.cls).
Portwood-Global-Solutions/Portwood
Run Portwood's test suites — the one-command QA harness, the anonymous-Apex e2e scripts, Apex unit tests, prettier, and Code Analyzer.
Jaganpro/sf-skills
Lightning Web Components with PICKLES methodology and 165-point scoring.
hellangleZ/burn-in-cceverywhere-ralph
A skill your agent uses when writing new features, fixing bugs, or refactoring code.
AprilNEA/OpenLogi
Verifies OpenLogi's native GPUI interface with focused tests, the component gallery and a mock agent, choosing the evidence that fits each change.
cxuu/golang-skills
A skill your agent uses when writing, reviewing, or improving Go test code — including table-driven tests, subtests, parallel tests, test helpers, test doubles, and assertions with cmp.Diff.
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
Runs anonymous Apex against the connected org (.apex file or pasted snippet), capturing the debug log, surfacing errors. Platform Apex Anonymous Run is an agent skill from forcedotcom/sf-skills.apex file or pasted snippet), capturing the debug log, surfacing errors.
Platform Apex Anonymous Run fits situations like: run this anonymous apex; execute this script against my org; what does this code return; execute scripts/foo.apex.
Run `npx skills add forcedotcom/sf-skills --skill platform-apex-anonymous-run -a claude-code`. Or copy the skill folder (plugins/builder/salesforce-development/skills/platform-apex-anonymous-run in forcedotcom/sf-skills) into .claude/skills/platform-apex-anonymous-run in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill platform-apex-anonymous-run -a codex`. Or copy the skill folder (plugins/builder/salesforce-development/skills/platform-apex-anonymous-run in forcedotcom/sf-skills) into .agents/skills/platform-apex-anonymous-run 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 platform-apex-anonymous-run -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/platform-apex-anonymous-run, .gemini/skills/platform-apex-anonymous-run, .github/skills/platform-apex-anonymous-run and .opencode/skills/platform-apex-anonymous-run in your project.
Going by SKILL.md and its folder, Platform Apex Anonymous Run needs the command-line tools its instructions call (sf).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Platform Apex Anonymous Run 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 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Platform Apex Anonymous Run: Soql Lib Testing (beyond-the-cloud-dev/soql-lib, 154 stars), Run Tests (Portwood-Global-Solutions/Portwood, 126 stars), Sf Lwc (Jaganpro/sf-skills, 424 stars) and TDD Workflow (hellangleZ/burn-in-cceverywhere-ralph, 112 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,065 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.