Skip to content
Back to skills

Salesforce Flow

ASecurity

Router for the 63 SfSkills `flow` skill packages. Flow Builder: record-triggered, screen, scheduled and orchestration flows, bulkification, fault handling, limits, testing. \"My flow\" belongs here even when salesforce-apex also names the limit. Nightly scheduling without naming code defaults here; apex takes it when code/class/Apex is named. Flow-vs-Apex choice before anything is built: admin/process-automation-selection. Use when the request mentions Flow, Flow Builder, record-triggered flo...

  • 15 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 6, 2026
ai-agentspythongobashreacttestinggitperformance

Works with

  • cli
  • mcp

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned September 6, 2026

npx -y skills add PranavNagrecha/AwesomeSalesforceSkills --skill salesforce-flow --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Salesforce Flow?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Salesforce Flow
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/pranavnagrecha-salesforce-flow/badge)](https://www.skillsdirectory.com/skills/pranavnagrecha-salesforce-flow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: salesforce-flow
description: "Router for the 63 SfSkills `flow` skill packages. Flow Builder: record-triggered, screen, scheduled and orchestration flows, bulkification, fault handling, limits, testing. \"My flow\" belongs here even when salesforce-apex also names the limit. Nightly scheduling without naming code defaults here; apex takes it when code/class/Apex is named. Flow-vs-Apex choice before anything is built: admin/process-automation-selection. Use when the request mentions Flow, Flow Builder, record-triggered flow, screen flow, scheduled flow, subflow, fault path, flow element, orchestration, Process Builder migration, Workflow Rule migration, flow limit, flow hitting SOQL limit, too many SOQL queries in a flow, flow bulkification, Get Records performance. Finds and opens the exact skill package to read; it does not contain the guidance itself."
---

# Salesforce flow — SfSkills domain router

Flow Builder: record-triggered, screen, scheduled and orchestration flows, bulkification, fault handling, limits, testing. "My flow" belongs here even when salesforce-apex also names the limit. Nightly scheduling without naming code defaults here; apex takes it when code/class/Apex is named. Flow-vs-Apex choice before anything is built: admin/process-automation-selection.

**63 skill packages** live under
`${CLAUDE_PLUGIN_ROOT}/skills/flow/<slug>/SKILL.md`. They are not
loaded — reach them by path, on demand.

**Generated by `scripts/build_plugin.py`. Do not hand-edit.**

## How to find the right skill

Three mechanisms, listed in order of reliability on a fresh install.
Use the first one that is available; do not stop at a guess.

**1. The shipped roster (always works, no setup).**
Read `references/skill-index.md` next to this file. It lists every
`flow` skill package with a one-line gloss, generated from
`registry/skills.json`. Scan it and pick by name.

**2. The MCP server (fast, needs the `sfskills-mcp` server connected).**
Call the `search_skill` tool with the user's phrasing and `domain: "flow"`. It returns
ranked skill ids. `get_skill` then returns the package contents.

**3. The search CLI (fast, needs a locally built index).**

```bash
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/search_knowledge.py" "<the user's question>" --domain flow --json
```

This needs `vector_index/`, which is **not shipped** — it is gitignored
and must be built once per clone:

```bash
cd "${CLAUDE_PLUGIN_ROOT}" && python3 -m pip install -r requirements.txt && python3 scripts/build_index.py
```

If the command errors or reports `Coverage: NONE`, fall back to
mechanism 1 rather than telling the user the topic is uncovered.

**Then read the package.** Open the exact
`${CLAUDE_PLUGIN_ROOT}/skills/<domain>/<slug>/SKILL.md` the lookup
returned, plus its `references/gotchas.md` and
`references/llm-anti-patterns.md`. Do not answer from this router:
it is a map, not the territory.

## Featured entry points

Curated starting points when the request is broad or the lookup is
ambiguous. This is a shortlist, not the catalogue — the roster at
`references/skill-index.md` has all 63.

- `${CLAUDE_PLUGIN_ROOT}/skills/flow/record-triggered-flow-patterns/SKILL.md` — before-save vs after-save, entry criteria, and re-entry
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/flow-bulkification/SKILL.md` — the Flow equivalent of queries-in-loops, and how to see it in the debug log
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/fault-handling/SKILL.md` — fault paths as a design requirement, not an afterthought
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/screen-flows/SKILL.md` — screen composition, validation, and reactive components
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/scheduled-flows/SKILL.md` — schedule-triggered flows, batch limits, and the scheduled-path alternative
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/subflows-and-reusability/SKILL.md` — decomposing a flow before it becomes unmaintainable
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/flow-testing/SKILL.md` — Flow tests, coverage expectations, and what they cannot assert
- `${CLAUDE_PLUGIN_ROOT}/skills/flow/flow-performance-optimization/SKILL.md` — Get Records tuning, loop cost, and CPU time inside a flow

## Decision trees

Read the tree *before* activating a skill when the request could be
solved more than one way, and cite the branch that decided it.

- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/automation-selection.md` — read FIRST — it decides whether Flow is the right tool at all
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/flow-pattern-selector.md` — read SECOND — which kind of Flow to build
- `${CLAUDE_PLUGIN_ROOT}/standards/decision-trees/async-selection.md` — read when the work should leave the transaction

## Canonical templates

Do not hand-roll an idiom that already exists. Copy from
`${CLAUDE_PLUGIN_ROOT}/templates/flow/` and rename in the consuming
project; never edit the template in place.

- `${CLAUDE_PLUGIN_ROOT}/templates/flow/RecordTriggered_Skeleton.flow-meta.xml`
- `${CLAUDE_PLUGIN_ROOT}/templates/flow/FaultPath_Template.md`
- `${CLAUDE_PLUGIN_ROOT}/templates/flow/Subflow_Pattern.md`
- `${CLAUDE_PLUGIN_ROOT}/templates/flow/README.md` — the full list

## Run-time agents for this domain

Invoke one of these subagents when the ask is a whole workflow
rather than a single question:

- `flow-analyzer` — Flow vs Apex routing + bulkification review
- `flow-builder` — Design a Flow (any type) from a business requirement
- `flow-orchestrator-designer` — Design or audit a Flow Orchestration

## Rules

1. Answer from the opened `flow` package, never from this router.
2. Cite the skill id and, where one applied, the decision-tree branch.
3. Never claim a topic is uncovered without pasting lookup output.
4. Never deploy to an org.

Files in this skill

  • SKILL.md5.6 KB
  • references/skill-index.md17.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…