Agent skill

External Consumers

by forcedotcom in forcedotcom/salesforcedx-vscode

Known external consumers of APIs from this monorepo's extensions.

BSD-3-ClauseAuto-check passedDevelopment

Install External Consumers

skills CLI
$ npx skills add forcedotcom/salesforcedx-vscode --skill external-consumers -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install forcedotcom/salesforcedx-vscode external-consumers --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/forcedotcom/salesforcedx-vscode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/external-consumers .claude/skills/external-consumers && rm -rf skills-src

Use ~/.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/

Facts

Skill name
external-consumers
GitHub stars
1k
Token cost
~1.8k tokens
SKILL.md length
507 words
Files
1
Skills in repo
37
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Known external consumers of APIs from this monorepo's extensions.

  • Works in 5 steps: Grep monorepo for .exports.MEMBER → Search org:forcedotcom and… → Read private repos via contents API → …
  • Changing public API surfaces (activate return types
  • SKILL.md covers On-demand validation via gh CLI, Direct core API consumers…, Direct services API consumers… and @salesforce/vscode-service-prov…, plus 4 more sections
  • Calls gh

What it does

External Consumers is an agent skill from forcedotcom/salesforcedx-vscode. Known external consumers of APIs from this monorepo's extensions. Use when changing public API surfaces (activate return types, exported types, services sub-objects), evaluating breaking changes, removing exports, or checking if anything uses a given API member.

Its SKILL.md is about 1.8k 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 Development, covering Monorepo tooling and CRM management. It works with Salesforce and Visual Studio Code. The repository describes itself as: Salesforce Extensions for VS Code. The licence is BSD-3-Clause.

When your agent uses it

  • Changing public API surfaces (activate return types
  • Services sub-objects)
  • Evaluating breaking changes
  • Removing exports

Example prompts

  • “/external-consumers”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Grep monorepo for .exports.MEMBER
  2. Search org:forcedotcom and org:salesforcecli via gh api
  3. Read private repos via contents API
  4. For repos that ship from a non-default branch (e.g. einstein-gpt → afv-v3.0-iac), inspect that branch directly — code search misses it…
  5. Check extensionPack in salesforcedx-vscode and salesforcedx-vscode-expanded for new extensions

What it can do on your machine

Read from SKILL.md and the folder at commit 27807f6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com
    • docs.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

External Consumers loads about 1.8k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 507 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from forcedotcom/salesforcedx-vscode at commit 27807f6, republished under its BSD-3-Clause licence (© forcedotcom). 507 words, ~1,846 tokens.

Download SKILL.mdSave it as .claude/skills/external-consumers/SKILL.md (or your agent's skills folder).
name
external-consumers
description
Known external consumers of APIs from this monorepo's extensions. Use when changing public API surfaces (activate return types, exported types, services sub-objects), evaluating breaking changes, removing exports, or checking if anything uses a given API member.
review
always

External Consumers

Other repos consume APIs from this monorepo's extensions. Some are private.

  • Exported extension APIs = public contracts
  • Remove/change field, method, behavior = breaking
  • Add field = non-breaking
  • Cannot grep this monorepo alone — must check external repos
  • Consumers version-gate (semver.satisfies) — major bump alone insufficient

On-demand validation via gh CLI

bash
# search specific repo
gh api -X GET "search/code?q=SYMBOL+repo:forcedotcom/REPO&per_page=20" \
  --jq '.items[] | "\(.path)"'

# read file from private repo
gh api repos/forcedotcom/REPO/contents/PATH --jq '.content' | base64 -d

# search all forcedotcom repos
gh api -X GET "search/code?q=SYMBOL+org:forcedotcom&per_page=30" \
  --jq '.items[] | "\(.repository.name): \(.path)"'

# search salesforcecli org too
gh api -X GET "search/code?q=SYMBOL+org:salesforcecli&per_page=30" \
  --jq '.items[] | "\(.repository.name): \(.path)"'

Rate limit ~30 req/min on search API. Use contents API for targeted reads.

⚠️ Code search only indexes the DEFAULT branch

search/code never sees non-default branches (GitHub docs). A repo whose shipping extension lives on a release branch (see einstein-gpt below) returns zero hits even when it heavily consumes core. Zero search hits ≠ no consumer. Confirm a repo's shipping branch (check .github/workflows/*release*.yml for the ref: it checks out), then walk that branch's tree + read files directly:

bash
# find the ref the release workflow builds from
gh api repos/forcedotcom/REPO/contents/.github/workflows --jq '.[].name'
gh api "repos/forcedotcom/REPO/contents/.github/workflows/RELEASE.yml" --jq '.content' | base64 -d | grep -n 'ref:'

# list a non-default branch's files, then read the ones you care about
gh api "repos/forcedotcom/REPO/git/trees/BRANCH?recursive=1" --jq '.tree[].path'
gh api "repos/forcedotcom/REPO/contents/PATH?ref=BRANCH" --jq '.content' | base64 -d

Direct core API consumers (SalesforceVSCodeCoreApi)

Via vscode.extensions.getExtension('salesforce.salesforcedx-vscode-core').exports:

RepoVisibilityConsumed
vscode-agentsPublicservices.{ChannelService,TelemetryService,WorkspaceContext}
metadata-visualizerPrivateservices.TelemetryService
code-analyzerPublicservices.WorkspaceContext (direct), telemetry via service-provider
einstein-gpt (Agentforce Vibes Autocomplete — see note)Privateservices.{ChannelService,WorkspaceContext,CommandEventDispatcher}, workspaceContextUtils.getOrgShape; reads optional SalesforceProjectConfig but has no production caller

einstein-gpt ships from a non-default branch. The published extension salesforce.agentforce-vibes-autocomplete is built from afv-v3.0-iac, not main; main:.github/workflows/iac-release.yml checks out that branch. It hard-depends on core and throws at activation when CommandEventDispatcher is absent. SalesforceProjectConfig differs: CoreExtensionService reads and stores it, accepts its absence, and only its unit test calls getSalesforceProjectConfig(). It is not a behavioral contract. Do not restore services.SalesforceProjectConfig to core based on this reference. Code search skips non-default branches; inspect afv-v3.0-iac directly.

Direct services API consumers (SalesforceVSCodeServicesApi)

Via vscode.extensions.getExtension('salesforce.salesforcedx-vscode-services'):

RepoVisibilityConsumed
einstein-gptPrivateservices.ConnectionService.getConnection, services.TargetOrgRef, services.prebuiltServicesDependencies

einstein-gpt directly consumes the services extension API (separate from its core dependency and its @salesforce/vscode-service-provider telemetry use). packages/extension/src/services/auth/org-service.ts (on the actively-shipping main branch, which now builds afv-v4 via release.yml) resolves salesforce.salesforcedx-vscode-services, duplicates a local SalesforceVSCodeServicesApi type, and calls api.services.ConnectionService.getConnection(), api.services.TargetOrgRef(), and reads api.services.prebuiltServicesDependencies. Check changes to ConnectionService.getConnection, TargetOrgRef, or prebuiltServicesDependencies against this consumer — breaking any of them is a breaking change even though code search on main may not surface the duplicated type.

Show full SKILL.md (183 more words)Show less

@salesforce/vscode-service-provider consumers

Repo (public) — abstraction bridging to core services. Still depends on core being active.

RepoService
code-analyzerServiceType.Telemetry
einstein-gptServiceType.Telemetry

extensionDependency-only (no API consumption)

RepoVisibilityNotes
ui-previewPrivateCore extensionDependency only. Vendors a diverged packages/salesforcedx-utils-vscode workspace copy — not this repo's published package. App imports from that fork: notificationService, WorkspaceContextUtil, OrgUserInfo, TelemetryService, ChannelService, ConfigUtil.{getTargetOrgOrAlias,getUsernameFor,getAllAliasesFor}. Fork still has APIs this repo dropped. Deleting them here does not break shipping ui-preview.

No current core dependency

RepoNotes
sldsNo extensionDep, no getExtension. In same extension pack.
apex-language-supportExperimental. String refs only in tests/comments.
apex-oas (in-repo)extensionDependency = salesforcedx-vscode-apex + salesforcedx-vscode-services; no core dep. Reads project/registry/fs via services-extension api.services.*. Only cross-extension .exports use is apex's .languageClientManager.

In-repo consumers

No current in-repo .exports consumers of SalesforceVSCodeCoreApi.

Keeping current

Verified 2026-09-29. Before asserting "nobody uses X":

  1. Grep monorepo for \.exports\.MEMBER
  2. Search org:forcedotcom and org:salesforcecli via gh api
  3. Read private repos via contents API
  4. For repos that ship from a non-default branch (e.g. einstein-gpt → afv-v3.0-iac), inspect that branch directly — code search misses it (see the ⚠️ above)
  5. Check extensionPack in salesforcedx-vscode and salesforcedx-vscode-expanded for new extensions

© forcedotcom, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/external-consumers of forcedotcom/salesforcedx-vscode.

Open the folder on GitHubat commit 27807f6

Compare with similar skills

External Consumers 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.

External Consumers compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
External Consumers this skillforcedotcom/salesforcedx-vscode1k—~1.8kAutomated safety check: PassBSD-3-Clause
Experience Cms Brand Createforcedotcom/sf-skills1.1k—~2.8kAutomated safety check: PassApache-2.0
Gh Bot Commentjetstreamapp/jetstream125—~616Automated safety check: PassCustom licence
Salesforce DeveloperJeffallan/claude-skills12k—~1.9kAutomated safety check: PassMIT
Dx Code Analyzer Runforcedotcom/sf-skills1.1k—~6.3kAutomated safety check: PassApache-2.0
Changelog Entrycertinia/debug-log-analyzer114—~1.9kAutomated safety check: PassCustom licence

Similar skills

  • Experience Cms Brand Create

    forcedotcom/sf-skills

    Author a Salesforce Digital Experience brand (a "brand.json") so the VS Code Brand Toolkit can load, edit, and preview it.

    1.1k GitHub stars~2.8k tokensUpdated today
    Sales & SupportAuto-check passed
  • Gh Bot Comment

    jetstreamapp/jetstream

    Post GitHub PR/issue comments, reviews, and review replies as the Jetstream bot account instead of the user's personal account.

    125 GitHub stars~616 tokensUpdated today
    DevelopmentAuto-check passed
  • Salesforce Developer

    Jeffallan/claude-skills

    Writes Apex, Lightning Web Components and SOQL for the Salesforce platform, with bulkified triggers, governor-limit checks, 90% test coverage and Salesforce DX deployment.

    12k GitHub stars~1.9k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Dx Code Analyzer Run

    forcedotcom/sf-skills

    Run Salesforce Code Analyzer to scan code for security, performance, best practice, and code style violations.

    1.1k GitHub stars~6.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Changelog Entry

    certinia/debug-log-analyzer

    Write, review or trim CHANGELOG.md entries. An agent skill from certinia/debug-log-analyzer.

    114 GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Any Tdf Development

    any-tdf/any-tdf

    Guide implementation, fixes, reviews, documentation, generation, and validation in the Any TDF monorepo across the shared core, STDF/Svelte, RTDF/React, VTDF/Vue, demos, sites, tooling, AI skill…

    779 GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed

More from forcedotcom/salesforcedx-vscode

All 37 skills in this repo
  • Command UI

    forcedotcom/salesforcedx-vscode

    Command palette, CodeLens, context menus, package.nls titles, and NotificationModeService.

    1k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Services Extension Consumption

    forcedotcom/salesforcedx-vscode

    Consume the salesforcedx-vscode-services extension API. An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~5k tokensUpdated today
    Auto-check passed
  • Changelog

    forcedotcom/salesforcedx-vscode

    Polish the automated CHANGELOG on develop before the next stable build.

    1k GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Core Extension API

    forcedotcom/salesforcedx-vscode

    Public API exported by salesforcedx-vscode-core activate(). An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~842 tokensUpdated today
    Auto-check passed
  • Drivable Vscode

    forcedotcom/salesforcedx-vscode

    Operate a real VS Code instance through drivable-vscode. An agent skill from forcedotcom/salesforcedx-vscode.

    1k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Effect Best Practices

    forcedotcom/salesforcedx-vscode

    Enforces Effect-TS patterns for services, errors, layers, atoms, and Effect.pipe composition.

    1k GitHub stars~6.2k tokensUpdated today
    Auto-check passed

Questions about External Consumers

What does External Consumers do?

Known external consumers of APIs from this monorepo's extensions. External Consumers is an agent skill from forcedotcom/salesforcedx-vscode. Known external consumers of APIs from this monorepo's extensions.

When should I use External Consumers?

External Consumers fits situations like: changing public API surfaces (activate return types; services sub-objects); evaluating breaking changes; removing exports.

How do I install External Consumers in Claude Code?

Run `npx skills add forcedotcom/salesforcedx-vscode --skill external-consumers -a claude-code`. Or copy the skill folder (.claude/skills/external-consumers in forcedotcom/salesforcedx-vscode) into .claude/skills/external-consumers in your project. Claude Code loads it when a task matches its description.

How do I install External Consumers in Codex?

Run `npx skills add forcedotcom/salesforcedx-vscode --skill external-consumers -a codex`. Or copy the skill folder (.claude/skills/external-consumers in forcedotcom/salesforcedx-vscode) into .agents/skills/external-consumers in your project. Codex loads it when a task matches its description.

Can I use External Consumers in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/salesforcedx-vscode --skill external-consumers -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/external-consumers, .gemini/skills/external-consumers, .github/skills/external-consumers and .opencode/skills/external-consumers in your project.

What does External Consumers need to run?

Going by SKILL.md and its folder, External Consumers needs the command-line tools its instructions call (gh).

Does External Consumers access the network?

SKILL.md names 2 domains. As links in the text: github.com and docs.github.com. This is read from the text; nothing was executed.

Is External Consumers safe to install?

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.

What licence does External Consumers use?

External Consumers is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does External Consumers use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to External Consumers?

Skills that share tags, products or a category with External Consumers: Experience Cms Brand Create (forcedotcom/sf-skills, 1.1k stars), Gh Bot Comment (jetstreamapp/jetstream, 125 stars), Salesforce Developer (Jeffallan/claude-skills, 12k stars) and Dx Code Analyzer Run (forcedotcom/sf-skills, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains External Consumers?

forcedotcom (a GitHub organization) maintains it in forcedotcom/salesforcedx-vscode, which has 1,035 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 8, 2026.

Source: forcedotcom/salesforcedx-vscode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.