Salesforce prod checklist
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill salesforce-prod-checklistAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
'Execute Salesforce production deployment checklist with sandbox testing and rollback.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.3 KB, as published. Nobody here has run it
Salesforce Production Checklist
Overview
Complete checklist for deploying Salesforce integrations to production, including sandbox validation, API limit planning, and rollback procedures.
Prerequisites
- Staging/sandbox environment tested and verified
- Production Connected App configured
- Dedicated integration user in production
- Monitoring and alerting ready
Instructions
Pre-Deployment Configuration
- Production Connected App has minimum OAuth scopes (not
full) - Dedicated integration user with restricted profile (not admin)
- SF_LOGIN_URL set to
https://login.salesforce.com(nottest.salesforce.com) - All credentials stored in vault/secrets manager (not env files)
- IP restrictions configured on Connected App and user profile
- JWT certificate uploaded (if using JWT Bearer flow)
API Limit Planning
- Estimated daily API calls documented
- API limit headroom > 20% (
GET /services/data/v59.0/limits/) - Bulk API used for operations > 200 records
- Composite API used for multi-object transactions
- sObject Collections used for batch CRUD (max 200/call)
- Caching implemented for describe/metadata calls
Code Quality
- All SOQL queries use parameterized filters (no injection)
- Error handling covers Salesforce error codes (
INVALID_FIELD,REQUEST_LIMIT_EXCEEDED, etc.) - Retry logic implemented for transient errors (
UNABLE_TO_LOCK_ROW,SERVER_UNAVAILABLE) - No hardcoded Salesforce IDs (use External IDs or SOQL lookups)
- Connection auto-refreshes expired tokens
- Logging redacts PII and credentials
Sandbox Validation
# Test in Full sandbox first (mirrors production data)
# 1. Deploy to sandbox
sf project deploy start --target-org my-sandbox
# 2. Run integration tests against sandbox
SF_LOGIN_URL=https://test.salesforce.com npm run test:integration
# 3. Verify API limits are within budget
sf limits api display --target-org my-sandbox --json | jq '.result[] | select(.name == "DailyApiRequests")'
# 4. Check Apex test results
sf apex run test --target-org my-sandbox --result-format human --code-coverage
Health Check Endpoint
async function salesforceHealthCheck(): Promise<{
status: 'healthy' | 'degraded' | 'unhealthy';
details: Record<string, any>;
}> {
const conn = await getConnection();
const start = Date.now();
try {
const [identity, limits] = await Promise.all([
conn.identity(),
conn.request('/services/data/v59.0/limits/'),
]);
const apiUsagePercent = ((limits.DailyApiRequests.Max - limits.DailyApiRequests.Remaining) / limits.DailyApiRequests.Max) * 100;
return {
status: apiUsagePercent > 90 ? 'degraded' : 'healthy',
details: {
connected: true,
latencyMs: Date.now() - start,
instance: conn.instanceUrl,
apiRemaining: limits.DailyApiRequests.Remaining,
apiUsagePercent: Math.round(apiUsagePercent),
},
};
} catch (error: any) {
return {
status: 'unhealthy',
details: { connected: false, error: error.message, latencyMs: Date.now() - start },
};
}
}
Deployment Steps
# 1. Pre-flight: check Salesforce system status
curl -s https://api.status.salesforce.com/v1/incidents/active | jq 'length'
# 2. Verify production API limits
sf limits api display --target-org production --json
# 3. Deploy metadata (if applicable)
sf project deploy start --target-org production --dry-run # Validate first
sf project deploy start --target-org production # Then deploy
# 4. Verify health check
curl -sf https://yourapp.com/health | jq '.services.salesforce'
# 5. Monitor error rates for 30 minutes after deploy
Rollback Procedure
# Metadata rollback
sf project deploy start --target-org production --metadata-dir rollback/
# Integration rollback: revert to previous version
# Feature flag: disable Salesforce integration without redeploying
SF_INTEGRATION_ENABLED=false
Error Handling
| Alert | Condition | Severity |
|---|---|---|
| API Limit Warning | > 80% daily limit used | P3 |
| API Limit Critical | > 95% daily limit used | P1 |
| Auth Failure | INVALID_SESSION_ID errors | P1 |
| SOQL Errors | MALFORMED_QUERY or INVALID_FIELD | P2 |
| Record Lock | UNABLE_TO_LOCK_ROW spikes | P3 |
Resources
Next Steps
For version upgrades, see salesforce-upgrade-migration.