Soql Lib Query Builder
beyond-the-cloud-dev/soql-lib
Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).
Configure, set up, or repair AI Call Scoring (a.k.a. An agent skill from forcedotcom/sf-skills.
$ npx skills add forcedotcom/sf-skills --skill sales-call-scoring-configure -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills sales-call-scoring-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/sales-call-scoring-configure .claude/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .claude/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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/sales-call-scoring-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 sales-call-scoring-configure -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills sales-call-scoring-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/sales-call-scoring-configure .agents/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .agents/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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 sales-call-scoring-configure -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills sales-call-scoring-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/sales-call-scoring-configure .cursor/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .cursor/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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/sales-call-scoring-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 sales-call-scoring-configure -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills sales-call-scoring-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/sales-call-scoring-configure .gemini/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .gemini/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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 sales-call-scoring-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 sales-call-scoring-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/sales-call-scoring-configure .github/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .github/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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 sales-call-scoring-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 sales-call-scoring-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/sales-call-scoring-configure .opencode/skills/sales-call-scoring-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 "sales-call-scoring-configure" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/sales-call-scoring-configure into .opencode/skills/sales-call-scoring-configure/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sales-call-scoring-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.
sales-call-scoring-configureConfigure, set up, or repair AI Call Scoring (a.k.a. An agent skill from forcedotcom/sf-skills.
Sales Call Scoring Configure is an agent skill from forcedotcom/sf-skills. Configure, set up, or repair AI Call Scoring (a.k.a. Call Coaching / Coaching Competencies) on an ECI-enabled Salesforce org. Flips ECICallScoringEnabled via SOAP Metadata API, enables Einstein Generative AI Platform if off, and manages Coaching Competency records (EnablementCompetencyDef Tooling API): install the 6 OOTB set, the 7 Momentum best-practice prompts, or conversationally author/edit/activate/deactivate custom competencies (8-active + 16000/255-char caps). TRIGGER when: user wants to turn on AI Call…
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including scripts, reference files and assets (for example `assets/best-practice-competencies.json`, `assets/ootb-competencies.json` and `references/admin-communication.md`).
It sits in Sales & Support, covering CRM 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.
7 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 nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 12 files in scripts/ (Shell, from the files we listed), which the agent can run.
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 these keys or tokens, usually read from environment variables:
ACCESS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Sales Call Scoring Configure loads about 4.8k tokens when it runs, and up to ~9.9k if it reads all its reference files. Until then it costs about 250 tokens; SKILL.md has 2,094 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); 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). 2,094 words, ~4,824 tokens.
.claude/skills/sales-call-scoring-configure/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.Configure Call Coaching (a.k.a. AI Call Scoring / Coaching Competencies)
on a Salesforce org. Detects the org's current state, enables dependent
features it is authorized to enable, and flips the ECICallScoringEnabled
org preference via the SOAP Metadata API.
In scope
enableECICallScoring to true via SOAP Metadata API v68.Out of scope
sf CLI authenticated — sf org login web --alias <org-alias>.ConversationPilot org permission (Phase 0
purchase gate) and enableCallCoaching pref (Phase 1, the
ConversationPilotPref preference). (River Rush/Momentum is a separate
arm covered by the same server-side gate but not checked by this skill
yet — see Key Considerations.)com.salesforce.eci.callScoringEnabled open on the org's pod
(RelEng-controlled; not admin-toggleable).Einstein GenAI Platform is a soft prerequisite — the skill enables it automatically when off.
Ask the admin: target org alias? Sandbox refresh scenario? (The pref has
disableOnSandboxCopy=true, so it must be re-flipped after every refresh —
that's normal, not a failure.)
CRITICAL: This skill serves admin users, not developers. The full 13-rule spec with rationale for each rule lives in references/admin-communication.md — consult it before your first response in this skill. Summary of the load-bearing rules:
run_in_background: true).EnablementCompetencyDef, enableECICallScoring, EvaluationInstructions, SourceCompetencyTemplate in primary chat text.references/competency-crud.md §S9).Next: <script>, run it in the same turn without asking. Exception: State 3 → rule #13.install-ootb-competencies.sh --list and let the admin choose. Only checkpoint in this skill where Claude asks before writing.See references/admin-communication.md for the full 13-rule spec, including error-surfacing, outcome-vs-steps reporting, and the S9 carve-out rationale.
Resolves org auth via the shared scripts/shared/auth.sh helper
(resolve_org_auth "$ORG_ALIAS"), which every script in this skill sources:
validate the alias format, call sf org display for instanceUrl and
accessToken (falling back to sf org auth show-access-token when the CLI
redacts the token), refuse a non-HTTPS instance URL, and fail closed with an
explicit sf org login web --alias <alias> instruction if the org isn't
reachable or no token can be extracted. If ACCESS_TOKEN/INSTANCE_URL are
already exported for the same alias — e.g. a parent shell already resolved
auth and is chaining multiple of these scripts in one session — resolution
is skipped and the cached values are reused. orgId is not part of this
helper; enable-call-scoring.sh fetches it separately (via its own
sf org display) purely for the status banner.
Before any state detection, query the ConversationPilot OrgPermission via
Tooling API (OrganizationSettingsDetail, same pattern as the
ECICallScoringAI gate in Phase 3). This is a license/purchase check,
distinct from enableCallCoaching below (the admin's Setup toggle for an
org that's already licensed):
enableCallCoaching check.SOAP readMetadata at /services/Soap/m/68.0 against two settings types:
ConversationalIntelligenceSettings → read enableCallCoaching (ECI arm)
and enableECICallScoring (current Call Coaching state).EinsteinGptSettings → read enableEinsteinGptPlatform.(RiverRushSettings/riverRushEnabled — Momentum — is NOT read. That
detection is deferred until the River Rush arm goes live; see Key
Considerations for where to re-add it.)
Query existing competencies via Tooling API:
SELECT COUNT() FROM EnablementCompetencyDef.
Classify the org into one of 4 states:
| State | Detection |
|---|---|
| 1a. Not available (no ECI license) | Cannot read ConversationalIntelligenceSettings |
| 2. Available, not enabled | enableCallCoaching=true AND enableECICallScoring=false |
| 3. Enabled, no competencies | enableECICallScoring=true AND count = 0 |
| 4. Enabled, with competencies | enableECICallScoring=true AND count > 0 |
OrganizationSettingsDetail
(Tooling API) for the ECICallScoringAI OrgPermission. If it isn't
true, exit with: "AI call coaching is not available in this org and org
requires Agentforce for Sales license." Non-zero exit. This runs even
when enableCallCoaching/enableECICallScoring already read favorably,
since those settings don't by themselves confirm the org is licensed.
Must run before the ECI-off check below — a genuinely unlicensed org
and a licensed-but-toggled-off org both read enableCallCoaching=false,
so checking ECI first would misdiagnose a licensing gap as a self-serve
Setup toggle (the regression the NoLicense eval dataset guards against).updateMetadata on EinsteinGptSettings
with enableEinsteinGptPlatform=true. PRD explicitly authorizes this. If
it's already on, skip the updateMetadata call and tell the admin it's
already enabled. If the update fails because the org isn't licensed for
EinsteinGptSettings (or is explicitly refused with no fault): tell the
admin they need Agentforce for Sales to enable AI Call Scoring, and
that without it they can still set up manual call scoring via
Salesforce Go setup. A distinct auth/permission or network/timeout failure
gets its own message (check CLI session / retry) rather than the licensing
message, since those aren't licensing gaps.If enableECICallScoring already reads true (e.g. it changed out-of-band
between Phase 1's read and here), skip the update and tell the admin it's
already enabled. Otherwise SOAP updateMetadata on
ConversationalIntelligenceSettings with enableECICallScoring=true.
Require <success>true</success>.
Re-read enableECICallScoring. Require true. Print SOAP response on failure.
enableECICallScoring is not
present in the ConversationalIntelligenceSettings schema at lower API
versions on some builds — v68 is the safe minimum. The Pipeline skill uses
v64 because its target field (SalesDealAgentSettings.enableDealAgent) is
present there; Call Scoring is not.sf mdapi deploy for this pref. It has a silent failure
mode where the CLI reports success but the pref doesn't flip. Use raw
SOAP updateMetadata — the response's <success> boolean is authoritative.orgHasCallScoring access check allows the ECI arm OR the River Rush
(Momentum) arm — see CoachingCompetenciesFeature.isFeatureAvailableInOrg().
This skill deliberately narrows to the ECI arm (MVP scope per the spike).enable-call-scoring.sh used to
read RiverRushSettings.riverRushEnabled and refuse Momentum-only orgs
with a distinct "State 1b" message / emit a Momentum-available-but-off
advisory; both were removed. Re-add them (the read, the State 1b branch,
and the Phase 3 advisory) once River Rush ships — the removed code is
recoverable from git history on this file.disableOnSandboxCopy=true — every sandbox refresh disables this pref.
Admins re-running the skill after a refresh is the expected pattern; the
idempotency check makes that safe.com.salesforce.eci.callScoringEnabled must be open on
the org's pod. It's not admin-toggleable and not readable via SOAP. If
closed, updateMetadata returns a well-formed response with
<success>false</success> and an <errors><statusCode>…</statusCode></errors>
block — it does NOT emit a SOAP <Fault>. parse_soap_response extracts
the statusCode and surfaces it via the WRITE_ERROR:… classification.enableCallCoaching flips on, the dependent enableECICallScoring field
is server-side read-only and updateMetadata returns
INSUFFICIENT_ACCESS_OR_READONLY. enable-call-scoring.sh maps this to a
transient "still finishing turning on — wait a few minutes and re-run"
message rather than a terminal failure (W-23968462).CURL_TIMEOUT in
enable-call-scoring.sh, matching the only existing timeout precedent in
this repo — the Pipeline skill's setup-all.sh) and classified via
shared/soap.sh's parse_soap_response into true / false /
AUTH_ERROR:... / TYPE_UNAVAILABLE:... / WRITE_ERROR:… /
NETWORK_ERROR. This distinguishes "org isn't licensed for this setting"
from "auth/permission fault" from "server refused the write with a specific
statusCode" from "network/timeout error" — instead of collapsing them into
an empty string or dumping raw SOAP XML at the admin.enable-call-scoring.sh uses raw SOAP, not sf api request rest.
Every other script in this skill uses sf api request rest so the CLI
manages auth end-to-end. enable-call-scoring.sh is the sole exception:
it calls the SOAP Metadata API (readMetadata/updateMetadata) directly,
because no non-beta Salesforce CLI command exposes SOAP Metadata reads/
writes for ConversationalIntelligenceSettings et al., and sf mdapi deploy has the silent-failure mode noted above for this exact field. This
is a deliberate, scoped exception, not an oversight.skills/sales-agentforce-pipeline-management-configure/scripts/shared/soap.sh (copied from the Pipeline skill —
redact_token, parse_soap_response)core/conversation-udd/java/resources/udd/conversation-udd/ConversationalIntelligence.accessChecks.xml
— orgHasCallScoring = ECI arm OR River Rush arm; orgHasECICallScoringWithAI
adds Einstein GenAI + ECICallScoringAI license perm on top.core/conversation-udd/java/resources/udd/conversation-udd/ConversationalIntelligence.settings.xml
— <orgPreference name="ECICallScoringEnabled" mdApiName="enableECICallScoring" ...>core/conversation-impl/java/src/conversation/features/CoachingCompetenciesFeature.javaOnce Phase 5 confirms Call Coaching is enabled (or Phase 1 detects State 3/4), Claude runs the Next: script directly, in the same turn. Records are managed via Tooling API on EnablementCompetencyDef (setup entity, keyPrefix 1nA, module conversation-udd). Cap: 8 simultaneously active per org (CoachingCompetenciesFeature.MAX_ACTIVE_COMPETENCIES).
All scripts share shared/auth.sh / resolve_org_auth — token propagates across chained invocations, no re-auth. Tooling API writes go through sf api request rest where practical; a subset (custom-CRUD variants, best-practice installer) drops to raw curl for finer request shape.
Scripts fall into two parallel families:
{create,edit,toggle,get}-competency.sh — works on any competency.*-custom-competency.sh — harden the write path with SpecificCallsOnly filter JSON and richer validation.Prefer custom variants when the admin's intent is unambiguously custom (S5-created); fall back to generic on OOTB or unknown-provenance records.
Full spec — S3 through S10 script contracts, S5's Q1-Q4 conversational drafting sequence, the admin-intent × org-state execution matrix, and chaining checkpoints — is in references/competency-crud.md. Consult it whenever the admin's ask touches competency records (list, install, create/edit, activate, verify, delete).
| Script | Purpose |
|---|---|
enable-call-scoring.sh <alias> | Detect state, enable Einstein GenAI if off, flip the Call Coaching pref (Phase 0-5). |
list-competencies.sh <alias> [--verbose|--json] | List all competencies + status. Admin-safe by default; --verbose adds Ids/DeveloperNames; --json for the calling agent only. |
install-ootb-competencies.sh <alias> [--dry-run] | Install the 6 PRD-canonical OOTB competencies. |
install-best-practice-competencies.sh <alias> [--dry-run] [--only "Name1,Name2"] | Install the 7 Momentum best-practice reference prompts. --only filters by MasterLabel. |
create-competency.sh <alias> <payload.json> | Create one competency (generic — usable on OOTB or custom). |
create-custom-competency.sh <alias> <payload.json> | Create one custom competency (hardened variant — prefer for S5). |
edit-competency.sh <alias> <ident> ... | Edit description / instructions (generic). |
edit-custom-competency.sh <alias> <ident> ... | Edit description / instructions (custom-CRUD variant). |
toggle-competency.sh <alias> <ident> <activate|deactivate> | Activate / deactivate (generic). |
toggle-custom-competency.sh <alias> <ident> <activate|deactivate> | Activate / deactivate (custom-CRUD variant). |
get-competency.sh <alias> <ident> [--field <f>] | Fetch a record or single field (generic). |
get-custom-competency.sh <alias> <ident> [--field <f>] | Fetch a record or single field (custom-CRUD variant). |
verify-ootb-competencies.sh <alias> ["Name" ...] | Confirm expected competencies exist and are active — outputs the S9 admin-visible markdown table. |
| no delete script (yet) | Use sf data delete record --sobject EnablementCompetencyDef --record-id <Id> --use-tooling-api — see §S10. |
After a successful run, the admin can independently verify:
Via UI — Salesforce Go → Coaching Competencies should now be reachable and show the feature as enabled with the configured competencies.
Via CLI — two Tooling API queries:
# Feature enabled?
sf data query --target-org <alias> --use-tooling-api \
--query "SELECT IsEciCallScoringEnabled FROM ConversationalIntelligenceSettings"
# Competencies configured?
sf data query --target-org <alias> --use-tooling-api \
--query "SELECT MasterLabel, IsActive, SourceCompetencyTemplate FROM EnablementCompetencyDef ORDER BY MasterLabel"assets/ootb-competencies.json — 6 PRD-canonical OOTB prompt bodies
(installed by install-ootb-competencies.sh).assets/best-practice-competencies.json — 7 Momentum best-practice
prompt bodies (S5 authoring reference; also installable via
create-competency.sh).© 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 21 other files (scripts, references, assets) in skills/sales-call-scoring-configure of forcedotcom/sf-skills.
Open the folder on GitHubat commit 4bbae5c
Sales Call Scoring 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 |
|---|---|---|---|---|---|---|
| Sales Call Scoring Configure this skillforcedotcom/sf-skills | 1.1k | — | ~4.8k | Automated safety check: Pass | Apache-2.0 | |
| 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 | |
| Dev SetupPortwood-Global-Solutions/Portwood | 126 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Sf FlowJaganpro/sf-skills | 424 | — | ~1.8k | Automated safety check: Pass | MIT |
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.
Jaganpro/sf-skills
Creates and validates Salesforce Flows with 110-point scoring.
gmapsscraper/google-maps-agent-skills
Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).
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
Configure, set up, or repair AI Call Scoring (a.k.a. An agent skill from forcedotcom/sf-skills. Sales Call Scoring Configure is an agent skill from forcedotcom/sf-skills.a.
Sales Call Scoring Configure fits situations like: : user wants to turn on AI Call Scoring; best-practice competencies; create/edit custom competencies; re-enable after sandbox refresh.
Run `npx skills add forcedotcom/sf-skills --skill sales-call-scoring-configure -a claude-code`. Or copy the skill folder (skills/sales-call-scoring-configure in forcedotcom/sf-skills) into .claude/skills/sales-call-scoring-configure in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill sales-call-scoring-configure -a codex`. Or copy the skill folder (skills/sales-call-scoring-configure in forcedotcom/sf-skills) into .agents/skills/sales-call-scoring-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 sales-call-scoring-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/sales-call-scoring-configure, .gemini/skills/sales-call-scoring-configure, .github/skills/sales-call-scoring-configure and .opencode/skills/sales-call-scoring-configure in your project.
Going by SKILL.md and its folder, Sales Call Scoring Configure needs a shell for the scripts in its folder, the command-line tools its instructions call (sf) and credentials named ACCESS_TOKEN. Our summary lists: A Bash shell; A credential in ACCESS_TOKEN.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Sales Call Scoring 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 4.8k tokens (SKILL.md is roughly 19k 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 5.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Sales Call Scoring Configure: Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars), Sf Datacloud (Jaganpro/sf-skills, 424 stars), Soql Lib Selector (beyond-the-cloud-dev/soql-lib, 154 stars) and Dev Setup (Portwood-Global-Solutions/Portwood, 126 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.