Installs into .claude/skills of the current project.
Are you the author of Salesforce?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/pranavnagrecha-salesforce)
---
name: salesforce
description: "Entry point for the SfSkills Salesforce library: 1,040 skill packages across 11 domains (admin, agentforce, apex, architect, data, devops, flow, integration, lwc, omnistudio, security), 70 run-time agents and 92 slash commands. Use for any Salesforce, Force.com or Lightning Platform question — Apex, SOQL, SOSL, triggers, Flow, LWC, sObject, custom field, permission set, profile, sharing rule, validation rule, deployment, sandbox, Agentforce, OmniStudio, org setup. This skill does not answer Salesforce questions itself; it routes to the specific skill package that does, then hands off to a domain router."
---
# Salesforce — SfSkills library router
You are working with a Salesforce library that is far too large to
load. This file tells you how to reach the one page you need.
**Generated by `scripts/build_plugin.py`. Do not hand-edit.**
## What is in the library
- **1,040 skill packages** under `${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/`.
Each is a `SKILL.md` plus `references/examples.md`, `gotchas.md`,
`well-architected.md` and `llm-anti-patterns.md`.
- **70 run-time agents** under `${CLAUDE_PLUGIN_ROOT}/agents/<id>/AGENT.md`,
exposed as subagents (see the roster at the bottom of this file).
- **92 slash commands** under `${CLAUDE_PLUGIN_ROOT}/commands/`.
- **Decision trees** under `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/`,
which route between technologies *before* a skill is opened.
- **Canonical templates** under `${CLAUDE_PLUGIN_ROOT}/templates/`.
Skill counts by domain:
| Domain | Skills | Router |
|---|---:|---|
| `admin` | 261 | `salesforce-admin` |
| `agentforce` | 53 | `salesforce-agentforce` |
| `apex` | 159 | `salesforce-apex` |
| `architect` | 106 | `salesforce-architect` |
| `data` | 101 | `salesforce-data` |
| `devops` | 70 | `salesforce-devops` |
| `flow` | 63 | `salesforce-flow` |
| `integration` | 61 | `salesforce-integration` |
| `lwc` | 83 | `salesforce-lwc` |
| `omnistudio` | 34 | `salesforce-omnistudio` |
| `security` | 49 | `salesforce-security` |
| **total** | **1,040** | |
## How to find the right skill
Three mechanisms, listed in order of reliability on a fresh install.
Use the first one that is available; do not stop at a guess.
**1. The shipped rosters (always work, no setup).**
Hand off to the domain router below; each one ships a complete
`references/skill-index.md` roster of its packages, generated from
`registry/skills.json`. To read one directly, open
`${CLAUDE_PLUGIN_ROOT}/.claude/skills/salesforce-<domain>/references/skill-index.md`.
**2. The MCP server (fast, needs the `sfskills-mcp` server connected).**
Call the `search_skill` tool with the user's phrasing. It returns
ranked skill ids. `get_skill` then returns the package contents.
**3. The search CLI (fast, needs a locally built index).**
```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --json
```
This needs `vector_index/`, which is **not shipped** — it is gitignored
and must be built once per clone:
```bash
cd "${CLAUDE_PLUGIN_ROOT}" && python3 -m pip install -r requirements.txt && python3 scripts/build_index.py
```
If the command errors or reports `Coverage: NONE`, fall back to
mechanism 1 rather than telling the user the topic is uncovered.
**Then read the package.** Open the exact
`${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/SKILL.md` the lookup
returned, plus its `references/gotchas.md` and
`references/llm-anti-patterns.md`. Do not answer from this router:
it is a map, not the territory.
## Domain routers
Hand off to the router for the domain the request lands in. Each one
carries that domain's featured skills, decision trees and templates.
- **`salesforce-admin`** (261 skills) — Declarative Salesforce configuration: objects, fields, record types, page layouts, permission sets, reports, the record-access model (OWD, role hierarchy, sharing rules), and the requirements work that precedes them.
- **`salesforce-agentforce`** (53 skills) — Agentforce and Einstein: agents, topics, actions, prompt templates, grounding, guardrails, evaluation and production readiness.
- **`salesforce-apex`** (159 skills) — Apex and SOQL: triggers, Apex governor limits, async processing, OUTBOUND HTTP callouts, security enforcement, and test patterns. Owns calling an external API FROM Salesforce; salesforce-integration owns inbound. Generic nightly scheduling without naming code belongs to salesforce-flow. Codebase security review belongs to salesforce-security. NOT for SOSL — use salesforce-data.
- **`salesforce-architect`** (106 skills) — Solution and platform architecture: multi-org strategy, scalability limits, licensing, Well-Architected reviews and architecture decision records.
- **`salesforce-data`** (101 skills) — Data model, data movement and data quality: migrations, bulk loads, query optimisation, deduplicating at volume, archival. Ordinary-volume duplicate cleanup and prevention use salesforce-admin; come here for hundreds-of-thousands+ dedup or third-party tools. LDV architecture uses salesforce-architect.
- **`salesforce-devops`** (70 skills) — Salesforce delivery: source tracking, packaging, branching, CI/CD pipelines, environment strategy and deployment troubleshooting.
- **`salesforce-flow`** (63 skills) — Flow Builder: record-triggered, screen, scheduled and orchestration flows, bulkification, fault handling, limits, testing. "My flow" belongs here even when salesforce-apex also names the limit. Nightly scheduling without naming code defaults here; apex takes it when code/class/Apex is named. Flow-vs-Apex choice before anything is built: admin/process-automation-selection.
- **`salesforce-integration`** (61 skills) — INBOUND integration and the API surface itself: the Salesforce REST and SOAP APIs, Bulk API 2.0 jobs, Platform Events, CDC, Pub/Sub, Named Credentials and middleware. For calling OUT to someone else's API from Apex, use salesforce-apex instead.
- **`salesforce-lwc`** (83 skills) — Lightning Web Components: reactivity, wire adapters, component communication, accessibility, performance, security and Jest testing.
- **`salesforce-omnistudio`** (34 skills) — OmniStudio: OmniScripts, FlexCards, DataRaptors, Integration Procedures, Business Rules Engine and DataPack deployment.
- **`salesforce-security`** (49 skills) — Platform security and compliance: org hardening, encryption, session policy, MFA, monitoring, incident response, and TROUBLESHOOTING a specific record-access denial. Designing the sharing model itself (OWD, role hierarchy, sharing rules) is salesforce-admin.
## Decision trees — read before choosing a technology
When a request straddles more than one technology, read the tree
*before* activating any skill, and cite the branch that decided it.
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/agentforce-capability-selector.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/async-selection.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/automation-selection.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/flow-pattern-selector.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/integration-pattern-selection.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/performance-tuning.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/sharing-selection.md`
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/README.md` — the index,
with the rule for when a tree outranks a retrieval tie
## Cross-domain entry points
If you need a place to start before running a lookup, these are the
highest-traffic packages in the library:
- `${CLAUDE_PLUGIN_ROOT}/skills/admin/object-creation-and-design/SKILL.md` — designing a new object or reworking an existing one
- `${CLAUDE_PLUGIN_ROOT}/skills/admin/permission-set-architecture/SKILL.md` — who can see and do what
- `${CLAUDE_PLUGIN_ROOT}/skills/apex/trigger-framework/SKILL.md` — any trigger work at all
- `${CLAUDE_PLUGIN_ROOT}/skills/apex/governor-limits/SKILL.md` — anything that says "too many" or "exceeded"
- `${CLAUDE_PLUGIN_ROOT}/skills/apex/soql-fundamentals/SKILL.md` — query correctness and selectivity
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/record-triggered-flow-patterns/SKILL.md` — the most common declarative automation
- `${CLAUDE_PLUGIN_ROOT}/skills/lwc/component-communication/SKILL.md` — the first thing an LWC build gets wrong
- `${CLAUDE_PLUGIN_ROOT}/skills/data/data-model-design-patterns/SKILL.md` — relationships and normalisation
- `${CLAUDE_PLUGIN_ROOT}/skills/integration/rest-api-patterns/SKILL.md` — talking to or from an external system
- `${CLAUDE_PLUGIN_ROOT}/skills/security/org-hardening-and-baseline-config/SKILL.md` — the org security baseline
- `${CLAUDE_PLUGIN_ROOT}/skills/architect/well-architected-review/SKILL.md` — assessing an org against Salesforce Well-Architected
- `${CLAUDE_PLUGIN_ROOT}/skills/devops/salesforce-dx-project-structure/SKILL.md` — getting metadata into source control
- `${CLAUDE_PLUGIN_ROOT}/skills/agentforce/agentforce-agent-creation/SKILL.md` — building an Agentforce agent
- `${CLAUDE_PLUGIN_ROOT}/skills/omnistudio/omniscript-design-patterns/SKILL.md` — OmniStudio guided flows
## Run-time agents
For a whole workflow rather than a single question, invoke the
matching subagent. Each reads its full `AGENT.md` playbook, cites
every skill it consulted, and never deploys to an org.
- **admin** — `assignment-and-auto-response-rules-designer`, `audit-router`, `automation-migration-router`, `build-doc-keeper`, `build-planner`, `business-hours-and-holidays-configurator`, `change-impact-planner`, `config-workbook-author`, `csv-to-object-mapper`, `custom-metadata-and-settings-designer`, `email-template-modernizer`, `entitlement-and-milestone-designer`, `experience-cloud-admin-designer`, `field-impact-analyzer`, `fit-gap-analyzer`, `knowledge-article-taxonomy-agent`, `lead-routing-rules-designer`, `metadata-builder`, `object-designer`, `omni-channel-routing-designer`, `path-designer`, `permission-set-architect`, `plan-verifier`, `process-flow-mapper`, `profile-to-permset-migrator`, `requirements-clarifier`, `sales-stage-designer`, `salesforce-learning-guide`, `story-drafter`, `user-access-diff`
- **agentforce** — `agentforce-action-reviewer`, `agentforce-builder`, `agentforce-quality-engineer`
- **apex** — `apex-builder`, `apex-refactorer`, `apex-test-failure-triager`, `automation-transaction-profiler`, `security-scanner`, `soql-optimizer`, `test-class-generator`, `trigger-consolidator`
- **architect** — `org-health-assessor-v2`, `salesforce-decision-facilitator`, `waf-assessor`
- **data** — `data-loader-pre-flight`, `data-migration-reconciler`, `data-model-reviewer`, `duplicate-rule-designer`
- **devops** — `build-step-runner`, `changeset-builder`, `deployment-failure-triager`, `deployment-risk-scorer`, `milestone-verifier`, `multi-org-drift-analyzer`, `release-readiness-reviewer`, `release-train-planner`, `sandbox-strategy-designer`, `step-tester`
- **flow** — `flow-analyzer`, `flow-builder`, `flow-orchestrator-designer`
- **integration** — `bulk-migration-planner`, `integration-catalog-builder`, `integration-incident-triager`
- **lwc** — `lwc-auditor`, `lwc-builder`, `lwc-debugger`
- **omnistudio** — `omnistudio-designer`
- **security** — `access-path-explainer`, `security-posture-reviewer`
## Rules
1. Never answer a Salesforce behaviour, limit or API question from
this file. Route, open the package, then answer from it.
2. Cite every skill id, template path and decision-tree branch you
used. The library's value is that its claims are traceable.
3. Never claim the library lacks coverage without having run a
lookup and pasted its output.
4. Never deploy to an org and never write outside the paths the user
gave you.