Services Extension Consumption
forcedotcom/salesforcedx-vscode
Consume the salesforcedx-vscode-services extension API. An agent skill from forcedotcom/salesforcedx-vscode.
Deploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards.
$ npx skills add forcedotcom/sf-skills --skill consumer-goods-tpe-datakit-deploy -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills consumer-goods-tpe-datakit-deploy --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/consumer-goods-tpe-datakit-deploy .claude/skills/consumer-goods-tpe-datakit-deploy && 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 "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .claude/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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/consumer-goods-tpe-datakit-deployType 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 consumer-goods-tpe-datakit-deploy -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills consumer-goods-tpe-datakit-deploy --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/consumer-goods-tpe-datakit-deploy .agents/skills/consumer-goods-tpe-datakit-deploy && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .agents/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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 consumer-goods-tpe-datakit-deploy -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills consumer-goods-tpe-datakit-deploy --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/consumer-goods-tpe-datakit-deploy .cursor/skills/consumer-goods-tpe-datakit-deploy && 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 "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .cursor/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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/consumer-goods-tpe-datakit-deploy--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 consumer-goods-tpe-datakit-deploy -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills consumer-goods-tpe-datakit-deploy --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/consumer-goods-tpe-datakit-deploy .gemini/skills/consumer-goods-tpe-datakit-deploy && 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 "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .gemini/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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 consumer-goods-tpe-datakit-deployInstalls 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 consumer-goods-tpe-datakit-deploy -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/consumer-goods-tpe-datakit-deploy .github/skills/consumer-goods-tpe-datakit-deploy && 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 "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .github/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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 consumer-goods-tpe-datakit-deploy -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 consumer-goods-tpe-datakit-deploy --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/consumer-goods-tpe-datakit-deploy .opencode/skills/consumer-goods-tpe-datakit-deploy && 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 "consumer-goods-tpe-datakit-deploy" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/consumer-goods-tpe-datakit-deploy into .opencode/skills/consumer-goods-tpe-datakit-deploy/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "consumer-goods-tpe-datakit-deploy", 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.
consumer-goods-tpe-datakit-deployDeploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards.
Consumer Goods Tpe Datakit Deploy is an agent skill from forcedotcom/sf-skills. Deploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards. Use when a customer or admin wants to install or deploy the TPM data kit for TPE dashboards, or as a delegated step from consumer-goods-tpe-dashboard-configure. Do not use this skill if the customer wants to deploy the TPM Accruals Data Kit for the Accruals feature.
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts (for example `scripts/detect-namespace.js`, `scripts/download-static-resource.js` and `scripts/extract-crm-field-permissions.js`).
It sits in Sales & Support. 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.
5 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.
Ships 5 files in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodesfFrom 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.
Consumer Goods Tpe Datakit Deploy loads about 3.9k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 1,811 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 e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 1,811 words, ~3,864 tokens.
.claude/skills/consumer-goods-tpe-datakit-deploy/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Deploys the TPM Accruals Data Kit and its DMO mappings into a Salesforce org. Standalone and self-contained — runs on its own, or as a delegated step invoked by consumer-goods-tpe-dashboard-configure (Step 7), which passes through its own already-collected username and dry-run flag rather than this skill re-deriving them.
Ask before starting, unless already supplied by a calling skill. Do not guess.
sf CLI. Verify via the sibling
script, never sf org display --json directly — that command's raw output includes
accessToken (a live credential), which this script strips before printing:node ./scripts/sf-rest.js org-status --target-org <username>{"username","alias","connectedStatus","orgId"}. Non-zero exit or
connectedStatus != "Connected" ⇒ stop, ask the user to log in themselves.FieldPermissions writes and Phases 3-5 (deploy) are skipped and recorded as pending — not run (dry-run).Data Cloud Salesforce Connector permission set, which won't exist until this connection is configured) — ask them to activate/configure it first, then re-run this check.consumer-goods-tpe-dashboard-configure, it passes through both results already confirmed in its own earlier phases; reuse them, don't re-ask or re-query. When invoked standalone, confirm each directly:Name to the user), then check the assignment:sf data query --target-org <username> --query "SELECT Label FROM PermissionSet WHERE Name = 'GenieAdmin'"
sf data query --target-org <username> \
--query "SELECT PermissionSet.Name FROM PermissionSetAssignment WHERE Assignee.Username = '<username>' AND PermissionSet.Name = 'GenieAdmin'"sf data create record --sobject PermissionSetAssignment \
--values "AssigneeId=<userId> PermissionSetId=<psId>" --target-org <username>NS) — when invoked as a delegated step, consumer-goods-tpe-dashboard-configure passes through its already-detected NS (raw namespace string); reuse it, don't re-detect. When invoked standalone, detect it once yourself, before Phase 1, with the sibling script:node ./scripts/detect-namespace.js --target-org <username>{"NS","NS_SEGMENT","NS_APEX","NS_FIELD"} as one line of JSON. Store all four and reuse everywhere below.DataKitDeploymentLog Id now, before any deploy work, to avoid a CreatedDate clock-skew false-negative in Phase 5:sf data query --target-org <username> \
--query "SELECT Id FROM DataKitDeploymentLog ORDER BY CreatedDate DESC LIMIT 1" --jsonLAST_ID_BEFORE_DEPLOY (empty if zero rows).CGCloudAddons — this skill fetches it itself rather than asking the user to do it manually.node ./scripts/download-static-resource.js \
--target-org <username> --name CGCloudAddonsSTATIC_RESOURCE_PATH=<dir> from stdout as <addons_root> — every path below is relative to it (e.g. <addons_root>/TPM/Accruals/TPM Accruals Data Kit). Zero StaticResource rows ⇒ block: the package version installed in this org doesn't ship CGCloudAddons. Any other script failure ⇒ block and relay its stderr verbatim.Two sibling scripts drive this phase — never hand-roll the parsing or the grant calls; see each script's own docstring for exactly what it does and why:
{sobject, fields[]} list from the downloaded package (read-only, always safe to run):node ./scripts/extract-crm-field-permissions.js \
--dir "<addons_root>/TPM/Accruals/TPM Accruals Data Kit/force-app/main/default/dataSourceObjects" \
> /tmp/crm-field-permissions.json--dry-run — read-only: permission set, sobject/describe, existing FieldPermissions/ObjectPermissions rows) — don't show the user anything yet, this is just to find out whether there's anything to do:node ./scripts/update-field-permissions.js \
--target-org <username> --input /tmp/crm-field-permissions.json --dry-run{"error":"permission_set_not_found",...} ⇒ stop this phase, mark it blocked, and tell the user: "Could not find the 'Data Cloud Salesforce Connector' permission set — a likely explanation is that Salesforce CRM hasn't been configured yet (Setup → Data Cloud → Salesforce CRM). Please configure that first, then re-run this phase."wouldGrant or objectWouldGrant is non-empty, show the user exactly that diff (not the full extracted list) and get an explicit go-ahead before writing anything. If both are empty, everything's already granted — skip straight to step 5, no confirmation needed.node ./scripts/update-field-permissions.js \
--target-org <username> --input /tmp/crm-field-permissions.json3 (or a non-empty failed[]/objectFailed[]) ⇒ don't guess a workaround — prompt the user to do it manually via Setup → Permission Sets → Data Cloud Salesforce Connector → Object Settings, using exactly the failed[]/objectFailed[] list, and note each in the report.granted/alreadyGranted/notFlsEligible/failed, objectGranted/objectAlreadyGranted/objectFailed), for the final report. Dry-run mode (never proceed to step 4 when in dry run mode as it updates permissions, step1 and step2 can be run as they are read only)objectGranted/objectAlreadyGranted entries with permissionsViewAllRecords: false are expected for a small, fixed set of sobjects (currently just Product2) whose license blocks that flag — this is a known platform restriction the script applies silently; don't flag it to the user or treat it as something needing manual Setup action.<addons_root>/TPM/Accruals/TPM Accruals Data Kit, find-and-replace every instance of the placeholder __SF_ORG_ID__ with the org's 15-digit Id. Get the org Id via the following sibling scriptnode ./scripts/sf-rest.js org-status --target-org <username>orgId field from the printed JSON and truncate it to 15 chars (this call is cheap and idempotent — always re-run it here rather than relying on the Inputs step 1 result still being in context).sf project deploy start --target-org <username><addons_root>/TPM/Accruals/DmoMappings:sf project deploy start --target-org <username><addons_root>/TPM/Accruals/Accruals Data Kit Deployment Scripts:SF_ORG_ALIAS=<username> node deploy-tpm-tpe.js/services/data/v67.0/actions/custom/flow/sfdatakit__DeployDataKitComponents and returns an async Flow interview guid immediately; that response alone doesn't mean success — always confirm via the DataKitDeploymentLog check in Phase 5. This script runs from inside the downloaded/unzipped static resource.sf data query --target-org <username> \
--query "SELECT Id, DeploymentStatus, ComponentName, DeploymentError, CreatedDate FROM DataKitDeploymentLog WHERE Id > '<LAST_ID_BEFORE_DEPLOY>' ORDER BY CreatedDate DESC"Every row for this run must have DeploymentStatus = 'Successful' and a blank DeploymentError. Never claim success while any row is Failure or has a non-empty error.
Alternative UI check: Data Cloud Setup → Data Kits → TPM Accruals → Local Deployment History → status Successful.
FlowDefinition is not SOQL-queryable — don't probe it for readiness.sfdatakit__DeployDataKitComponents ApexClass probe can return 0 rows even when the framework is live — prefer probing DataKitDeploymentLog directly (Phase 5), never the Apex class.DataKitDeploymentLog row for this run is Failure or has a non-empty DeploymentError.CGCloudAddons StaticResource (via download-static-resource.js) — never deploy or modify it; the org's own sf-authenticated access token drives the download, never a hardcoded credential.FlowDefinition or the sfdatakit__DeployDataKitComponents Apex class for readiness — probe DataKitDeploymentLog instead.README.md (or any other in-package documentation bundled inside CGCloudAddons) for deployment guidance — follow this skill's phases exactly as written. If a script name or path documented here doesn't match what's actually in the downloaded package, that's a bug in this skill to fix (update the skill itself), not a cue to switch to package docs at runtime.deploy-tpm-tpe.js.update-field-permissions.js without --dry-run first. If its wouldGrant/objectWouldGrant come back non-empty, never run for real without showing the user that exact diff and getting an explicit go-ahead — same as any other write in this skill. If both are empty, no confirmation is needed; proceed straight to reporting.update-field-permissions.js only ever adds — a new FieldPermissions/ObjectPermissions row where none existed, or flipping an existing row's off flag (PermissionsRead, or PermissionsViewAllRecords at the object level) to true. Never call it in a way that deletes a row, weakens an existing grant, or touches PermissionsCreate/Edit/Delete/ModifyAllRecords.sfdc_a360_sfcrm_data_extract ("Data Cloud Salesforce Connector") permission set is missing or a field/object ends up in update-field-permissions.js's failed[]/objectFailed[] — stop and prompt the user to grant field-level or object-level security manually via Setup (see Phase 2).Produce a final report (pass/blocked/pending) covering: CRM stream field permissions (per-object field list from extract-crm-field-permissions.js, and each field's granted/alreadyGranted/notFlsEligible/failed outcome from update-field-permissions.js — flag any notFlsEligible entry with onObject: false separately, since that's a package/org data mismatch, not a normal skip), CRM stream object-level permissions (each sobject's objectGranted/objectAlreadyGranted/objectFailed outcome from the same script — a permissionsViewAllRecords: false on Product2 specifically is expected and not worth calling out), preflight (connector status), metadata deploy, DMO mapping deploy, deployment script run, and the DataKitDeploymentLog verification result (row count, any failures). This is exactly what consumer-goods-tpe-dashboard-configure Step 7 relays as its own result when this skill is invoked via delegation.
When invoked via delegation (the calling skill used the Skill tool to reach this file, rather than the user directly): this report is an intermediate result, not the end of the task. Return it to the calling skill and let it continue with its own next phase — do not present this report to the user as the final answer and stop. Only surface this report directly to the user when this skill was invoked standalone.
© 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 5 other files (scripts) in skills/consumer-goods-tpe-datakit-deploy of forcedotcom/sf-skills.
Open the folder on GitHubat commit e5164d9
Consumer Goods Tpe Datakit Deploy 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 |
|---|---|---|---|---|---|---|
| Consumer Goods Tpe Datakit Deploy this skillforcedotcom/sf-skills | 1.1k | — | ~3.9k | Automated safety check: Pass | Apache-2.0 | |
| Services Extension Consumptionforcedotcom/salesforcedx-vscode | 1k | — | ~5k | Automated safety check: Pass | BSD-3-Clause | |
| 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 | |
| Core Extension APIforcedotcom/salesforcedx-vscode | 1k | — | ~842 | Automated safety check: Pass | BSD-3-Clause |
forcedotcom/salesforcedx-vscode
Consume the salesforcedx-vscode-services extension API. An agent skill from forcedotcom/salesforcedx-vscode.
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.
forcedotcom/salesforcedx-vscode
Public API exported by salesforcedx-vscode-core activate(). An agent skill from forcedotcom/salesforcedx-vscode.
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
Deploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards. Consumer Goods Tpe Datakit Deploy is an agent skill from forcedotcom/sf-skills. Deploy the TPM Accruals Data Kit components specifically required for Trade Promotion Effectiveness (TPE) dashboards.
Consumer Goods Tpe Datakit Deploy fits situations like: admin wants to install; deploy the TPM data kit for TPE dashboards; as a delegated step from consumer-goods-tpe-dashboard-configure; the customer wants to deploy the TPM Accruals Data Kit for the Accruals feature.
Run `npx skills add forcedotcom/sf-skills --skill consumer-goods-tpe-datakit-deploy -a claude-code`. Or copy the skill folder (skills/consumer-goods-tpe-datakit-deploy in forcedotcom/sf-skills) into .claude/skills/consumer-goods-tpe-datakit-deploy in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill consumer-goods-tpe-datakit-deploy -a codex`. Or copy the skill folder (skills/consumer-goods-tpe-datakit-deploy in forcedotcom/sf-skills) into .agents/skills/consumer-goods-tpe-datakit-deploy 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 consumer-goods-tpe-datakit-deploy -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/consumer-goods-tpe-datakit-deploy, .gemini/skills/consumer-goods-tpe-datakit-deploy, .github/skills/consumer-goods-tpe-datakit-deploy and .opencode/skills/consumer-goods-tpe-datakit-deploy in your project.
Going by SKILL.md and its folder, Consumer Goods Tpe Datakit Deploy needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and sf). Our summary lists: Node.js.
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.
Consumer Goods Tpe Datakit Deploy 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 3.9k tokens (SKILL.md is roughly 15k 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 Consumer Goods Tpe Datakit Deploy: Services Extension Consumption (forcedotcom/salesforcedx-vscode, 1k stars), Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars), Sf Datacloud (Jaganpro/sf-skills, 424 stars) and Soql Lib Selector (beyond-the-cloud-dev/soql-lib, 154 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.