Auto-fixes Salesforce build errors including Apex compilation, metadata conflicts, dependencies, and test failures blocking deployments.
How this skill is triggered — by the user, by Claude, or both
Slash command
/salesforce-claude-code:sf-build-fixThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Fix build and deployment errors incrementally. Parse error output, classify issues, fix one at a time, re-validate.
Fix build and deployment errors incrementally. Parse error output, classify issues, fix one at a time, re-validate.
Reference: @../_reference/DEPLOYMENT_CHECKLIST.md
sf project deploy and need systematic resolutionRun a dry-run deployment or check compiler output:
sf project deploy validate --target-org <alias> --json 2>&1
If the user pasted error output directly, use that instead.
Group errors by type and fix in this dependency order:
| Priority | Error Type | Fix Strategy |
|---|---|---|
| 1 | Missing object/field metadata | Deploy metadata first -- objects before classes |
| 2 | Missing class/interface reference | Check spelling, verify class exists, check API version |
| 3 | Type mismatch | Cast explicitly, check null handling, verify generic types |
| 4 | Method signature changed | Update all callers, check for overloaded methods |
| 5 | Metadata conflict | Retrieve latest from org with sf project retrieve start, merge |
| 6 | Test failure | Fix test data setup, update assertions, check @TestSetup |
| 7 | Governor limit in test | Add Test.startTest()/stopTest(), reduce data volume |
For each error:
sf project deploy validate --metadata "ApexClass:<ClassName>" --target-org <org>After all fixes:
sf project deploy validate --target-org <alias> --test-level RunLocalTests
| Error Message Pattern | Root Cause | Fix |
|---|---|---|
Variable does not exist: X | Undeclared variable or field removed | Declare variable or check field API name |
Method does not exist or incorrect signature | Wrong parameter types or method renamed | Check method signature in target class |
Illegal assignment from X to Y | Type mismatch | Add explicit cast or fix generic type |
Non-void method might not return a value | Missing return in a branch | Add return statement to all code paths |
Compile Error: unexpected token | Syntax error | Check line above the reported line |
System.NullPointerException (test) | Null reference in test setup | Add null checks or fix @TestSetup |
Duplicate value found (test) | Test data collision | Use unique identifiers, avoid SeeAllData |
FIELD_CUSTOM_VALIDATION_EXCEPTION (test) | Validation rule blocking test DML | Populate all required fields in test data |
MIXED_DML_OPERATION (test) | Setup + non-setup DML in same transaction | Use System.runAs() in tests or @future in production |
UNABLE_TO_LOCK_ROW (test) | Concurrent test data conflicts | Use unique records per test method |
When deploying multiple metadata types, follow this order:
When sf project deploy reports conflicts:
sf project retrieve start --metadata <type>:<name>diff force-app/main/default/<path> <retrieved-path>sf-build-fix
sf-build-fix Fix the Apex compile errors from this deployment output: <paste errors>
sf-build-fix The AccountService.cls has a type mismatch on line 47
sf-build-fix Resolve the metadata conflicts blocking our deployment to UAT
sf-deployment-constraints -- deployment safety rules and validation gatesnpx claudepluginhub jiten-singh-shahi/salesforce-claude-code --plugin salesforce-claude-codeOrchestrates Salesforce metadata deployments with sf CLI v2: dry-run validation, targeted deploys, CI/CD workflow advice, scratch-org management, and failure triage.
Validates Salesforce deployment packages against sandbox orgs via dry-run, surfacing deployment issues, test failures, and metadata dependency problems without committing changes. Refuses production targets.
Set up Salesforce CI/CD pipelines with GitHub Actions, SFDX deployments, JWT auth, and Apex testing. For automating metadata validation and tests in Salesforce repos.