sf-ai-agentscript
決定論的なAgentforceエージェント向けのAgent Script DSLを扱うスキルです。`.agent`ファイルの作成・編集、FSMベースのエージェント構築、Agent Script CLI(`sf agent generate authoring-bundle`、`sf agent validate authoring-bundle`、`sf agent preview`、`sf agent publish authoring-bundle`、`sf agent activate`)の使用、または決定論的エージェントパターン・スロットフィリング・命令解決に関する質問がある際にトリガーされます。Builderメタデータ作業(`sf-ai-agentforce`を使用)、エージェントテスト(`sf-ai-agentforce-testing`を使用)、またはペルソナ設計(`sf-ai-agentforce-persona`を使用)の場合はトリガーしないでください。
description の原文を見る
> Agent Script DSL for deterministic Agentforce agents. TRIGGER when: user writes or edits .agent files, builds FSM-based agents, uses Agent Script CLI (sf agent generate authoring-bundle, sf agent validate authoring-bundle, sf agent preview, sf agent publish authoring-bundle, sf agent activate), or asks about deterministic agent patterns, slot filling, or instruction resolution. DO NOT TRIGGER when: Builder metadata work (use sf-ai-agentforce), agent testing (use sf-ai-agentforce-testing), or persona design (use sf-ai-agentforce-persona).
SKILL.md 本文
SF-AI-AgentScript スキル
Agent Script は決定論的 Agentforce エージェント向けのコードファーストパスです。ユーザーが .agent ファイルを作成している、有限状態トピックフローを構築している、またはルーティング、変数、アクション、および公開動作に対する反復可能な制御が必要な場合に、このスキルを使用してください。
最初に最短ガイドから始めてください:
references/activation-checklist.mdビルダー UI から移行していますか?
references/migration-guide.mdを使用してください
このスキルがタスクを所有する場合
以下の作業が含まれる場合は sf-ai-agentscript を使用してください:
.agentファイルの作成または編集- 決定論的トピックルーティング、ガード、および遷移
- Agent Script CLI ワークフロー (
sf agent generate authoring-bundle、sf agent validate authoring-bundle、sf agent preview、sf agent publish authoring-bundle、sf agent activate) - スロット充填、命令解決、アクション後ループ、または FSM 設計
ユーザーが以下を行っている場合は他の場所に委譲してください:
- ビルダーメタデータエージェントのメンテナンス (
GenAiFunction、GenAiPlugin、GenAiPromptTemplate、Models API、カスタム Lightning タイプ) →sf-ai-agentforce - ペルソナ / トーン / ボイスの設計 →
sf-ai-agentforce-persona - 正式なテストプランまたはカバレッジループの構築 →
sf-ai-agentforce-testing
ユーザーが Builder Script / Canvas ビューにいるが、その結果が .agent 作成バンドルの場合は、作業を sf-ai-agentscript に保持してください。
適切なサイズの決定論性
- 決定論性はダイアルであり、目的地ではありません。
- 「ほぼ正しい」では受け入れられない場合、Agent Script を使用してください: ゲート、必須シーケンシング、明示的な状態遷移、コンプライアンス、またはドリフト制御。
- ワークフローが完全に静的で線形である場合は、会話をスクリプト化する代わりに Flow または Apex を使用してください。
- 決定論的なエンベロープを優先してください: 決定論的なエントリ / ゲート → 柔軟な中間 → 決定論的なクローズアウト。
- より多くの決定論性が自動的に良いわけではありません。最小限から始めて、ルーティングドリフト、シーケンシング失敗、またはコンプライアンスリスクを示す部分だけを強化してください。
最初に収集すべき必須コンテキスト
以下を尋ねるか推測してください:
- エージェントの目的と Agent Script が本当に適切であるかどうか
- Service Agent と Employee Agent
- ターゲット組織と公開意図
- 予想されるアクション / ターゲット (Flow、Apex、PromptTemplate など)
- リクエストが作成、検証、プレビュー、または公開トラブルシューティングであるかどうか
アクティベーションチェックリスト
.agent ファイルを作成または修正する前に、以下を最初に確認してください:
- 正確に 1 つの
start_agentブロック - タブとスペースの混在なし
- ブール値は
True/False else ifと ネストされたifなし- トップレベル
actions:ブロックなし set式に@inputsなしlinked変数にデフォルトなしlinked変数はobject/listタイプを使用しない- 明示的な
agent_typeを使用 @actions.プリフィックスを一貫して使用run @actions.Xは、Xがtarget:を持つトピックレベルアクション定義の場合のみ使用- インテント ルーティング用に生の
@system_variables.user_input contains/startswith/endswithで直接分岐しない - プロンプトテンプレート出力で
is_displayable: False+is_used_by_planner: Trueを優先 @outputs.Xがスカラーであると仮定しない — 分岐または割り当てる前に出力スキーマを検査
展開版については、references/activation-checklist.md を使用してください。
交渉の余地がないルール
1) Service Agent と Employee Agent
| エージェントタイプ | 必須 | 禁止 / 注意 |
|---|---|---|
AgentforceServiceAgent | 有効な default_agent_user、正しい権限、ターゲット組織チェック、sf org create agent-user を優先 | 実際の Einstein Agent User なしで公開 |
AgentforceEmployeeAgent | 明示的な agent_type | default_agent_user の供給 |
詳細: references/agent-user-setup.md
2) 推奨トップレベルブロック規約
このスキルの例とレビューでの一貫性のため、この順序を使用してください:
config:
variables:
system:
connection:
knowledge:
language:
start_agent:
topic:
公式 Salesforce 資料ではトップレベルブロックをさまざまなシーケンスで提示しており、ローカル検証証拠は複数の順序がコンパイルされることを示しています。これはスタンドアロンの正確性または公開ブロッカーではなく、スタイル規約として扱ってください。
3) 重要な config フィールド
| フィールド | ルール |
|---|---|
developer_name | フォルダ / バンドル名と一致する必要がある |
description | パブリック ドキュメント / 例はこの config フィールドを使用する必要がある |
agent_type | 毎回明示的に設定する |
default_agent_user | Service Agents のみ |
ローカルツーリングは互換性のため agent_description: も受け入れていますが、このスキルのパブリック ドキュメントと例は description: を優先する必要があります。
4) 即座の失敗として扱うべき構文ブロッカー
else if- ネストされた
if - コメントのみの
ifボディ - トップレベル
actions: - 呼び出しレベルの
inputs:/outputs:ブロック descriptionおよびlabelなどの予約変数 / フィールド名
正規ルールセット: references/syntax-reference.md および references/validator-rule-catalog.md
推奨ワークフロー
推奨作成ワークフロー
フェーズ 1 — エージェントの設計
- 問題が実際に Agent Script に十分な決定論的であるかどうかを判断する
- トピックを状態としてモデル化し、遷移をエッジとしてモデル化する
- 本当に必要な変数だけを定義する
フェーズ 2 — .agent を作成
config、system、start_agent、およびトピックを最初に作成- 完全な
inputs:およびoutputs:を持つターゲット支持アクションを追加 - 決定論的なツール可視性のため
available whenを使用 - 生のインテント / 検証シグナルをブール値またはEnum に正規化してから分岐。重要な制御フローのために生のユーザー発話で直接部分文字列チェックを避ける
- アクション後のチェックを
instructions: ->の トップ に保持
デフォルト作成スタンス
- デフォルトで直接
.agent作成とソース管理でのEdits に デフォルト化 - ユーザーがローカルバンドルスキャフォルディングを望む場合のみ
sf agent generate authoring-bundle --no-specを使用 sf agent generate agent-specをオプションの ideation / トピックブートストラップとして扱い、デフォルトワークフローではない- Agent Script ユーザーを
sf agent createまたはsf agent generate templateに向けるべきではない
フェーズ 3 — 継続的に検証
検証は書き込み / 編集時に自動的に実行されます。公開前に CLI を使用してください:
sf agent validate authoring-bundle --api-name MyAgent -o TARGET_ORG --json
バリデーターは構造、実行時の落とし穴、ターゲット準備、および組織対応 Service Agent チェックをカバーしています。ルール ID は references/validator-rule-catalog.md に存在します。
フェーズ 4 — プレビュースモークテスト
公開前にプレビューループを使用してください:
- 3~5 個のスモークユーターナンスを導出
- ベアレ
sf agent previewではなくstart/send/endサブコマンドでプレビューを開始 --authoring-bundleを使用する場合は、常にモードを明示的に選択:--simulate-actionsまたは--use-live-actions- トピックルーティング / アクション呼び出し / 安全性 / グラウンディングを検査
- 修正および最大 3 回再実行
完全なループ: references/preview-test-loop.md
フェーズ 5 — 公開とアクティベート
sf agent publish authoring-bundle --api-name MyAgent -o TARGET_ORG --json
# 手動アクティベーション
sf agent activate --api-name MyAgent -o TARGET_ORG
# CI / 既知の BotVersion の決定論的アクティベーション
sf agent activate --api-name MyAgent --version <n> -o TARGET_ORG --json
公開はエージェントを アクティベート していません。
オートメーションの場合は、アクティベーションが決定論的で機械可読になるように --version <n> --json を優先してください。
決定論的ビルディングブロック
これらはコードとして実行され、提案ではありません:
- 条件文
available whenガード- 変数チェック
- 直接
set/transition to run @actions.XXがtarget:を持つトピックレベルアクション定義の場合のみ- LLM 対応テキストへの変数注入
重要な区別:
- 決定論的:
set、transition to、およびターゲット支持トピックアクション用のrun @actions.X - LLM 指向:
reasoning.actions:ユーティリティ / 委譲 (@utils.setVariables、@utils.transition、および{!@actions.X}命令参照など)
現在 reasoning レベルのユーティリティとしてモデル化されている何かに対して決定論的な動作が必要な場合は、以下のいずれかを実行してください:
- 直接
set/transition toとして書き直す、または - トピックレベルのターゲット支持アクションに昇格させ、そのアクションを
runする
references/instruction-resolution.md および references/architecture-patterns.md を参照してください。
クロススキル統合
クロススキル オーケストレーション
| タスク | 委譲先 | 理由 |
|---|---|---|
flow:// ターゲットを構築 | sf-flow | Flow 作成 / 検証 |
| Apex アクションターゲットを構築 | sf-apex | @InvocableMethod とビジネスロジック |
| トピックルーティング / アクションをテスト | sf-ai-agentforce-testing | 正式なテスト仕様と修正ループ |
| デプロイ / 公開 | sf-deploy | デプロイメント オーケストレーション |
高シグナル障害パターン
| 症状 | 推奨原因 | 次を読む |
|---|---|---|
公開中に Internal Error | 無効な Service Agent ユーザーまたは欠落しているアクション I/O | references/agent-user-setup.md、references/actions-reference.md |
プロンプトテンプレートアクションで invalid input/output parameters | ターゲットテンプレートはドラフトステータス — 最初にアクティベートしてください | references/action-prompt-templates.md |
| パーサーが条件文を拒否 | else if、ネストされた if、空の if ボディ | references/syntax-reference.md |
| アクションターゲットの問題 | 欠落している Flow / Apex ターゲット、非アクティブな Flow、不正なスキーマ | references/actions-reference.md |
| プロンプトテンプレートは実行されるがユーザーに空白応答が表示される | プロンプト出力が is_displayable: True でマーク | references/production-gotchas.md、references/action-prompt-templates.md |
| プロンプトアクションは実行されるがプランナーが出力が欠落しているように動作 | 出力が直接表示から非表示だがプランナー可視ではない | references/production-gotchas.md、references/actions-reference.md |
run @actions.X で ACTION_NOT_IN_SCOPE | run がユーティリティ / 委譲 / 未解決アクションではなくトピックレベルターゲット支持定義を指す | references/syntax-reference.md、references/instruction-resolution.md |
| 決定論的なキャンセル / リビジョン / URL チェックが一貫して動作しない | 生の @system_variables.user_input マッチングまたは文字列メソッドガードが制御フロー重要な検証として使用されている | references/syntax-reference.md、references/production-gotchas.md |
@outputs.X 比較または割り当てが予期せず動作 | アクション出力は平坦スカラーではなく構造化/ラップされている | references/actions-reference.md、references/syntax-reference.md |
| プレビューと実行時が一致しない | リンク済みVars / コンテキスト / 既知のプラットフォーム問題 | references/known-issues.md |
| 検証は成功するが公開が失敗 | 組織固有のユーザー / 権限 / 取得バック問題 | references/production-gotchas.md、references/cli-guide.md |
リファレンスマップ
ここから始める
references/activation-checklist.mdreferences/syntax-reference.mdreferences/actions-reference.md
公開 / 実行時の安全性
references/agent-user-setup.mdreferences/production-gotchas.mdreferences/customer-web-client.mdreferences/known-issues.md
アーキテクチャ / 推論
references/architecture-patterns.mdreferences/instruction-resolution.mdreferences/fsm-architecture.mdreferences/patterns-quick-ref.md
検証 / テスト / デバッグ
references/preview-test-loop.mdreferences/testing-guide.mdreferences/debugging-guide.mdreferences/validator-rule-catalog.md
例 / スキャフォルド
references/minimal-examples.mdreferences/migration-guide.mdassets/assets/agents/assets/patterns/
プロジェクト ドキュメント
references/version-history.mdreferences/sources.md
スコアガイド
| スコア | 意味 |
|---|---|
| 90+ | 自信を持ってデプロイ |
| 75–89 | 良好、警告を確認 |
| 60–74 | 重点的な見直しが必要 |
| < 60 | 公開をブロック |
完全なルーブリック: references/scoring-rubric.md
公式リソース
- Agent Script ドキュメント
- Agent Script レシピ
- Agentforce DX ガイド
references/official-sources.md
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jaganpro
- リポジトリ
- jaganpro/sf-skills
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jaganpro/sf-skills / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。