Saltar al contenido
Marketplace

platform-metadata-retrieve

de forcedotcom

ALWAYS USE THIS SKILL to retrieve metadata from an org to your local project with sf project retrieve start. Supports retrieval by all changes, source directory, metadata type (wildcards), manifest (package.xml), or package name, in source or metadata (ZIP) format. Use when the user asks to retrieve, pull, sync, or download metadata, Apex classes, or custom objects. DO NOT TRIGGER for deploying metadata (use platform-metadata-deploy), listing metadata, or generating a package.xml (use platform-manifest-generate). NEVER use MCP tools.

Resumen

SKILL.mdLeída en abb06a4

platform-metadata-retrieve

Retrieves metadata from a Salesforce org to your local project using sf project retrieve start. Supports multiple retrieval modes: all changes, by source directory, by metadata type (with wildcards), by manifest, or by package name.


Tool Restrictions

Use ONLY the Bash tool to execute sf project retrieve start. Do NOT use MCP tools — ignore them completely.


Scope

  • In scope: Retrieving metadata via sf project retrieve start in all supported modes (all changes, source-dir, metadata type, manifest, package name), source and metadata format output
  • Out of scope: Deploying metadata (use platform-metadata-deploy), listing metadata types, generating package.xml files, source tracking commands (sf project retrieve preview)

Required Inputs

Infer from the user's request:

  • Retrieval mode: all changes | source directory | metadata type | manifest | package name
  • Target org: org alias/username (uses default if not specified)
  • Output format: source format (default) | metadata format (ZIP)
  • Additional options: ignore conflicts, output directory, wait time, API version

Workflow

  1. Match user request to command pattern below
  2. Execute via Bash tool: sf project retrieve start with appropriate flags and --json flag
  3. Return result with retrieved components count and file paths
Command Patterns
User intentExecute via Bash tool
Retrieve all remote changessf project retrieve start --json
Retrieve by source directorysf project retrieve start --source-dir <path> --target-org <alias> --json
Retrieve by metadata typesf project retrieve start --metadata <MetadataType:Name> --target-org <alias> --json
Retrieve by metadata type with wildcardsf project retrieve start --metadata '<MetadataType:Pattern*>' --target-org <alias> --json
Retrieve multiple metadata typessf project retrieve start --metadata <Type1> --metadata <Type2> --target-org <alias> --json
Retrieve by manifestsf project retrieve start --manifest <path/to/package.xml> --target-org <alias> --json
Retrieve by package namesf project retrieve start --package-name <PackageName> --target-org <alias> --json
Retrieve to metadata format (ZIP)sf project retrieve start --source-dir <path> --target-metadata-dir <output> --unzip --target-org <alias> --json
Ignore conflictssf project retrieve start --source-dir <path> --ignore-conflicts --target-org <alias> --json

Rules / Constraints

ConstraintRationale
Always use --json flagProvides structured output for reliable parsing and error handling
Must run from within Salesforce projectCommand requires sfdx-project.json at repo root
Wildcard patterns must be quotedShell expansion breaks unquoted wildcards like ApexClass:My*
Cannot mix --manifest with --metadata or --source-dirMutually exclusive flags — command will error
Retrieve all changes requires source trackingProduction orgs don't support source tracking — must use other retrieval modes
--ignore-conflicts only works on trackable orgsNo effect on production orgs; applies to scratch/sandbox only
--output-dir must be inside project directoryCommand validates output path is within project boundary
--output-dir cannot match package directoryCommand fails if target matches sfdx-project.json packageDirectories
Default wait time is 33 minutesUse --wait flag to override for large retrievals
Package retrieval is for reference onlyRetrieved package metadata should not be added to source control for development
CustomField retrieval auto-includes CustomObjectWhen retrieving CustomField, CLI automatically adds CustomObject to get full context

Troubleshooting

