Salesforce admin — SfSkills domain router
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.
260 skill packages live under
${CLAUDE_PLUGIN_ROOT}/skills/admin/<slug>/SKILL.md. They are not
loaded — reach them by path, on demand.
Generated by scripts/build_plugin.py. Do not hand-edit.
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 roster (always works, no setup).
Read references/skill-index.md next to this file. It lists every
admin skill package with a one-line gloss, generated from
registry/skills.json. Scan it and pick by name.
2. The MCP server (fast, needs the sfskills-mcp server connected).
Call the search_skill tool with the user's phrasing and domain: "admin". It returns
ranked skill ids. get_skill then returns the package contents.
3. The search CLI (fast, needs a locally built index).
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --domain admin --json
This needs vector_index/, which is not shipped — it is gitignored
and must be built once per clone:
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.
Featured entry points
Curated starting points when the request is broad or the lookup is
ambiguous. This is a shortlist, not the catalogue — the roster at
references/skill-index.md has all 260.
${CLAUDE_PLUGIN_ROOT}/skills/admin/object-creation-and-design/SKILL.md — start here for any new sObject — naming, relationships, and the fields you will regret later
${CLAUDE_PLUGIN_ROOT}/skills/admin/custom-field-creation/SKILL.md — field types, FLS, and the ones that cannot be changed after data lands
${CLAUDE_PLUGIN_ROOT}/skills/admin/validation-rules/SKILL.md — declarative enforcement, and where a validation rule fights automation
${CLAUDE_PLUGIN_ROOT}/skills/admin/record-types-and-page-layouts/SKILL.md — record type strategy before it multiplies out of control
${CLAUDE_PLUGIN_ROOT}/skills/admin/permission-set-architecture/SKILL.md — the permission-set-first access model that replaces profiles
${CLAUDE_PLUGIN_ROOT}/skills/admin/user-management/SKILL.md — user lifecycle, licences, freeze vs deactivate, and integration users
${CLAUDE_PLUGIN_ROOT}/skills/admin/duplicate-management/SKILL.md — matching rules and duplicate rules, including the person-account edge cases
${CLAUDE_PLUGIN_ROOT}/skills/admin/reports-and-dashboards-fundamentals/SKILL.md — report types, folder sharing, and why a report returns the wrong rows
Decision trees
Read the tree before activating a skill when the request could be
solved more than one way, and cite the branch that decided it.
${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/automation-selection.md — read before choosing a declarative automation over Apex
${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/sharing-selection.md — read before designing an object's access model
Canonical templates
Do not hand-roll an idiom that already exists. Copy from
${CLAUDE_PLUGIN_ROOT}/templates/admin/ and rename in the consuming
project; never edit the template in place.
${CLAUDE_PLUGIN_ROOT}/templates/admin/naming-conventions.md
${CLAUDE_PLUGIN_ROOT}/templates/admin/permission-set-patterns.md
${CLAUDE_PLUGIN_ROOT}/templates/admin/validation-rule-patterns.md
${CLAUDE_PLUGIN_ROOT}/templates/admin/README.md — the full list
Run-time agents for this domain
Invoke one of these subagents when the ask is a whole workflow
rather than a single question:
assignment-and-auto-response-rules-designer — Design or audit Assignment + Auto-Response rules
audit-router — Run the SfSkills audit-router run-time agent
automation-migration-router — Run the SfSkills automation-migration-router run-time agent
business-hours-and-holidays-configurator — Design or audit Business Hours + Holidays
config-workbook-author — Compile the canonical 10-section Salesforce Configuration Workbook
csv-to-object-mapper — Map a CSV to an sObject for a data load
custom-metadata-and-settings-designer — Design or audit Custom Metadata Types + Custom Settings
email-template-modernizer — Audit and plan email template modernization
entitlement-and-milestone-designer — Design or audit Entitlement Processes + Milestones
experience-cloud-admin-designer — Design or audit an Experience Cloud site admin setup
field-impact-analyzer — Score the blast radius of renaming or deleting a field
fit-gap-analyzer — Fit-gap a backlog against a target Salesforce org
knowledge-article-taxonomy-agent — Design or audit Knowledge taxonomy
lead-routing-rules-designer — Design or audit lead routing
object-designer — Design a Setup-ready sObject from a business concept
omni-channel-routing-designer — Design or audit Omni-Channel routing
path-designer — Design or audit a Sales/Service Path
permission-set-architect — Design or audit Permission Sets + Permission Set Groups
process-flow-mapper — Map a process narrative to a Salesforce-aware swim-lane flow
profile-to-permset-migrator — Decompose a Profile into Permission Sets + PSGs
sales-stage-designer — Design or audit Opportunity sales stages
salesforce-learning-guide — Research and teach one Salesforce topic with current evidence, citations, practice, and knowledge checks
story-drafter — Draft a Salesforce-aware INVEST story backlog
user-access-diff — Side-by-side access comparison between two Salesforce users
Rules
- Answer from the opened
admin package, never from this router.
- Cite the skill id and, where one applied, the decision-tree branch.
- Never claim a topic is uncovered without pasting lookup output.
- Never deploy to an org.
1---2name: salesforce-admin-23description: Router for the 260 SfSkills `admin` skill packages. 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. Use when the request mentions custom object, custom field, picklist, record type, page layout, permission set, profile, validation rule, report, dashboard, queue, approval process, user setup, sharing rule, org-wide default, OWD, role hierarchy, record access, record visibility, who can see this record, duplicate rule, matching rule, duplicate prevention, clean up duplicates, merge governance, Spring release, seasonal release, Release Updates, Sandbox Preview. Finds and opens the exact skill package to read; it does not contain the guidance itself.4---56# Salesforce admin — SfSkills domain router78Declarative 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.910**260 skill packages** live under11`${CLAUDE_PLUGIN_ROOT}/skills/admin/<slug>/SKILL.md`. They are not12loaded — reach them by path, on demand.1314**Generated by `scripts/build_plugin.py`. Do not hand-edit.**1516## How to find the right skill1718Three mechanisms, listed in order of reliability on a fresh install.19Use the first one that is available; do not stop at a guess.2021**1. The shipped roster (always works, no setup).**22Read `references/skill-index.md` next to this file. It lists every23`admin` skill package with a one-line gloss, generated from24`registry/skills.json`. Scan it and pick by name.2526**2. The MCP server (fast, needs the `sfskills-mcp` server connected).**27Call the `search_skill` tool with the user's phrasing and `domain: "admin"`. It returns28ranked skill ids. `get_skill` then returns the package contents.2930**3. The search CLI (fast, needs a locally built index).**3132```bash33python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --domain admin --json34```3536This needs `vector_index/`, which is **not shipped** — it is gitignored37and must be built once per clone:3839```bash40cd "${CLAUDE_PLUGIN_ROOT}" && python3 -m pip install -r requirements.txt && python3 scripts/build_index.py41```4243If the command errors or reports `Coverage: NONE`, fall back to44mechanism 1 rather than telling the user the topic is uncovered.4546**Then read the package.** Open the exact47`${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/SKILL.md` the lookup48returned, plus its `references/gotchas.md` and49`references/llm-anti-patterns.md`. Do not answer from this router:50it is a map, not the territory.5152## Featured entry points5354Curated starting points when the request is broad or the lookup is55ambiguous. This is a shortlist, not the catalogue — the roster at56`references/skill-index.md` has all 260.5758- `${CLAUDE_PLUGIN_ROOT}/skills/admin/object-creation-and-design/SKILL.md` — start here for any new sObject — naming, relationships, and the fields you will regret later59- `${CLAUDE_PLUGIN_ROOT}/skills/admin/custom-field-creation/SKILL.md` — field types, FLS, and the ones that cannot be changed after data lands60- `${CLAUDE_PLUGIN_ROOT}/skills/admin/validation-rules/SKILL.md` — declarative enforcement, and where a validation rule fights automation61- `${CLAUDE_PLUGIN_ROOT}/skills/admin/record-types-and-page-layouts/SKILL.md` — record type strategy before it multiplies out of control62- `${CLAUDE_PLUGIN_ROOT}/skills/admin/permission-set-architecture/SKILL.md` — the permission-set-first access model that replaces profiles63- `${CLAUDE_PLUGIN_ROOT}/skills/admin/user-management/SKILL.md` — user lifecycle, licences, freeze vs deactivate, and integration users64- `${CLAUDE_PLUGIN_ROOT}/skills/admin/duplicate-management/SKILL.md` — matching rules and duplicate rules, including the person-account edge cases65- `${CLAUDE_PLUGIN_ROOT}/skills/admin/reports-and-dashboards-fundamentals/SKILL.md` — report types, folder sharing, and why a report returns the wrong rows6667## Decision trees6869Read the tree *before* activating a skill when the request could be70solved more than one way, and cite the branch that decided it.7172- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/automation-selection.md` — read before choosing a declarative automation over Apex73- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/sharing-selection.md` — read before designing an object's access model7475## Canonical templates7677Do not hand-roll an idiom that already exists. Copy from78`${CLAUDE_PLUGIN_ROOT}/templates/admin/` and rename in the consuming79project; never edit the template in place.8081- `${CLAUDE_PLUGIN_ROOT}/templates/admin/naming-conventions.md`82- `${CLAUDE_PLUGIN_ROOT}/templates/admin/permission-set-patterns.md`83- `${CLAUDE_PLUGIN_ROOT}/templates/admin/validation-rule-patterns.md`84- `${CLAUDE_PLUGIN_ROOT}/templates/admin/README.md` — the full list8586## Run-time agents for this domain8788Invoke one of these subagents when the ask is a whole workflow89rather than a single question:9091- `assignment-and-auto-response-rules-designer` — Design or audit Assignment + Auto-Response rules92- `audit-router` — Run the SfSkills audit-router run-time agent93- `automation-migration-router` — Run the SfSkills automation-migration-router run-time agent94- `business-hours-and-holidays-configurator` — Design or audit Business Hours + Holidays95- `config-workbook-author` — Compile the canonical 10-section Salesforce Configuration Workbook96- `csv-to-object-mapper` — Map a CSV to an sObject for a data load97- `custom-metadata-and-settings-designer` — Design or audit Custom Metadata Types + Custom Settings98- `email-template-modernizer` — Audit and plan email template modernization99- `entitlement-and-milestone-designer` — Design or audit Entitlement Processes + Milestones100- `experience-cloud-admin-designer` — Design or audit an Experience Cloud site admin setup101- `field-impact-analyzer` — Score the blast radius of renaming or deleting a field102- `fit-gap-analyzer` — Fit-gap a backlog against a target Salesforce org103- `knowledge-article-taxonomy-agent` — Design or audit Knowledge taxonomy104- `lead-routing-rules-designer` — Design or audit lead routing105- `object-designer` — Design a Setup-ready sObject from a business concept106- `omni-channel-routing-designer` — Design or audit Omni-Channel routing107- `path-designer` — Design or audit a Sales/Service Path108- `permission-set-architect` — Design or audit Permission Sets + Permission Set Groups109- `process-flow-mapper` — Map a process narrative to a Salesforce-aware swim-lane flow110- `profile-to-permset-migrator` — Decompose a Profile into Permission Sets + PSGs111- `sales-stage-designer` — Design or audit Opportunity sales stages112- `salesforce-learning-guide` — Research and teach one Salesforce topic with current evidence, citations, practice, and knowledge checks113- `story-drafter` — Draft a Salesforce-aware INVEST story backlog114- `user-access-diff` — Side-by-side access comparison between two Salesforce users115116## Rules1171181. Answer from the opened `admin` package, never from this router.1192. Cite the skill id and, where one applied, the decision-tree branch.1203. Never claim a topic is uncovered without pasting lookup output.1214. Never deploy to an org.122