Fullstack Dev
HHU3637kr/skills
Full-stack backend architecture and frontend-backend integration guide.
MUST activate when the project contains a uiBundles//src/ directory (React or Angular) and the user wants to add a pre-built feature — such as authentication (login, logout, protected routes…
$ npx skills add forcedotcom/sf-skills --skill experience-ui-bundle-features-generate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install forcedotcom/sf-skills experience-ui-bundle-features-generate --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/experience-ui-bundle-features-generate .claude/skills/experience-ui-bundle-features-generate && 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 "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .claude/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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/experience-ui-bundle-features-generateType 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 experience-ui-bundle-features-generate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install forcedotcom/sf-skills experience-ui-bundle-features-generate --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/experience-ui-bundle-features-generate .agents/skills/experience-ui-bundle-features-generate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .agents/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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 experience-ui-bundle-features-generate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install forcedotcom/sf-skills experience-ui-bundle-features-generate --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/experience-ui-bundle-features-generate .cursor/skills/experience-ui-bundle-features-generate && 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 "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .cursor/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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/experience-ui-bundle-features-generate--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 experience-ui-bundle-features-generate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install forcedotcom/sf-skills experience-ui-bundle-features-generate --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/experience-ui-bundle-features-generate .gemini/skills/experience-ui-bundle-features-generate && 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 "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .gemini/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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 experience-ui-bundle-features-generateInstalls 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 experience-ui-bundle-features-generate -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/experience-ui-bundle-features-generate .github/skills/experience-ui-bundle-features-generate && 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 "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .github/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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 experience-ui-bundle-features-generate -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 experience-ui-bundle-features-generate --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/experience-ui-bundle-features-generate .opencode/skills/experience-ui-bundle-features-generate && 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 "experience-ui-bundle-features-generate" agent skill from https://github.com/forcedotcom/sf-skills/tree/main/skills/experience-ui-bundle-features-generate into .opencode/skills/experience-ui-bundle-features-generate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "experience-ui-bundle-features-generate", 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.
experience-ui-bundle-features-generateMUST activate when the project contains a uiBundles//src/ directory (React or Angular) and the user wants to add a pre-built feature — such as authentication (login, logout, protected routes…
Experience UI Bundle Features Generate is an agent skill from forcedotcom/sf-skills. MUST activate when the project contains a uiBundles//src/ directory (React or Angular) and the user wants to add a pre-built feature — such as authentication (login, logout, protected routes, session management) or search (global search across pages and content) — instead of building it from scratch. Always run list first to see the current feature catalog, since it can include more than authentication and search. Always use this skill for installing pre-built features rather than hand-building them. DO NOT…
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `references/angular/features.md`, `references/common/conflict-resolution-schema.json` and `references/react/features.md`).
It sits in Backend & APIs, covering Authentication and File uploads and storage. It works with Salesforce, Angular and React. 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.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit e5164d9. 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 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
npmnpxbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.
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.
Experience UI Bundle Features Generate loads about 2.9k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 184 tokens; SKILL.md has 1,291 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 e5164d9, republished under its Apache-2.0 licence (© forcedotcom). 1,291 words, ~2,876 tokens.
.claude/skills/experience-ui-bundle-features-generate/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Install pre-built, tested feature packages into a Salesforce UI bundle with the
@salesforce/ui-bundle-features CLI instead of hand-building them. This file is the
framework-neutral workflow spine; the framework-specific detail — example file
extensions, the files features rewrite, how a feature's entry component is mounted, and the
build command — lives in a per-framework reference under <SKILL_DIR>/references/<framework>/.
Always check for an existing feature before building something from scratch. The CLI is
framework-agnostic: it installs the framework-appropriate variant of each feature into the
detected bundle. Authentication and search are the most commonly used today; run
list --verbose for the full current catalog, since it can grow over time.
Ownership note: Agentforce AI conversation clients and file-upload are owned by separate skills (
experience-ui-bundle-agentforce-client-generate,experience-ui-bundle-file-upload-generate). If the catalog also lists an Agentforce or file-upload entry, do not install it from both places — confirm with the user which delivery path they want, and never install the same capability twice in one bundle.
Package name:
@salesforce/ui-bundle-featuresis the canonical package name. Some older templates/samples still reference the deprecated@salesforce/ui-bundle-features-experimentalname — never use the-experimentalsuffix. If a command fails to resolve, confirm the published version withnpm view @salesforce/ui-bundle-features versionbefore assuming the package name is wrong.
<SKILL_DIR> = the absolute path to this skill's own directory (the folder holding this
SKILL.md); resolve it from the skill path in context.
The framework is normally already decided by the calling context — passed down by the coordinator skill that invoked this one, or stated in the user's request. Use that.
The frameworks this skill supports are exactly the reference folders under
<SKILL_DIR>/references/, each containing a features.md (so react →
<SKILL_DIR>/references/react/features.md). This is the single source of truth — adding a
framework means adding a reference folder, nothing here changes.
If the framework is known — open <SKILL_DIR>/references/<framework>/features.md and
keep it alongside this spine. It supplies the example extensions, the integration targets,
the mount example, and the build command.
If it is unknown (a standalone run where nobody said which) — run the deterministic detector on the UI bundle root before asking anyone:
bash "<SKILL_DIR>/scripts/detect-framework.sh" "<path-to-uiBundles/<name>/ dir>"Branch on the exit code (do not parse prose):
react or angular (exit 0) → use that framework. Do not ask the user — detection is
deterministic. Open <SKILL_DIR>/references/<framework>/features.md.ambiguous (exit 2) → both frameworks present. List <SKILL_DIR>/references/ and ask the
user which bundle to install into. If they name a framework with no matching reference
folder, it is not supported here — stop.unknown (exit 3) → no supported framework detected. Terminate. Report that neither
React nor Angular signals were found in the bundle, so features cannot be installed, and
stop. Do not guess.Throughout the steps below, <framework> means the folder chosen here.
Search project code first — check src/ for existing implementations before installing anything. Scope searches to src/ to avoid matching node_modules/ or dist/.
Search available features — use npx @salesforce/ui-bundle-features list with --search <query> to filter by keyword. Use --verbose for full descriptions.
Describe a feature — MANDATORY before wiring. Run npx @salesforce/ui-bundle-features describe <feature> and read the feature's README via npm view <package> readme (using the Package: name from that output) before wiring it. The README is the contract: it tells you how the feature is meant to be wired — including any drop-in entry component and the file each integration example belongs in. Cross-check against the copied-in source under describe's Copy Operations destination — that source (and its JSDoc/comments) is the version-matched truth for what's actually installed, in the detected framework's file types. Do not wire from assumptions about file names or component APIs. Skipping this is the most common reason a feature installs successfully but never actually runs.
Install — use npx @salesforce/ui-bundle-features install <feature> --ui-bundle-dir <name>. Key options:
--dry-run to preview changes--yes for non-interactive mode (skips conflicts)--on-conflict error to detect conflicts, then --conflict-resolution <file> to resolve themInstall features before doing custom frontend/layout work in this bundle — features may rewrite the app layout and routing files (see the framework reference for their names), and installing after hand-built layout changes risks collisions.
If no matching feature is found, ask the user before building a custom implementation — a relevant feature may exist under a different name.
In non-interactive environments, use the two-pass approach:
--on-conflict error to detect conflicts without applying them.references/common/conflict-resolution-schema.json for the allowed keys and enum values.<ui-bundle-dir>/conflict-resolution.json (path is relative to the UI bundle directory being installed into, not the repo root). Key it by the exact paths the CLI printed as conflicts in pass 1, verbatim:{
"src/appLayout.tsx": "overwrite",
"src/routes.tsx": "skip"
}skip — the CLI will not overwrite a file you didn't explicitly mark overwrite.--conflict-resolution <path-to-that-file>.Features may include example files under an __examples__/ directory (plural) showing integration patterns. These are often full, working pages with concrete names, not bare placeholder templates — in the detected framework's file types (see the framework reference). For each:
describe output).# Verify the build passes with the integrated pattern (build command per framework reference)
npm run build || {
echo "ERROR: Build failed after integration - do NOT delete __examples__/"
exit 1
}
# Verify the pattern from the example is actually present in the target.
# Adjust the grep to a key symbol/import/component from the example, over the
# detected framework's source files (see the framework reference for a worked pattern).__examples__/ after both the build passes and the pattern is confirmed present in the target.If either check fails, do NOT delete __examples__/ — the integration is incomplete. Fix the integration first, then re-run the verification.
When a feature ships an integration point, the UI must use it rather than a parallel hand-rolled version. For features that ship an entry component, mount it (the framework reference shows the mount idiom); do not author a bespoke page that queries data directly. A custom results page against seed data or a raw GraphQL call bypasses the installed, tested feature, so the deployed sObject/CMS logic never runs. The only exception is when the user explicitly opts out and asks for a custom one — confirm that intent, don't infer it.
Some copy paths use <descriptive-name> placeholders (e.g., <desired-page-with-search-input>) that the CLI does not resolve. After installation, rename or relocate these files to the intended target, or integrate their patterns into an existing file. This is separate from the __examples__/ convention above — a single copy path can use either mechanism.
Installing the authentication feature only copies files — it does not configure the org. This is framework-agnostic (pure org/metadata config). Before telling the user auth is done, flag that these org-side steps still need to happen (outside this skill's scope, but required for the feature to actually work):
<sfdxRoot> After Every InstallThe CLI may copy files under a literal <sfdxRoot> folder — an unresolved placeholder for this project's Salesforce DX metadata root (from sfdx-project.json's packageDirectories[].path, e.g. force-app/main/default). Files left there are undeployable. This is framework-agnostic.
After every install:
find uiBundles/<AppName> -type d -regex '.*/<[^/]+>$'If found, move each file to <metadata-root>/<same-relative-subpath> (keep -meta.xml sidecars attached) and delete the emptied placeholder dir(s).
Verification:
find uiBundles/<AppName> -type d -regex '.*/<[^/]+>$' — output must be empty before proceeding.© 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 4 other files (scripts, references) in skills/experience-ui-bundle-features-generate of forcedotcom/sf-skills.
Open the folder on GitHubat commit e5164d9
Experience UI Bundle Features Generate 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 |
|---|---|---|---|---|---|---|
| Experience UI Bundle Features Generate this skillforcedotcom/sf-skills | 1.1k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 | |
| Fullstack DevHHU3637kr/skills | 145 | 3 repos | ~8.6k | Automated safety check: Notes | MIT | |
| Hunt Spa APIelementalsouls/Claude-BugHunter | 4.8k | — | ~2.2k | Automated safety check: Notes | MIT | |
| Fullstack Devinfometa/workbuddyskills | 344 | — | ~1k | Automated safety check: Pass | MIT | |
| Playwright Coretestdino-hq/playwright-skill | 386 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Open BrowserJasonHonKL/Openbrowser | 114 | — | ~1.6k | Automated safety check: Pass | MIT |
HHU3637kr/skills
Full-stack backend architecture and frontend-backend integration guide.
elementalsouls/Claude-BugHunter
Discover a single-page-app's hidden backend API from its public JS bundle, then test that API for broken access control / missing authentication.
infometa/workbuddyskills
Full-stack backend architecture and frontend-backend integration guide.
testdino-hq/playwright-skill
Battle-tested Playwright patterns for writing and debugging reliable E2E, API, component, visual, accessibility, and security tests.
JasonHonKL/Openbrowser
A skill your agent uses whenever the task involves browsing web pages, extracting page content, clicking forms, or completing web workflows.
curvenote/curvenote
A skill your agent uses when doing ANY task involving Supabase.
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
MUST activate when the project contains a uiBundles//src/ directory (React or Angular) and the user wants to add a pre-built feature — such as authentication (login, logout, protected routes…. Experience UI Bundle Features Generate is an agent skill from forcedotcom/sf-skills. MUST activate when the project contains a uiBundles//src/ directory (React or Angular) and the user wants to add a pre-built feature — such as authentication (login, logout, protected routes, session management) or search (global search across pages and content) — instead of building it from scratch.
Experience UI Bundle Features Generate fits situations like: installing pre-built features rather than hand-building them; agentforce conversational client; file-upload features — use experience-ui-bundle-agentforce-client-generate and experience-ui-bundle-file-upload-generate respectively.
Run `npx skills add forcedotcom/sf-skills --skill experience-ui-bundle-features-generate -a claude-code`. Or copy the skill folder (skills/experience-ui-bundle-features-generate in forcedotcom/sf-skills) into .claude/skills/experience-ui-bundle-features-generate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add forcedotcom/sf-skills --skill experience-ui-bundle-features-generate -a codex`. Or copy the skill folder (skills/experience-ui-bundle-features-generate in forcedotcom/sf-skills) into .agents/skills/experience-ui-bundle-features-generate 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 experience-ui-bundle-features-generate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/experience-ui-bundle-features-generate, .gemini/skills/experience-ui-bundle-features-generate, .github/skills/experience-ui-bundle-features-generate and .opencode/skills/experience-ui-bundle-features-generate in your project.
Going by SKILL.md and its folder, Experience UI Bundle Features Generate needs a shell for the scripts in its folder and the command-line tools its instructions call (npm, npx and bash). Our summary lists: Node.js; A Bash shell.
SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. 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.
Experience UI Bundle Features Generate 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 2.9k tokens (SKILL.md is roughly 12k 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 1.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Experience UI Bundle Features Generate: Fullstack Dev (HHU3637kr/skills, 145 stars), Hunt Spa API (elementalsouls/Claude-BugHunter, 4.8k stars), Fullstack Dev (infometa/workbuddyskills, 344 stars) and Playwright Core (testdino-hq/playwright-skill, 386 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,060 GitHub stars. The repository holds 251 skills in this directory. The repository was last updated on October 7, 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.