IssueResolution
"This command is required to run from within an SFDX project"Not in Salesforce project directory — cd to project root with sfdx-project.json
"No org found for " errorOrg alias doesn't exist or isn't authenticated — verify with sf org list
"This org does not support source tracking"Production org doesn't allow "retrieve all changes" mode — use --source-dir, --metadata, or --manifest instead
"ERROR running project retrieve start: Cannot mix --manifest with --metadata or --source-dir"Remove conflicting flags — use one retrieval mode only
Wildcard pattern retrieves nothingPattern not quoted — wrap in single quotes: 'ApexClass:My*'
"The package directory path in sfdx-project.json does not exist"Output directory conflicts with package directory — use different path
"Output directory must be inside the project"--output-dir path is outside project boundary — use relative path inside project
Retrieve times outIncrease wait time with --wait 60 for large metadata volumes
Retrieved files overwrite local changesUse --output-dir to retrieve to separate location, or commit local changes first
SourceConflictError with conflict tableConflicts detected between local and remote on trackable org (scratch/sandbox) — resolve conflicts manually or use --ignore-conflicts to force overwrite

Output Expectations

The command returns JSON output with retrieved components details.

See examples/success_output.json and examples/error_output.json for response structures.


Cross-Skill Integration

NeedDelegate to
Deploy metadata to orgplatform-metadata-deploy skill
Preview retrieve without executingExecute sf project retrieve preview --target-org <alias> --json
List available metadata typesExecute sf org list metadata-types --target-org <alias> --json

Reference File Index

FileWhen to read
examples/success_output.jsonTo understand successful retrieve response structure
examples/error_output.jsonTo handle common error scenarios
references/retrieval_modes.mdFor detailed explanation of all retrieval modes and when to use each
references/cli_flags.mdFor complete flag reference with usage patterns

Archivos 5 archivos

Instálala a mano

Deska ejecuta esto por ti, para cada agente que elijas. Para ejecutarlo tú en una terminal:

npx skills add forcedotcom/sf-skills --skill platform-metadata-retrieve

Más de forcedotcom

  • platform-apex-generateforcedotcomPrimary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.6,700 instalaciones en skills.sh0
  • platform-apex-test-generateforcedotcomUse to generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking, assertions, and disciplined test-fix loops. Use when creating Apex test classes (for triggers, services, controllers, batch jobs, queueables, and callouts), improving coverage, debugging or fixing failing Apex tests, or running test/coverage analysis. Triggers on *Test.cls files, sf apex run test, coverage reports. Do NOT trigger for production Apex (use platform-apex-generate) or Jest/LWC tests.6,600 instalaciones en skills.sh0
  • platform-apex-test-runforcedotcomApex test execution, coverage analysis, and test-fix loops with 120-point scoring. Use when the user runs Apex tests, checks code coverage, fixes failing tests, or touches *Test.cls / *_Test.cls files. DO NOT TRIGGER when writing Apex production code (use platform-apex-generate), Agentforce agent testing (use agentforce-test), or Jest/LWC tests (use experience-lwc-generate).6,500 instalaciones en skills.sh0
  • platform-apex-logs-debugforcedotcomSalesforce debug log analysis and troubleshooting with 100-point scoring. TRIGGER when: user analyzes debug logs, hits governor limits, reads stack traces, or touches .log files from Salesforce orgs. DO NOT TRIGGER when: running Apex tests (use platform-apex-test-run), generating or fixing Apex code (use platform-apex-generate), or Agentforce session tracing (use agentforce-observe).6,400 instalaciones en skills.sh0
  • platform-metadata-deployforcedotcomSalesforce DevOps automation using sf CLI v2. TRIGGER when: user deploys metadata, creates/manages scratch orgs or sandboxes, sets up CI/CD pipelines, or troubleshoots deployment errors with sf project deploy. DO NOT TRIGGER when: writing Apex code (use platform-apex-generate), building LWC components (use experience-lwc-generate), creating metadata definitions (use platform-custom-object-generate or platform-custom-field-generate), or querying org data (use platform-data-manage).6,300 instalaciones en skills.sh0
Todas las skills de forcedotcom