Agentforce Vibes collection of AI skills, prompts and rules for coding, automation and more. Organized by category.
Go to file
Gaurav Bajpai db1aca7221
fix: address PRizm review findings from internal port PR @W-22196528@
Addresses 4 critical findings surfaced during PRizm code review of the
internal plugin port of this skill (internal PR #19). Applying the same
fixes here keeps the external canonical source and the internal port in
sync.

1. Test cleanup discipline: switch `test_invalid_json_raises` from
   `try/finally` to `self.addCleanup(p.unlink, missing_ok=True)` — the
   unittest-idiomatic way to guarantee temp-file cleanup regardless of
   how the test exits.

2. `floor()` description in bdt-function-catalog.md: the old row was
   self-contradictory ("toward zero" AND "toward next integer up" in
   the same cell). Replace with a single coherent definition: rounds
   toward negative infinity; for negatives rounds away from zero
   (e.g., `floor(-2.3) = -3`).

3. Split-node documentation in bdt-node-catalog.md: the old doc claimed
   `split` routes rows into downstream branches via `branches[]` with
   per-branch predicates. That is not the canonical schema. Per
   `SplitParametersInputRepresentation` in core-262-public, `split` is
   a string-splitting operation: one `sourceField` + `delimiter` →
   N `targetFields` (one row in, one row out; columns added). Rewrote
   the section with the correct parameters, lineage effect, gotchas,
   and a canonical example. Row-routing belongs in `filter` nodes.

4. Sample `assets/sample_bdts/append_and_split.json`: the old sample
   used the invented `branches[]` shape AND routed the same split into
   two downstream outputs that each expected different rows — which is
   not how `split` works. Rewrote the sample so:
     - `appendV2` unions two order sources (unchanged intent).
     - `split` uses canonical `{sourceField, delimiter, targetFields}`
       splitting `CustomerFullName__c` into first + last name columns.
     - One downstream output consumes the new columns (removes the
       fake two-branch fan-out).

Tests: 92/92 passing. Sample parses and runs through `bdt_analyze.py
summary` cleanly (5 nodes: 2 load + 1 appendV2 + 1 split + 1 outputD360).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 10:19:36 +05:30
.github ci: fail PR if title does not match Conventional Commits format @W-21613569@ [post-tdx] (#146) 2026-04-08 17:08:20 +05:30
samples chore: sync React B2E & B2X (1.120.6) with uiBundle lockfiles and gitignore @W-21940169@ (#179) 2026-04-08 12:00:47 -05:00
scripts chore: sync React B2E & B2X (1.120.6) with uiBundle lockfiles and gitignore @W-21940169@ (#179) 2026-04-08 12:00:47 -05:00
skills fix: address PRizm review findings from internal port PR @W-22196528@ 2026-04-24 10:19:36 +05:30
.gitignore fix: correct .gitignore to track sample lib/ folders @W-21361802@ (#119) 2026-03-27 10:57:57 +05:30
.nvmrc ci: publish skills as @salesforce/afv-skills npm package @W-21534193@ (#30) 2026-03-12 13:41:52 -07:00
.template-versions.json Rename webapp-template npm packages to ui-bundle-template @W-21338965@ (#135) 2026-03-30 15:50:18 -05:00
CHANGELOG.md chore(release): 1.7.1 [skip ci] 2026-04-21 06:27:28 +00:00
CODE_OF_CONDUCT.md required files 2025-11-11 09:22:53 -05:00
CODEOWNERS required files 2025-11-11 09:22:53 -05:00
CONTRIBUTING.md fix: update details for PR title (#153) 2026-03-31 11:38:41 -05:00
DOCS_ONLY.md required files 2025-11-11 09:22:53 -05:00
LICENSE.txt added license per Jim Jagielski 2026-02-20 16:12:14 -05:00
manifest.json skill manifest 2026-02-17 16:01:25 -05:00
package-lock.json chore: sync React B2E & B2X (1.120.6) with uiBundle lockfiles and gitignore @W-21940169@ (#179) 2026-04-08 12:00:47 -05:00
package.json chore(release): 1.7.1 [skip ci] 2026-04-21 06:27:28 +00:00
README.md Update README (#197) 2026-04-14 21:33:13 +05:30
SECURITY.md Update README (#197) 2026-04-14 21:33:13 +05:30
sfdx-project.json Add Opportunities Days_Open__c formula field 2026-01-13 20:41:28 +05:30

Agentforce Vibes Library

This repository provides a curated collection of Salesforce agent skills for building applications. It includes skills for Agentforce agents, Lightning apps, Flow, Apex, SOQL, Lightning Web Components (LWC), UI bundles, objects and fields, permission sets, and related areas.

The skills are contributed by Salesforce and the broader community. Its optimized for Agentforce Vibes and can be used with any AI tool that supports skills.

🗂️ Structure

afv-library/
├── skills/               # Directory-based executable workflows
│   ├── generating-apex/
│   ├── generating-custom-object/
│   ├── generating-flow/
│   └── ...
├── samples/              # Synced sample apps (e.g. from npm)
│   └── ui-bundle-template-app-react-sample-b2e/
│   └── ...
├── scripts/
│   └── ...
└── README.md

🚀 Usage

Tool Usage
Agentforce Vibes Skills are auto-installed and auto-updated
OpenCode, Claude Code, Codex, Cursor, more npx skills add forcedotcom/afv-library

📦 Samples

The samples/ folder contains synced sample apps. For example, samples/ui-bundle-template-app-react-sample-b2e/ tracks the npm package @salesforce/ui-bundle-template-app-react-sample-b2e (nightly and on manual trigger via GitHub Actions).

To run the same sync locally from the repository root:

npm install
npm run sync-react-b2e-sample

The GitHub Action runs the same commands and opens a pull request when the npm package version changes. For more information, see samples/README.md.

🛠️ Agent Skills

Agent Skills package executable workflows, scripts, and reference material into self-contained directories. This repository follows the open Agent Skills specification and can be used with OpenCode, Claude Code, Codex, Cursor, and other tools that support skills.

Directory Structure

Each skill is a folder that can include:

  • SKILL.md (required): Instructions and YAML front matter.
  • scripts/ (optional): Executable scripts (For example, Python, Bash, or JavaScript).
  • references/ (optional): Extra reference documentation.
  • assets/ (optional): Templates, schemas, and lookup data

🤝 Contributing

See Contributing.

💬 Feedback

  • Open an issue in this repository
  • Open a pull request with suggested changes
  • Use GitHub Discussions or the pull request thread for broader conversation

Project Governance & Support