sf-flow について
sf-flow は、Salesforce Flow の設計、XML 生成、検証を支援するスキルです。アーキテクチャの選択、バルク処理の安全性、障害処理、デプロイへの引き継ぎを扱います。
主な機能
- 01Flow の種類と自動化方式の選択
- 02テンプレートを使った Flow XML 生成
- 03バルク処理と障害パスの確認
- 04サブフローのオーケストレーション設計
- 05コマンドラインでの Flow テスト手順
活用シーン
- 01レコードトリガーまたは画面 Flow の作成
- 02既存 Flow XML の改修や修復
- 03バルク動作とエラー処理の検証
- 04Flow のデプロイとテスト準備
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jaganpro/ sf-skills --skill sf-flowインストール後、Claude Code で/sf-flowを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CREDITS.mdLICENSEREADME.mdassets/ai-decision-template.xmlapex-action-template.xmlarchitecture-review-template.mdautolaunched-flow-template.xmlbypass-check-decision.xmlflow-documentation-template.mdplatform-event-flow-template.xmlrecord-triggered-after-save.xmlrecord-triggered-before-delete.xmlrecord-triggered-before-save.xmlscheduled-flow-template.xmlscreen-flow-template.xmlscreen-flow-with-lwc.xmlwait-template.xmlassets/elements/get-records-pattern.xmlloop-pattern.xmlrecord-delete-pattern.xmltransform-pattern.xmlassets/subflows/subflow-bulk-updater.xmlsubflow-dml-rollback.xmlsubflow-email-alert.xmlsubflow-error-logger.xmlsubflow-query-with-retry.xmlsubflow-record-validator.xmlhooks/scripts/post-tool-validate.pysimulate_flow.pyvalidate_flow.py詳細
sf-flow:Salesforce Flow の作成と検証
ユーザーがFlow の設計や Flow XML の作業を必要としている場合に、このスキルを使用します。レコードトリガー、画面、自動起動、スケジュール済み、プラットフォームイベントの各 Flow を対象とし、検証、アーキテクチャの選択、安全なデプロイ順序も含みます。
このスキルが担当するタスク
次の作業では sf-flow を使用します。
.flow-meta.xmlファイル- Flow Builder のアーキテクチャと XML の生成
- レコードトリガー、画面、スケジュール済み、自動起動、プラットフォームイベントの各 Flow
- Flow 固有の一括処理の安全性、フォールトパス、サブフローのオーケストレーション
次の作業は別のスキルに委任します。
- Apex を中心とした自動化の作成 → sf-apex
- オブジェクト/項目の作成を先に行う → sf-metadata
- メタデータのデプロイ → sf-deploy
- デプロイ後のテストデータの投入 → sf-data
最初に収集する必須コンテキスト
次の情報を確認するか、推測します。
- Flow の種類
- トリガーオブジェクト/エントリー条件
- 中心となるビジネス目標
- 新規作成、リファクタリング、修復のいずれか
- デプロイまたは検証が必要な場合は、対象組織のエイリアス
- 関連するオブジェクト/項目がすでに存在するかどうか
推奨ワークフロー
1. 適切な自動化ツールを選択する
作成を始める前に、Flow が次の選択肢より適切かを確認します。
- 数式項目
- 入力規則
- 積み上げ集計項目
- Apex
2. 適切な Flow の種類を選択する
| 要件 | デフォルトの Flow の種類 |
|---|---|
| 保存前の同一レコードの更新 | 保存前レコードトリガー |
| 関連レコードの処理/メール/コールアウト | 保存後レコードトリガー |
| ガイド付き UI | 画面フロー |
| 再利用可能なバックグラウンドロジック | 自動起動/サブフロー |
| スケジュールされた処理 | スケジュール済みフロー |
| イベント駆動型の宣言的な応答 | プラットフォームイベントフロー |
| AI による評価に基づくルーティング(感情、意図、トーン) | AI Decision 要素を含む自動起動フロー |
3. テンプレートから開始する
用意されているアセットを優先します。
assets/record-triggered-before-save.xmlassets/record-triggered-after-save.xmlassets/screen-flow-template.xmlassets/autolaunched-flow-template.xmlassets/scheduled-flow-template.xmlassets/platform-event-flow-template.xmlassets/ai-decision-template.xmlassets/subflows/
4. Flow のガードレールに照らして検証する
次の点に重点を置きます。
- ループ内で DML を実行しない
- ループ内で Get Records を実行しない
- 適切なフォールトパスを設定する
- トリガー条件が正しい
- サブフローを安全に構成する
- AI Decision 要素をループ内に配置しない(反復ごとにクレジットが消費されるため)
- AI Decision のプロンプトに、データコンテキスト用のマージ項目参照を含める
5. デプロイとテストを引き継ぐ
次を使用します。
重要なルール
Flow のアーキテクチャ
- 同一レコードの項目更新には保存前を使用する
- 関連レコード、メール、コールアウトには保存後を使用する
$Recordをループしない- ロジックが広範になったり、繰り返されたりする場合はサブフローを使用する
一括処理の安全性
- ループ内で DML を実行しない
- ループ内で Get Records を実行しない
- 一括処理の挙動が重要な場合は、251 件以上のレコードでテストする
- レコードごとの分岐ではなくデータの整形が目的なら、Transform を優先する
エラー処理
- データを変更するすべてのパスにフォールト処理を設定する
- 自身を参照するフォールトコネクタは避ける
- 有効化のリスクが無視できない場合は、まず Flow を Draft としてデプロイする
出力形式
完了時には、次の順に報告します。
- Flow の種類と目標
- 作成または更新したファイル
- アーキテクチャの選択
- 一括処理/エラー処理に関する注意事項
- デプロイ/テストの次の手順
推奨形式:
Flow: <name>
Type: <flow type>
Files: <paths>
Design: <trigger choice, subflows, key decisions>
Risks: <bulk safety, fault paths, dependencies>
Next step: <dry-run deploy, activate, or test>
Flow のテスト(CLI)
VS Code を使わず、コマンドラインから Flow のテストを実行します。
# Run all flow tests
sf flow run test --target-org <alias> --json
# Run tests for a specific flow
sf flow run test --class-names MyFlow --target-org <alias> --json
# Get results for an asynchronous run
sf flow get test --test-run-id <id> --target-org <alias> --json
Flow のテストは組織内で実行され、1~5 分かかることがあります。sf flow run test は非同期実行の場合、テスト実行 ID を返します。後から結果を取得するには sf flow get test を使用します。必ず --json を指定し、長時間の実行にはバックグラウンド実行を使用してください。
スキル間の連携
| 必要な作業 | 委任先 | 理由 |
|---|---|---|
| オブジェクト/項目を先に作成する | sf-metadata | スキーマの準備 |
| フローをデプロイ/有効化する | sf-deploy | 安全なデプロイ手順 |
| 現実的な一括テストデータを作成する | sf-data | デプロイ後の検証 |
| Apex アクション/呼び出し可能な処理を作成する | sf-apex | 命令型ロジック |
| 画面フローに LWC を埋め込む | sf-lwc | カスタム UI コンポーネント |
| Agentforce にフローを公開する | sf-ai-agentscript | エージェントアクションのオーケストレーション |
リファレンスマップ
まずはこちら
- references/flow-best-practices.md
- references/flow-quick-reference.md
- references/orchestration.md
- references/testing-guide.md
設計/オーケストレーション
- references/subflow-library.md
- references/governance-checklist.md
- references/transform-vs-loop-guide.md
- references/orchestration-guide.md
- references/orchestration-parent-child.md
- references/orchestration-sequential.md
- references/orchestration-conditional.md
AI の判断
画面/連携/トラブルシューティング
- references/form-building-guide.md
- references/integration-patterns.md
- references/lwc-integration-guide.md
- references/agentforce-flow-integration.md
- references/xml-gotchas.md
- references/testing-checklist.md
- references/wait-patterns.md
- assets/
スコアガイド
| スコア | 意味 |
|---|---|
| 88+ | 本番環境で使用できる Flow |
| 75–87 | レビュー項目がいくつかある、良好な Flow |
| 60–74 | 機能するものの、より強固なガードレールが必要 |
| < 60 | デプロイには安全でない/不完全 |
コメント
Markdown 対応