Azure AI Projects TS
microsoft/skills
Build AI applications using Azure AI Projects SDK for JavaScript (@azure/ai-projects).
Agent skill
Integrates a Messaging for In-App and Web (MIAW) Embedded Messaging chat widget into an Experience Cloud site by patching the site's LWR or Aura page bundle, deploying, publishing, and verifying…
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .claude/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .claude/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .agents/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .agents/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .cursor/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .cursor/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/forcedotcom/sf-skills.git --path skills/service-digital-engagement-messaging-site-integrate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .gemini/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .gemini/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .github/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .github/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install forcedotcom/sf-skills service-digital-engagement-messaging-site-integrate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/forcedotcom/sf-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/service-digital-engagement-messaging-site-integrate .opencode/skills/service-digital-engagement-messaging-site-integrate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "service-digital-engagement-messaging-site-integrate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/service-digital-engagement-messaging-site-integrate into .opencode/skills/service-digital-engagement-messaging-site-integrate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "service-digital-engagement-messaging-site-integrate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
service-digital-engagement-messaging-site-integrateIntegrates a Messaging for In-App and Web (MIAW) Embedded Messaging chat widget into an Experience Cloud site by patching the site's LWR or Aura page bundle, deploying, publishing, and verifying…
Service Digital Engagement Messaging Site Integrate is an agent skill from forcedotcom/sf-skills. Integrates a Messaging for In-App and Web (MIAW) Embedded Messaging chat widget into an Experience Cloud site by patching the site's LWR or Aura page bundle, deploying, publishing, and verifying guest access. Use when the user wants to embed messaging on an Experience site, add a chat widget to a community, place the Embedded Messaging component on an LWR or Aura page, wire an embedded service deployment to a site, references the retrieved bundle artifacts (content.json, homeGuestLayout.json, or a .site-meta.xml…
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/aura_patch.md`, `references/bundle_detection.md` and `references/deploy_and_publish.md`).
It sits in DevOps & Cloud, covering Deployment. It works with JavaScript. The repository describes itself as: Salesforce's curated collection of agent skills for building applications. Optimized for Agentforce Vibes, compatible with all AI tools. The licence is Apache-2.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 4bbae5c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
sfFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Service Digital Engagement Messaging Site Integrate loads about 4.3k tokens when it runs, and up to ~8.7k if it reads all its reference files. Until then it costs about 248 tokens; SKILL.md has 1,795 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from forcedotcom/sf-skills at commit 4bbae5c, republished under its Apache-2.0 licence (© forcedotcom). 1,795 words, ~4,311 tokens.
.claude/skills/service-digital-engagement-messaging-site-integrate/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.Wires an existing Embedded Messaging (MIAW) deployment onto an Experience Cloud site by retrieving the site's bundle (LWR DigitalExperienceBundle or Aura ExperienceBundle), patching the home page JSON to place the experience_messaging:embeddedMessaging component, staging the bundle into the local project, deploying it, publishing the site, and verifying guest access.
The operation is idempotent: if the component is already present it is updated in place (its id is preserved), so re-running with different ESD coordinates cleanly updates.
too-many-requests); patching all sfdc_cms__themeLayout/*/content.json files to insert or update the Embedded Messaging component in the footer region (site-wide placement); staging the bundle into force-app; async deploy with polling; resolving the Network.Name and publishing the site; guest-URL smoke test; manual Experience Builder fallback with a deep link.EmbeddedServiceConfig (Embedded Service Deployment) itself — use service-digital-engagement-deployment-configure; creating the MessagingChannel — use service-digital-engagement-channel-configure; creating the Experience Cloud site itself — use experience-lwr-site-generate; generating a standalone JS snippet for a non-Experience website.Before executing, ask the user if not already clear:
DeveloperName of the Experience Cloud site (the metadata folder name under digitalExperiences/site/<siteName>/ or experiences/<siteName>/).deploymentName (Embedded Service Deployment DeveloperName), the scrtUrl, and the siteEndpoint (Experience site base URL). All three come from the published EmbeddedServiceConfig — obtain from service-digital-engagement-deployment-configure output if not provided.sf commands.UrlPathPrefix (needed to resolve Network.Name for publish and to hit the guest URL for verification).Gather or infer before proceeding:
DeveloperName of the siteDeveloperName of the EmbeddedServiceConfigesw-site)Defaults applied to the component's attributes when writing:
isExpSiteAuthMode: falsehideChatButtonOnLoad: "Default"clientVersion: "WebV1"Steps are sequential. If any automated step fails, proceed to the manual fallback (Phase 6) and do not claim the widget is "live" until either the guest-URL smoke test returns 200 or the user confirms manual publish.
Retrieve both candidate bundles into <retrieve-dir>. The script only performs a deterministic path check, so the retrieve calls must run first:
sf project retrieve start --metadata "DigitalExperienceBundle:site/<siteName>" \
--target-org <org-alias> --target-metadata-dir <retrieve-dir>
sf project retrieve start --metadata "ExperienceBundle:<siteName>" \
--target-org <org-alias> --target-metadata-dir <retrieve-dir>Either call may return "no metadata found" — that is expected; the missing bundle simply means the site is the other type.
Run scripts/detect_bundle_type.sh <retrieve-dir> <siteName>. It emits exactly one token to stdout:
LWR → the LWR marker file exists (digitalExperiences/site/<siteName>/sfdc_cms__view/home/content.json). Go to Phase 2.AURA → the Aura marker file exists (experiences/<siteName>/views/homeGuestLayout.json). Go to Phase 3.UNKNOWN (exit code 1) → neither marker exists. Skip to the manual fallback in Phase 6.Read references/bundle_detection.md for retrieval command shapes and troubleshooting.
Scaffold any missing LWR template routes (commonly too-many-requests) before patching — missing routes fail the deploy. Route+view scaffolding is owned by experience-lwr-site-generate (see its configure-content-route.md, configure-content-view.md, and handle-component-and-region-ids.md). Delegate to that skill for the actual scaffold; this skill only supplies the messaging-specific context (which route the deploy is complaining about, and confirmation that the scaffolded pair resolves that specific deploy error). See references/lwr_route_scaffolding.md for the delegation pointer.
Patch all themeLayout files by running:
scripts/patch_lwr_bundle.sh \
<retrieve-dir>/digitalExperiences/site/<siteName> \
<deploymentName> <scrtUrl> <siteEndpoint>The script iterates every sfdc_cms__themeLayout/*/content.json file. For each, it locates the footer region at .contentBody.component.children[], walks into the existing community_layout:section wrapper's inner slot region, and either updates the existing experience_messaging:embeddedMessaging component in place (preserving its id) or appends a fresh component node. Targeting the themeLayout footer makes the widget site-wide (floating overlay on every page), equivalent to the Aura themeFooter placement. See references/lwr_patch.md for the JSON shapes and how to verify.
Proceed to Phase 4.
Patch the home guest layout by running:
scripts/patch_aura_bundle.sh \
<retrieve-dir>/experiences/<siteName>/views/homeGuestLayout.json \
<deploymentName> <scrtUrl> <siteEndpoint>The script iterates .regions[], picks the first region whose .components[] is non-empty, recurses through any forceCommunity:section wrappers, and either updates the existing .componentName == "experience_messaging:embeddedMessaging" component in place (preserving id) or appends a fresh forceCommunity:section wrapper. Aura uses componentName / componentAttributes (not definition / attributes) and has no dxpStyle. See references/aura_patch.md for JSON shapes and verification steps.
Proceed to Phase 4.
Copy the modified bundle into the project's default package. Use cp -R so unchanged files travel with the modified one:
cp -R <retrieve-dir>/digitalExperiences force-app/main/default/cp -R <retrieve-dir>/experiences force-app/main/default/ and also copy the sibling <siteName>.site-meta.xml file — Aura deploys are rejected without it.Async deploy and poll:
sf project deploy start --source-dir force-app/main/default \
--target-org <org-alias> --asyncPoll every 15 seconds up to 10 minutes:
sf project deploy report --job-id <job-id> --target-org <org-alias> Stop when status is Succeeded, Failed, SucceededPartial, or Canceled. On failure, surface the deploy report and do not proceed to publish. See references/deploy_and_publish.md for the full polling loop and common failure modes.
Resolve the Network.Name. Network.Name frequently differs from the site DeveloperName, so query it by the URL path prefix rather than guessing:
sf data query --query \
"SELECT Name FROM Network WHERE UrlPathPrefix='<urlPath>' LIMIT 1" \
--target-org <org-alias>Publish the community with the resolved name:
sf community publish --name "<resolved-Name>" --target-org <org-alias>Smoke-test guest access by hitting the public URL:
curl -sL -o /dev/null -w "%{http_code}" \
https://<domainHostname>/<urlPath>Report success only when the response is 200.
If any automated step fails (bundle undetectable, patch write blocked, deploy fails, publish fails, or guest URL not 200), print the Experience Builder deep link and verbatim instructions from references/manual_fallback.md. Do not claim the widget is live until the user confirms.
The deep link is:
https://<MyDomain>.lightning.force.com/sfsites/picasso/core/config/commeditor.apexp?...networkId=<Network.Id>Resolve <MyDomain> via sf org display --target-org <org-alias> and <Network.Id> via:
sf data query --query \
"SELECT Id FROM Network WHERE UrlPathPrefix='<urlPath>' LIMIT 1" \
--target-org <org-alias>Do not hardcode either value. Instruct the user to open Experience Builder, drag the Embedded Messaging component onto the target page, pick the deployment from the property panel, and click Publish.
| Constraint | Rationale |
|---|---|
| Detect bundle type from retrieval output, do not assume | LWR and Aura sites need different files patched with different key names |
Preserve the existing component id when updating in place | Ensures idempotency; the Experience runtime keys off id |
Every new id must be a fresh UUID | Duplicate IDs corrupt the layout and can fail render |
LWR uses definition / attributes; Aura uses componentName / componentAttributes | Wrong key names silently drop the component from render |
LWR community_layout:section sectionConfig lives inside .attributes as a JSON string (not a top-level property, not a nested object) | Top-level placement violates the schema's additionalProperties: false constraint; the serializer also expects a string not an object |
Aura sibling <siteName>.site-meta.xml must be copied alongside the bundle | Deploy is rejected without it |
| Poll the async deploy; do not fire-and-forget | Publish must run only after deploy succeeds |
Resolve Network.Name from UrlPathPrefix, do not reuse site DeveloperName | The two are frequently different |
Do not claim "live on the site" until the guest URL returns 200 or the user confirms | Publish is asynchronous; premature success reports mislead |
Never hardcode MyDomain or Network.Id in the manual fallback link | Values are org-specific and must be queried |
| Idempotency: re-running with new ESD coordinates must update in place | Users iterate on deploymentName, scrtUrl, siteEndpoint during setup |
| Issue | Resolution |
|---|---|
too-many-requests route missing during LWR deploy | Scaffold the missing route+view pair per references/lwr_route_scaffolding.md |
| Aura deploy rejected with missing site metadata | Copy the sibling <siteName>.site-meta.xml from the retrieve dir |
| Component appended but not rendering | Confirm the region wrapper uses the correct type: "region" key and that Aura components use componentName (not definition) |
sf community publish fails with "community not found" | The Network.Name differs from site DeveloperName; resolve via UrlPathPrefix query |
Guest URL returns 403 or 503 after publish | Publish is async — retry the smoke test after 60s before falling back to manual |
| Re-run adds a second messaging component | The recursive search matched on the wrong key name; component detection must use definition (LWR) or componentName (Aura) |
| Deploy succeeds but widget does not appear on all pages | For LWR, confirm the component was injected into sfdc_cms__themeLayout/*/content.json footer (not sfdc_cms__view/home/content.json — that is page-specific). For Aura, confirm homeGuestLayout.json was patched (themeFooter region). |
sectionConfig written as an object | Serialize it as a JSON string; the CMS parser will not accept an object |
sfdc_cms__view/home/content.json (LWR) or views/homeGuestLayout.json (Aura) found?definition and attributes?componentName and componentAttributes?id preserved?id values fresh UUIDs?sfdc_cms__themeLayout/*/content.json (not just home/content.json)?footer region's subtree in each themeLayout?clientVersion set to "WebV2" in the messaging node attributes?<siteName>.site-meta.xml copied alongside the bundle?Succeeded or SucceededPartial before proceeding to publish?Network.Name resolved via UrlPathPrefix, not reused from site DeveloperName?sf community publish complete without error?200?200 was observed or the user confirmed manual publish?Deliverables:
sfdc_cms__themeLayout/*/content.json files (one per themeLayout) in the retrieval directory and in force-app/main/default/... (LWR); or modified homeGuestLayout.json (Aura)sfdc_cms__route/<RouteApiName>/ + sfdc_cms__view/<viewId>/ pair for any scaffolded missing routejob-id and the final deploy reportDo not produce the EmbeddedServiceConfig or the MessagingChannel metadata — those are the responsibilities of the deployment and channel skills below.
| Need | Delegate to |
|---|---|
| Create or update the Embedded Service Deployment | service-digital-engagement-deployment-configure |
| Create the underlying MIAW messaging channel | service-digital-engagement-channel-configure |
| Create the Experience Cloud LWR site itself | experience-lwr-site-generate |
Scaffold a missing LWR route + view pair (e.g. too-many-requests) | experience-lwr-site-generate (route/view creation, ID handling) |
| File | When to read |
|---|---|
references/bundle_detection.md | Phase 1 — LWR vs Aura retrieval and disambiguation |
references/lwr_route_scaffolding.md | Phase 2 — delegation pointer for scaffolding missing LWR template routes (owned by experience-lwr-site-generate) |
references/lwr_patch.md | Phase 2 — what patch_lwr_bundle.sh does and how to verify its output |
references/aura_patch.md | Phase 3 — what patch_aura_bundle.sh does and how to verify its output |
references/deploy_and_publish.md | Phases 4–5 — staging into force-app, async deploy polling, publish, and guest-URL smoke test |
references/manual_fallback.md | Phase 6 — Experience Builder deep link and manual drag-drop-publish instructions |
scripts/detect_bundle_type.sh | Phase 1 — deterministic LWR/Aura/UNKNOWN detection over a retrieved bundle |
scripts/patch_lwr_bundle.sh | Phase 2 — idempotent LWR content.json patch (insert or update in place) |
scripts/patch_aura_bundle.sh | Phase 3 — idempotent Aura homeGuestLayout.json patch (insert or update in place) |
© forcedotcom, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 9 other files (scripts, references) in skills/service-digital-engagement-messaging-site-integrate of forcedotcom/sf-skills.
Open the folder on GitHubat commit 4bbae5c
Service Digital Engagement Messaging Site Integrate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Service Digital Engagement Messaging Site Integrate this skillforcedotcom/sf-skills | 1.1k | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Azure AI Projects TSmicrosoft/skills | 3.1k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Sap Btp Integration Suitesecondsky/sap-skills | 462 | — | ~3.6k | Automated safety check: Notes | GPL-3.0 | |
| Alchemy Upgrade Migrationjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Kubeshark Installerkubeshark/kubeshark | 12k | — | ~3.6k | Automated safety check: Notes | Apache-2.0 | |
| GreptimeDB Dev Docker ImageGreptimeTeam/greptimedb | 6.7k | — | ~4k | Automated safety check: Notes | Apache-2.0 |
microsoft/skills
Build AI applications using Azure AI Projects SDK for JavaScript (@azure/ai-projects).
secondsky/sap-skills
Enterprise integration solutions using SAP Integration Suite on BTP.
jeremylongshore/tons-of-skills-marketplace
Migrate archived Alchemy JavaScript SDK integrations to current capability-specific clients with parity, canary, and rollback evidence.
kubeshark/kubeshark
Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.
GreptimeTeam/greptimedb
Packages a locally built GreptimeDB debug binary into a development-only Docker image for local-cluster testing, with an optional push to a dev registry.
metalbear-co/mirrord
Help users install and configure the mirrord Operator for team/enterprise environments.
forcedotcom/sf-skills
Declared architecture snapshot for one Agentforce agent: planner, topics, actions, flows, Apex, prompt templates, and NGA plugins.
forcedotcom/sf-skills
Data Cloud 360° view of a single Agentforce session. An agent skill from forcedotcom/sf-skills.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply a Salesforce sandbox post-copy automation JSON config against a target org.
forcedotcom/sf-skills
Apply SLDS-compliant UI using the correct blueprints, styling hooks, utility classes, and icons.
forcedotcom/sf-skills
Lightning Web Components with PICKLES methodology and 165-point scoring.
Works with
Categories
Integrates a Messaging for In-App and Web (MIAW) Embedded Messaging chat widget into an Experience Cloud site by patching the site's LWR or Aura page bundle, deploying, publishing, and verifying…. Service Digital Engagement Messaging Site Integrate is an agent skill from forcedotcom/sf-skills. Integrates a Messaging for In-App and Web (MIAW) Embedded Messaging chat widget into an Experience Cloud site by patching the site's LWR or Aura page bundle, deploying, publishing, and verifying guest access.
Service Digital Engagement Messaging Site Integrate fits situations like: the user wants to embed messaging on an Experience site; add a chat widget to a community; place the Embedded Messaging component on an LWR; wire an embedded service deployment to a site.
Run `npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a claude-code`. Or copy the skill folder (skills/service-digital-engagement-messaging-site-integrate in forcedotcom/sf-skills) into .claude/skills/service-digital-engagement-messaging-site-integrate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a codex`. Or copy the skill folder (skills/service-digital-engagement-messaging-site-integrate in forcedotcom/sf-skills) into .agents/skills/service-digital-engagement-messaging-site-integrate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add forcedotcom/sf-skills --skill service-digital-engagement-messaging-site-integrate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/service-digital-engagement-messaging-site-integrate, .gemini/skills/service-digital-engagement-messaging-site-integrate, .github/skills/service-digital-engagement-messaging-site-integrate and .opencode/skills/service-digital-engagement-messaging-site-integrate in your project.
Going by SKILL.md and its folder, Service Digital Engagement Messaging Site Integrate needs a shell for the scripts in its folder and the command-line tools its instructions call (sf). Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Service Digital Engagement Messaging Site Integrate is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Service Digital Engagement Messaging Site Integrate: Azure AI Projects TS (microsoft/skills, 3.1k stars), Sap Btp Integration Suite (secondsky/sap-skills, 462 stars), Alchemy Upgrade Migration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Kubeshark Installer (kubeshark/kubeshark, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
forcedotcom (a GitHub organization) maintains it in forcedotcom/sf-skills, which has 1,067 GitHub stars. The repository holds 252 skills in this directory. The repository was last updated on October 9, 2026.
Source: forcedotcom/sf-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.