npx skills add ...
npx skills add forcedotcom/sf-skills --skill fetching-salesforce-docs
Official Salesforce documentation retrieval skill. Use when you need authoritative Salesforce docs from developer.salesforce.com, help.salesforce.com, architect.salesforce.com, admin.salesforce.com, or lightningdesignsystem.com, especially when pages are JS-heavy, shell-rendered, or hard to extract with naive fetching. Use to ground answers in official Salesforce sources instead of third-party blogs or summaries. TRIGGER when: user asks for official Salesforce documentation, Apex or API reference, LWC docs, Agentforce docs, setup or help articles, or any doc from a Salesforce-owned domain. DO NOT TRIGGER when: user is asking for a code change, deployment task, or anything not requiring documentation retrieval — use the appropriate sf-* skill instead.
npx skills add forcedotcom/sf-skills --skill fetching-salesforce-docs
Use this skill to retrieve and ground answers in official Salesforce documentation on the public web.
This skill provides a reliable online retrieval playbook for Salesforce docs that are hard to fetch, especially help.salesforce.com, JS-heavy developer.salesforce.com, Lightning Design System docs on lightningdesignsystem.com, and other official Salesforce-owned doc pages such as architect.salesforce.com and admin.salesforce.com.
Optional extraction scripts are available in scripts/ — see the Reference File Index below.
| In scope | Official Salesforce doc retrieval: Apex, API, LWC, metadata, Agentforce, setup articles, SLDS, architect/admin guidance |
| Out of scope | Third-party blogs, PDF fallback, local corpus indexing, benchmark workflows, generating code or metadata |
Before fetching, identify:
No additional setup is required to use the retrieval playbook in this skill. The optional extraction scripts require playwright — see requirements.txt.
Prefer Salesforce-owned documentation sources:
developer.salesforce.comhelp.salesforce.comarchitect.salesforce.comadmin.salesforce.comlightningdesignsystem.comAvoid third-party blogs, videos, or summary articles unless the user explicitly asks for them.
Do not fall back to PDFs.
Before fetching anything, identify the likely doc family.
| Family | Typical Source | Use For |
|---|---|---|
| Developer docs | developer.salesforce.com/docs/... | Apex, APIs, LWC, metadata, Agentforce developer docs |
| Help docs | help.salesforce.com/... | setup, admin, product configuration |
| Architect/Admin docs | architect.salesforce.com/..., admin.salesforce.com/... | best practices, patterns, well-architected guidance, admin enablement |
| Design system docs | lightningdesignsystem.com/... | SLDS, Cosmos, design tokens, component and styling guidance |
| Legacy atlas docs | developer.salesforce.com/docs/atlas.en-us.* | older official guide and reference docs |
Extract the real target before you search:
Examples:
Lightning Message ServiceWire ServiceSystem.StubProviderAgentforce ActionsMessaging for In-App and Web allowed domainsDo not broad-crawl Salesforce docs.
Instead:
A guide landing page is not enough unless it clearly contains the exact requested concept.
This is especially important for:
developer.salesforce.comUse this playbook:
help.salesforce.comHelp pages often fail with naive fetching.
Use this playbook:
articleView?id=... URLs when availableLoading, Sorry to interrupt, CSS Error, or mostly chrome/navigation text as failed extraction, not evidenceA page is good enough to answer from only when at least one of these is true:
A page is not good enough when:
Reject these as final evidence:
When answering, include:
If evidence is weak, say so plainly.
Do not stop at the general LWC guide root. Find the exact LWC page for Lightning Message Service or follow the most relevant child links from the LWC docs until the exact concept appears.
Do not answer from the LWC homepage unless Wire Service is actually present there.
Follow the relevant child doc page for wire service or wire adapters.
Do not answer from a broad Agentforce landing page or a blog post. Find the official Agentforce developer page for actions, or follow the best matching child pages from the official Agentforce docs.
Prefer official Help articles and browser-rendered extraction. Reject generic help shells. Follow linked Help articles from nearby official messaging docs if needed.
Prefer the official Salesforce reference/developer page where the exact identifier appears. Do not substitute a broader Apex landing page if the identifier is absent.
This skill should not:
For each retrieval, include:
If evidence is weak, say so plainly rather than forcing an answer.
| File | When to read |
|---|---|
scripts/extract_salesforce_doc.py | Use to fetch any official Salesforce doc URL; automatically routes help.salesforce.com into the dedicated Help extractor and supports browser-rendered extraction for all Salesforce-owned doc hosts |
scripts/extract_help_salesforce.py | Use directly when targeting help.salesforce.com articleView URLs; use when the wrapper is not appropriate |
scripts/runtime_bootstrap.py | Imported by the extraction scripts to resolve the isolated fetching-salesforce-docs Python runtime and Playwright browser path; not called directly |
requirements.txt | Lists Python dependencies (playwright, playwright-stealth) needed to run the extraction scripts |