Services Extension Consumption
forcedotcom/salesforcedx-vscode
Consume the salesforcedx-vscode-services extension API. An agent skill from forcedotcom/salesforcedx-vscode.
ALWAYS USE THIS SKILL to create, list, or delete org shapes.
$ npx skills add forcedotcom/sf-skills --skill dx-org-shape-manage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-shape-manage --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/dx-org-shape-manage .claude/skills/dx-org-shape-manage && 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 "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .claude/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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/dx-org-shape-manageType 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 dx-org-shape-manage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-shape-manage --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/dx-org-shape-manage .agents/skills/dx-org-shape-manage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .agents/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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 dx-org-shape-manage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-shape-manage --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/dx-org-shape-manage .cursor/skills/dx-org-shape-manage && 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 "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .cursor/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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/dx-org-shape-manage--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 dx-org-shape-manage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills dx-org-shape-manage --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/dx-org-shape-manage .gemini/skills/dx-org-shape-manage && 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 "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .gemini/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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 dx-org-shape-manageInstalls 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 dx-org-shape-manage -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/dx-org-shape-manage .github/skills/dx-org-shape-manage && 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 "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .github/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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 dx-org-shape-manage -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 dx-org-shape-manage --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/dx-org-shape-manage .opencode/skills/dx-org-shape-manage && 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 "dx-org-shape-manage" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/dx-org-shape-manage into .opencode/skills/dx-org-shape-manage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dx-org-shape-manage", 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.
dx-org-shape-manageALWAYS USE THIS SKILL to create, list, or delete org shapes.
Dx Org Shape Manage is an agent skill from forcedotcom/sf-skills. ALWAYS USE THIS SKILL to create, list, or delete org shapes. An org shape is a captured baseline configuration (features, limits, edition, and Metadata API settings) of a source org, without its data or metadata. Use when the user asks to create/make/take an org shape, capture or replicate an org's configuration/edition/limits, list/show/view existing org shapes (including INACTIVE/superseded ones) or their IDs and status, or delete/remove org shapes for a source org. Requires a source org with Dev Hub and Org…
Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `examples/create_error_output.json`, `examples/create_success_output.json` and `examples/delete_output.json`).
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.
4 steps, taken from the first numbered list 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.
Dx Org Shape Manage loads about 2.8k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 178 tokens; SKILL.md has 1,322 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,322 words, ~2,791 tokens.
.claude/skills/dx-org-shape-manage/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Coordinates the full lifecycle of Salesforce org shapes — create, list, and delete — via sf org create shape, sf org list shape, and sf org delete shape. An org shape captures the baseline setup of a source org (features, limits, edition, and Metadata API settings) without its data or metadata.
Use ONLY the Bash tool to execute the sf org ... shape commands. Do NOT use MCP tools — ignore them completely.
Output artifacts for eval/testing: ALWAYS write the command's complete JSON response to a file when an output directory is available. Do NOT ask the user what file to write — this skill defines the filenames. After executing each command: (1) if the user specified an output path (e.g. "write all generated files into folder X"), write there immediately; (2) otherwise run [ -d force-app/main/adk-eval-output/ ] && echo 'force-app/main/adk-eval-output' to detect the eval directory; (3) write the command's full, unmodified JSON response (including the status/result/warnings wrapper) to <output-dir>/<filename> using these filenames: create-shape-result.json for shape creation, list-shapes-result.json for listing shapes, list-shapes-inactive-result.json for the inactive-shapes SOQL query, or delete-shapes-result.json for shape deletion. This is the generated output — write it without asking. Do NOT say "no files to generate" for these operations; the JSON result IS the output artifact.
sf org create shape), listing (sf org list shape), listing including inactive shapes for a specific source org (SOQL against ShapeRepresentation), and deleting (sf org delete shape) org shapesdx-org-snapshot-manage), creating scratch orgs (use dx-org-manage)Infer from the user's request:
--target-org. Plain listing (Active/InProgress only) needs no source org.Notes:
--name or --description flag — a shape is identified by the source org's ID, not a custom name.--target-dev-hub flag — the shape commands operate on the source org directly, not a Dev Hub.sf config get target-org.--json flag.| Operation | User intent | Execute via Bash tool |
|---|---|---|
| Create | Create shape from an org | sf org create shape --target-org <alias> --json |
| Create | Create shape from the default target org | sf org create shape --json |
| List | List all org shapes + IDs/status (Active/InProgress only) | sf org list shape --json |
| List | Save the list to a file | sf org list shape --json > tmp/MyOrgShapeList.json |
| List (including inactive) | List all shapes — including Inactive ones — for a specific source org | sf data query --target-org <alias> --query "SELECT Id, Name, Status, CreatedDate, LastModifiedDate FROM ShapeRepresentation" --json |
| Delete | Delete shapes for an org (with confirm prompt) | sf org delete shape --target-org <alias> --json |
| Delete | Delete shapes without prompting (scripts/CI) | sf org delete shape --target-org <alias> --no-prompt --json |
After creating a shape, run sf org list shape --json to get its org ID.
sf org list shape has no flag to surface Inactive shapes and no --target-org flag (it always scans every locally authenticated org). To see a source org's full shape history — including shapes superseded by a later sf org create shape run — query ShapeRepresentation directly:
sf data query --target-org <alias> --query "SELECT Id, Name, Status, CreatedDate, LastModifiedDate FROM ShapeRepresentation" --jsonOnly use this query when the user explicitly asks for inactive or all/historical shapes for a named source org. For ordinary "list my org shapes" requests, keep using sf org list shape — it is the documented, cross-org command and matches the rest of this skill's behavior.
Notes:
ShapeRepresentation has no SourceOrgId, username, or alias field — report the raw query fields (Id, Name, Status, CreatedDate, LastModifiedDate) as returned; do not invent an orgId/username/alias for these rows.WHERE Status = 'Inactive' to scope to only inactive shapes if the user asks for inactive shapes specifically (as opposed to "all"/"history").ShapeRepresentation CRUD access as create/delete.| Constraint | Rationale |
|---|---|
Always use --json flag | Provides structured output for reliable parsing and error handling |
| Source org must have Org Shape for Scratch Orgs enabled | Without it, create/delete fail with a no-access error — enable via Setup → Scratch Orgs → Enable Org Shape for Scratch Orgs in the source org |
User needs access to the ShapeRepresentation object | Without CRUD access, create fails with NoCrudAccessCreateShape — ask the org admin |
--target-org is the SOURCE org, not a Dev Hub | Create/delete operate on this org; it is not a Dev Hub operation. List takes no --target-org |
No --name / --description flags | A shape is keyed off the source org's ID, not a custom name |
| One active shape per source org | Re-running create replaces the prior shape (marks it inactive). delete removes all shapes for the org |
delete prompts for confirmation by default | Use --no-prompt (-p) for non-interactive/CI use; declining the prompt aborts with no deletion |
| Issue | Resolution |
|---|---|
ShapeRepresentationNoAccess — "The org needs to be enabled for org shape before one can be created" | Source org isn't enabled for org shape — in the source org go to Setup → Scratch Orgs → Enable Org Shape for Scratch Orgs, turn it on, then retry |
NoCrudAccessCreateShape — "Can't create org shape. Contact the org admin..." | You lack access to the ShapeRepresentation object — ask the org admin to grant access, then retry |
ShapeCreateFailed — "Error creating scratch definition file..." | Generic create failure — verify the source org is reachable/authenticated and retry; if it persists, contact Salesforce support |
UNKNOWN_EXCEPTION on create (generic error with a support ErrorId, reproducible on retry) | The source org is not fully enabled for org shape even though ShapeRepresentation may be partially visible — confirm Setup → Scratch Orgs → Enable Org Shape for Scratch Orgs is on in the source org and that your user has CRUD on ShapeRepresentation, then retry |
sf org list shape returns an empty list | No shapes exist yet (or none are Active/InProgress) — create one with sf org create shape |
sf org list shape doesn't show a shape the user expects | It only surfaces Active/InProgress shapes and has no flag to change this — a prior sf org create shape run may have marked it Inactive. Use the SOQL query in "Listing Inactive Shapes" against that specific source org instead |
| Delete exits with code 68 (partial failure) | Some shapes failed to delete — inspect the failures array in the JSON for per-shape messages, then retry |
| Delete exits with code 1 (all failed) | Deletion failed entirely — confirm the org is enabled for org shape and you have access |
No org found for <alias> / NamedOrgNotFoundError | Source org alias doesn't exist or isn't authenticated — verify with sf org list or re-auth with sf org login web |
No default target org and --target-org omitted | Provide --target-org <alias> or set a default with sf config set target-org=<alias> |
All commands return JSON when --json is used:
shapeId, success, and errors.orgId, username, alias, shapeId, status (Active or InProgress), createdBy, and createdDate.records, totalSize, done), each record with Id, Name, Status (Active, InProgress, or Inactive), CreatedDate, and LastModifiedDate — no orgId/username/alias, since ShapeRepresentation has no such fields.orgId, shapeIds (deleted), and failures. Returns no result if the user declines the confirmation prompt.See the example files referenced below for full response structures.
| Need | Delegate to |
|---|---|
| Create a scratch org, or create/use a snapshot to make one | dx-org-manage skill |
| Create, check status of, list, or delete a snapshot itself | dx-org-snapshot-manage skill |
| File | When to read |
|---|---|
examples/create_success_output.json | To understand the successful shape-creation response structure |
examples/create_error_output.json | To handle common create error scenarios |
examples/list_output.json | To understand the list response structure (org IDs, status) |
examples/list_inactive_output.json | To understand the SOQL query response structure for listing shapes including Inactive ones |
examples/delete_output.json | To understand the delete response structure (deleted IDs, failures) |
references/cli_flags.md | For detailed explanation of all flags across create/list/delete |
© 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 6 other files (references) in skills/dx-org-shape-manage of forcedotcom/sf-skills.
Open the folder on GitHubat commit e5164d9
Dx Org Shape Manage 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 |
|---|---|---|---|---|---|---|
| Dx Org Shape Manage this skillforcedotcom/sf-skills | 1.1k | — | ~2.8k | 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
ALWAYS USE THIS SKILL to create, list, or delete org shapes. Dx Org Shape Manage is an agent skill from forcedotcom/sf-skills. ALWAYS USE THIS SKILL to create, list, or delete org shapes.
Dx Org Shape Manage fits situations like: delete org shapes; the user asks to create/make/take an org shape; replicate an orgs configuration/edition/limits; list/show/view existing org shapes (including INACTIVE/superseded ones).
Run `npx skills add forcedotcom/sf-skills --skill dx-org-shape-manage -a claude-code`. Or copy the skill folder (skills/dx-org-shape-manage in forcedotcom/sf-skills) into .claude/skills/dx-org-shape-manage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill dx-org-shape-manage -a codex`. Or copy the skill folder (skills/dx-org-shape-manage in forcedotcom/sf-skills) into .agents/skills/dx-org-shape-manage 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 dx-org-shape-manage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dx-org-shape-manage, .gemini/skills/dx-org-shape-manage, .github/skills/dx-org-shape-manage and .opencode/skills/dx-org-shape-manage in your project.
Going by SKILL.md and its folder, Dx Org Shape Manage 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.
Dx Org Shape Manage 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 2.8k tokens (SKILL.md is roughly 11k 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 1.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Dx Org Shape Manage: 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.