NYC
skills/smithery/ai/salesforce-admin

salesforce-admin

SKILL.md

Salesforce Admin

Salesforce administration via CLI with best practices for metadata management, security, automation, and data operations.

Quick Reference

Common sf CLI Commands

# Authentication
sf org login web --alias myorg              # Login via browser
sf org login web --alias myorg --instance-url https://test.salesforce.com  # Sandbox
sf org list                                  # List connected orgs
sf org display --target-org myorg           # Show org details

# Metadata Operations
sf project retrieve start --metadata "CustomObject:Account"    # Retrieve specific
sf project retrieve start --manifest manifest/package.xml      # Retrieve from manifest
sf project deploy start --source-dir force-app                 # Deploy directory
sf project deploy start --metadata "CustomField:Account.Custom__c"  # Deploy specific

# Data Operations
sf data query --query "SELECT Id, Name FROM Account LIMIT 10" --target-org myorg
sf data export tree --query "SELECT Id, Name FROM Account" --output-dir data/
sf data import tree --files data/Account.json --target-org myorg

# User Management
sf org assign permset --name MyPermSet --target-org myorg
sf org generate password --target-org myorg

Workflow Decision Tree

  1. Creating/modifying metadata → Use sf project retrieve then edit XML, then sf project deploy
  2. User/security changes → See references/security.md
  3. Building automation → See references/automation.md
  4. Data operations → See references/data-management.md
  5. Object/field work → See references/objects-fields.md

Project Structure

Standard Salesforce DX project layout:

force-app/
└── main/
    └── default/
        ├── classes/           # Apex classes
        ├── objects/           # Custom objects and fields
        │   └── MyObject__c/
        │       ├── MyObject__c.object-meta.xml
        │       └── fields/
        │           └── MyField__c.field-meta.xml
        ├── flows/             # Flow definitions
        ├── permissionsets/    # Permission sets
        ├── profiles/          # Profiles
        ├── triggers/          # Apex triggers
        └── layouts/           # Page layouts
manifest/
└── package.xml               # Deployment manifest

Naming Conventions (Best Practices)

Type Convention Example
Custom Object PascalCase + __c Invoice__c, OrderItem__c
Custom Field PascalCase + __c Total_Amount__c, Is_Active__c
Flow PascalCase, descriptive Account_After_Insert_Handler
Permission Set PascalCase, role-based Sales_Manager_Access
Apex Class PascalCase AccountTriggerHandler
Apex Trigger Object + Trigger AccountTrigger

Common Tasks

Create a Custom Object

  1. Retrieve existing objects for reference:

    sf project retrieve start --metadata "CustomObject"
    
  2. Create object metadata XML at force-app/main/default/objects/MyObject__c/MyObject__c.object-meta.xml

  3. Deploy:

    sf project deploy start --source-dir force-app/main/default/objects/MyObject__c
    

Add a Custom Field

  1. Create field XML at force-app/main/default/objects/Account/fields/My_Field__c.field-meta.xml

  2. Deploy:

    sf project deploy start --metadata "CustomField:Account.My_Field__c"
    

Deploy with Validation Only (Checkonly)

sf project deploy start --source-dir force-app --dry-run --test-level RunLocalTests

Run Apex Tests

sf apex run test --target-org myorg --test-level RunLocalTests --wait 10
sf apex run test --class-names MyTestClass --target-org myorg

Resources

Weekly Installs
2
Repository
smithery/ai
First Seen
1 day ago
Installed on
claude-code2