Agentforce Vibes collection of AI skills, prompts and rules for coding, automation and more. Organized by category.
Go to file
Gaurav Bajpai fc4d14bce0
test(bdt): unit tests + adversarial fixtures @W-22196528@
Adds the full test suite for bdt_analyze.py: 92 unit tests backed by
9 JSON fixtures (4 normative + 5 adversarial). All tests stdlib-only,
runnable via `python3 -m unittest tests.test_bdt_analyze`.

tests/test_bdt_analyze.py coverage:

DAG primitives:
- roots() / sinks() / topo_order() on minimal + branching graphs.
- upstream() / downstream() reachability correctness.
- Cycle tolerance: topo_order + traversals do not infinite-loop or
  raise when the graph contains a cycle; cycle is reported via
  broken_references-adjacent signals.
- Broken-reference tolerance: nodes referencing non-existent upstreams
  are handled gracefully; broken_references() enumerates them.

CLI subcommands (happy-path + error-path for each):
- summary, sources, outputs, stages, nodes, node, lineage,
  field-trace, formula, definitions — each exercised in both
  human-readable and --json modes.
- Exit-code discipline: unknown node -> exit 2, malformed input ->
  exit 3, success -> exit 0.
- Unknown-action graceful degradation: nodes whose action isn't in
  the catalog still appear in summary/nodes output with a generic
  label rather than crashing.
- Output size budgets: default-mode outputs are asserted to stay
  within configured character caps.

Field discovery:
- fields_produced() / fields_consumed() / _scrape_field_refs()
  heuristics tested against both clean and noisy formula bodies.
- TestFieldTraceFocus — narrowing tests preventing false-positive
  substring hits in formula text.

Dual-shape input:
- TestInputShapeDetection — editor export vs. Connect API
  single-definition auto-detection.
- TestMultiDefinition — Connect API multi-definition payload:
  definitions subcommand, --definition N routing, out-of-range
  index error handling.

Fixtures (tests/fixtures/):
- minimal.json               — smallest valid editor-export BDT.
- window_and_aggregate.json  — window + aggregate composition.
- api_input_single.json      — Connect API single-definition payload.
- api_input_multi.json       — Connect API multi-definition payload.

Adversarial fixtures (tests/fixtures/adversarial/):
- cycle.json           — graph with a cycle; parser must not hang.
- broken_ref.json      — node referencing a non-existent upstream.
- unknown_action.json  — node with an action not in the catalog.
- no_ui.json           — BDT missing the UI layer entirely.
- empty_nodes.json     — valid envelope but zero nodes.

Suite status: Ran 92 tests, OK.

@W-22196528@
2026-04-23 23:29:05 +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 test(bdt): unit tests + adversarial fixtures @W-22196528@ 2026-04-23 23:29:05 +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