salesforce-dx — Claude Code skill: Salesforce DX rules for agents
A skill that makes your coding agent follow Salesforce DX conventions: Apex, triggers, LWC, scratch orgs and SFDX CLI workflows.
npx skills add Mindrally/skills --skill salesforce-dx -a claude-codeWhat salesforce-dx does
The skill kicks in when you write Apex, triggers or Lightning Web Components, and the agent sticks to a fixed set of conventions. Classes get separation of concerns with reusable functions moved into a Utility class, SOQL stays out of loops, custom exception classes handle errors, and CRUD plus FLS checks are expected. Naming is PascalCase for classes, camelCase for methods and variables, with ApexDocs comments on classes and complex blocks.
Triggers follow one-trigger-per-object plus a separate handler class. Context variables get used deliberately, a static boolean flag stops recursion, and records are processed in bulk. In LWC the skill leans on @wire and standard Lightning Data Service, SLDS for layout, ARIA attributes for accessibility, and force:navigateToComponent for navigation.
Environment work covers scratch org definitions, package.xml manifests, .forceignore, and commands like sfdx force:source:push, sfdx force:org:create and sfdx force:data:tree for test data. The project layout it assumes puts classes, LWC, triggers, objects, permission sets and profiles under force-app/main/default. One thing to expect: the skill asks for documented justification before any new object or field is created, so teams that add fields freely will feel the friction.
What it helps with
- split trigger logic into a handler class
- keep SOQL queries out of loops
- set up a scratch org with project-scratch-def.json
- build a package.xml manifest for deployment
- document Apex classes with ApexDocs comments
Example prompts for the agent
- Write an Apex class for discount calculation, move shared logic into a Utility class and add CRUD and FLS checks
- Create an Account trigger with a separate handler class and recursion guard
- Build an LWC with lightning-record-edit-form and error handling via lightning-card
How to install salesforce-dx
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill salesforce-dx -a claude-code2Manually: put the files in place
~/.claude/skills/salesforce-dx/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/salesforce-dx/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill salesforce-dx -a codex2Manually: put the files in place
.agents/skills/salesforce-dx/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill salesforce-dx -a cursor2Manually: put the files in place
.cursor/skills/salesforce-dx/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills salesforce-dx2Manually: put the files in place
.github/skills/salesforce-dx/SKILL.md1Skills CLI (Vercel)
npx skills add Mindrally/skills --skill salesforce-dx -a gemini-cli2Platform CLI
gemini skills install https://github.com/Mindrally/skills --path salesforce-dxManually: put the files in place
.devin/skills/salesforce-dx/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Mindrally/skills --skill salesforce-dx -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about salesforce-dx
How do I install salesforce-dx in Claude?
Run npx skills add Mindrally/skills --skill salesforce-dx -a claude-code. The skill file lands at ~/.claude/skills/salesforce-dx/SKILL.md.
What does salesforce-dx do?
It gives the agent Salesforce DX development rules: Apex standards, the trigger handler pattern, Lightning Web Components practices, scratch org setup and SFDX CLI commands.
Which platforms support the skill?
Besides Claude it installs into Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode, each with its own install command.
Source text
SKILL.md · Apache-2.0
--- name: salesforce-dx description: Expert guidance for Salesforce DX development with modern tooling, source-driven development, and CI/CD best practices metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Salesforce DX Development You are an expert in Salesforce DX (SFDX) development, including modern Salesforce development workflows, scratch orgs, and source-driven development. ## Apex Code Standards - Implement proper separation of concerns, suggesting to move reusable functions into a Utility class - Leverage efficient SOQL queries and prevent queries within loops - Implement error handling and create custom exception classes if necessary - Apply Salesforce security best practices with CRUD and FLS validation - Use consistent naming conventions: PascalCase for class names, camelCase for method and variable names - Maintain proper indentation and code formatting - Use ApexDocs comments to document classes, methods, and complex code blocks for better maintainability - Design code to handle large datasets efficiently through bulkification ## Apex Triggers - Follow the one-trigger-per-object architectural pattern - Implement a trigger handler class to separate trigger logic from the trigger itself - Use Trigger context variables strategically for record access - Prevent recursive trigger execution with static boolean flags - Process data in bulk for performance - Apply before/after logic based on operational needs - Document triggers thoroughly with ApexDocs - Enforce CRUD and FLS checks during DML operations ## Lightning Web Components - Use the @wire decorator to efficiently retrieve data, preferring standard Lightning Data Service - Display accessible error messaging through lightning-card components - Apply SLDS for consistent design and layout - Implement ARIA attributes and keyboard navigation support - Use lightning-record-edit-form for data operations - Navigate with force:navigateToComponent events - Add lightning:availableForFlowScreens interface for Flow compatibility ## Metadata & Code Generation - Prioritize existing Salesforce objects and fields; only create new ones when necessary with documented justification - Provide complete JavaScript, HTML, CSS, Apex, and XML metadata files - Include focused comments on key design decisions - Use scratch org definition files for consistent development environments - Implement package.xml manifests for deployment management ## SFDX CLI Best Practices - Use sfdx force:source:push and sfdx force:source:pull for scratch org development - Implement proper .forceignore files to exclude unnecessary files - Use sfdx force:org:create for scratch org management - Leverage sfdx force:data:tree commands for test data management - Implement CI/CD pipelines using SFDX CLI commands ## Project Structure ``` force-app/ ├── main/ │ └── default/ │ ├── classes/ │ ├── lwc/ │ ├── triggers/ │ ├── objects/ │ ├── permissionsets/ │ └── profiles/ ├── config/ │ └── project-scratch-def.json ├── scripts/ └── sfdx-project.json ``` ## Scratch Org Configuration - Define features and settings in project-scratch-def.json - Use org shapes for complex configurations - Implement data seeding scripts for development - Configure user permissions and profiles ## Version Control Integration - Use Git for source control with meaningful commit messages - Implement branching strategies (feature branches, GitFlow) - Use pull requests for code review - Integrate with CI/CD tools (GitHub Actions, Jenkins, GitLab CI) ## Package Development - Use unlocked packages for modular development - Implement package versioning strategies - Test packages in scratch orgs before promotion - Use namespaced packages for ISV development
© Mindrally · Apache-2.0 · Mindrally/skills