Agent Skills by ALSEL
Anthropic Claudeデータ・分析⭐ リポ 0品質スコア 50/100

sf-industry-commoncore-integration-procedure

OmniStudioのIntegration Procedureの作成・検証を110点満点のスコアリングで支援するスキルです。Data Mapperアクション・Apex Remote Action・HTTPコールアウト・条件分岐を組み合わせたサーバーサイドのプロセスオーケストレーションを構築する際に使用してください。Integration Procedureの新規作成・Data Mapperステップの追加・Remote Actionの設定・既存IP設定のレビュー時にトリガーされます。OmniScriptの構築(sf-industry-commoncore-omniscript)、Data Mapperの直接作成(sf-industry-commoncore-datamapper)、コンポーネント横断の依存関係分析(sf-industry-commoncore-omnistudio-analyze)には使用しないでください。

description の原文を見る

> OmniStudio Integration Procedure creation and validation with 110-point scoring. Use when building server-side process orchestrations that combine Data Mapper actions, Apex Remote Actions, HTTP callouts, and conditional logic. TRIGGER when: user creates Integration Procedures, adds Data Mapper steps, configures Remote Actions, or reviews existing IP configurations. DO NOT TRIGGER when: building OmniScripts (use sf-industry-commoncore-omniscript), creating Data Mappers directly (use sf-industry-commoncore-datamapper), or analyzing cross-component dependencies (use sf-industry-commoncore-omnistudio-analyze).

SKILL.md 本文

sf-industry-commoncore-integration-procedure: OmniStudio Integration Procedure の作成と検証

サーバーサイドプロセスオーケストレーションに関する深い知識を持つ、エキスパート OmniStudio Integration Procedure (IP) ビルダー。DataRaptor/Data Mapper アクション、Apex Remote Actions、HTTP callouts、条件ロジック、ネストされたプロシージャ呼び出しを組み合わせた、本番対応のマルチステップ宣言型オペレーションを作成します。

クイックリファレンス

スコアリング: 6カテゴリで 110ポイント。閾値: ✅ 90以上 (デプロイ) | ⚠️ 67~89 (レビュー) | ❌ 67未満 (ブロック - 修正必須)


コア責務

  1. IP 生成: 要件から適切なエレメントタイプを選択して、整形された Integration Procedures を作成し、入出力をワイヤリング
  2. エレメント構成: DataRaptor アクション、Remote Actions、HTTP callouts、条件ブロック、ループ、ネストされた IP 呼び出しをコヒーレントなオーケストレーションに組み立て
  3. 依存関係分析: 参照される DataRaptors、Apex クラス、ネストされた IPs がデプロイ前に存在かつアクティブであることを検証
  4. エラーハンドリング: すべてのデータ変更ステップにおいて try/catch パターン、条件付きロールバック、およびレスポンス検証を実施

重要: オーケストレーション順序

sf-industry-commoncore-omnistudio-analyze -> sf-industry-commoncore-datamapper -> sf-industry-commoncore-integration-procedure -> sf-industry-commoncore-omniscript -> sf-industry-commoncore-flexcard (あなたはここにいます: sf-industry-commoncore-integration-procedure)

IP によって参照される Data Mappers は最初に存在する必要があります。それらを呼び出す IP の前に DataRaptors/Data Mappers をビルドしてデプロイします。IP は、OmniScript または FlexCard がそれを呼び出す前にアクティブである必要があります。


主要インサイト

インサイト詳細
チェーーニングIPs は Integration Procedure Action エレメントを介して他の IPs を呼び出します。1つのステップの出力は、レスポンスマッピングを介して次のステップの入力に供給されます。可能な限り線形にデータフローを設計してください。
レスポンスマッピング各エレメントの出力は、レスポンス JSON のエレメント名の名前空間の下に配置されます。%elementName:keyPath% 構文を使用して、ダウンストリーム入力でアップストリーム出力を参照します。
キャッシングIPs は読み取り集約的なオーケストレーション用のプラットフォームキャッシュをサポートします。プロシージャの PropertySet で cacheTypecacheTTL を設定します。DML を実行するプロシージャのキャッシングを避けてください。
バージョニングType/SubType ペアは IP を一意に識別します。バージョニングに SubType を使用してください (例: Type=AccountOnboardingSubType=v2)。Type/SubType ごとに一度にアクティブできるのは1つのバージョンのみです。

コアネームスペース識別子: OmniStudio Core は Integration Procedures と OmniScripts の両方を OmniProcess テーブルに格納します。IsIntegrationProcedure = true または OmniProcessType = 'Integration Procedure' を使用して IPs をフィルタリングしてください。フィルタがない場合、クエリは混合結果を返します。

重要 — Data API 経由での IPs 作成: OmniProcess レコードを作成する場合、IsIntegrationProcedure = true を設定してレコードを Integration Procedure にします。OmniProcessType ピックリストはこのブール値から計算され、直接設定することはできません。また、NameOmniProcess の必須フィールドです (標準 OmniStudio ドキュメントには記載されていません)。作成には sf api request rest --method POST --body @file.json を使用してください — sf data create record --values フラグは PropertySetConfig のような JSON テキストエリアフィールドを処理できません。


ワークフロー設計 (5フェーズパターン)

フェーズ 1: 要件収集

ビルド前に代替案を評価: 時には単一の DataRaptor、Apex サービス、または Flow の方が適切な選択です。IPs は、分岐、エラーハンドリング、および混合データソースを備えた宣言型マルチステップオーケストレーションが必要な場合に最適です。

ユーザーに以下を収集するよう依頼します:

  • オーケストレーション対象のビジネスプロセスの目的
  • ターゲットオブジェクトとデータソース (Salesforce オブジェクト、外部 APIs、またはその両方)
  • Type/SubType ネーミング (例: Type=OrderProcessingSubType=Standard)
  • デプロイ用のターゲット org エイリアス

その後: CLI クエリを介して既存の IPs を確認し (以下の CLI コマンドを参照)、再利用可能な DataRaptors/Data Mappers を識別し、sf-industry-commoncore-omnistudio-analyze で依存コンポーネントをレビューします。

フェーズ 2: 設計とエレメント選択

エレメントタイプユースケースPropertySet キー
DataRaptor Extract ActionSalesforce データを読み取るbundle
DataRaptor Load ActionSalesforce データを書き込むbundle
DataRaptor Transform Actionデータシェーピング/マッピングbundle
Remote ActionApex クラスメソッドを呼び出すremoteClassremoteMethod
Integration Procedure Actionネストされた IP を呼び出すipMethod (形式: Type_SubType)
HTTP Action外部 API calloutpathmethod
Conditional Block分岐ロジック--
Loop Blockコレクションを反復処理--
Set Values変数/定数を割り当て--

ネーミング規約: PascalCase を使用して [Type]_[SubType]。IP 内のエレメント名は、そのアクションを明確に説明する必要があります (例: GetAccountDetailsValidateInputCreateOrderRecord)。

データフロー: 各ステップの出力が次のステップの入力に自然に供給されるようにエレメントチェーンを設計します。暗黙的なネームスペースマージに依存するのではなく、出力を明示的にマップしてください。

フェーズ 3: 生成と検証

以下を使用して IP 定義を構築します:

  • 正しい Type/SubType の割り当て
  • 明示的な入出力マッピングを備えた順序付きエレメントチェーン
  • すべてのデータ変更エレメントでのエラーハンドリング
  • 分岐ロジック用の条件付きブロック

検証 (STRICT MODE):

  • ブロック: Type/SubType が欠落、循環 IP 呼び出し、エラーハンドリングなしの DML、存在しない DataRaptors/Apex クラスへの参照
  • 警告: LIMIT なしの無制限抽出、読み取り専用 IPs での欠落キャッシング、PropertySetConfig でのハードコード ID、未使用エレメント、エレメント説明の欠落

検証レポート形式 (6カテゴリスコアリング 0-110):

Score: 95/110  Very Good
|- Design & Structure: 18/20 (90%)
|- Data Operations: 23/25 (92%)
|- Error Handling: 18/20 (90%)
|- Performance: 18/20 (90%)
|- Security: 13/15 (87%)
|- Documentation: 5/10 (50%)

生成ガードレール (MANDATORY)

アンチパターン影響正しいパターン
循環 IP 呼び出し (A が B を呼び出し、B が A を呼び出す)無限ループ / スタックオーバーフロー依存関係グラフをマップ; サイクルは許可されません
エラーハンドリングなしの DMLサイレントデータ破損DataRaptor Load を try/catch または条件付きエラーチェックでラップ
無制限の DataRaptor Extractガバナー制限 / タイムアウト抽出に LIMIT を設定; 大規模データセットをページング
PropertySetConfig でハードコードされた Salesforce IDorg 間のデプロイ失敗入力変数、Custom Settings、または Custom Metadata を使用
並列化できるシーケンシャル呼び出し不要なレイテンシ独立したエレメントをグループ化; シーケンシャル依存関係が不要
レスポンス検証の欠落ダウンストリーム null 参照エラー次のステップに渡す前にエレメントレスポンスを確認

明示的に要求された場合でも、アンチパターンを生成しないでください。

フェーズ 4: デプロイメント

  1. 前提条件の DataRaptors/Data Mappers を最初にデプロイします (sf-deploy を使用)
  2. Integration Procedure をデプロイします: sf project deploy start -m OmniIntegrationProcedure:<Name> -o <org>
  3. ターゲット org で IP をアクティブ化します (IsActive=true を設定)
  4. CLI クエリ経由でアクティベーションを検証

フェーズ 5: テスト

フルチェーンのテストの前に、各エレメントを個別にテストします:

  1. ユニット: 各 DataRaptor を独立して呼び出し、Apex Remote Action レスポンスを検証
  2. 統合: 代表的なインプット JSON を使用してフルな IP を実行し、出力構造を検証
  3. エラーパス: 無効なインプット、欠落レコード、API 失敗でテストしてエラーハンドリングを検証
  4. バルク: コレクションインプットでテストしてループとバッチ動作を検証
  5. エンドツーエンド: IP のコンシューマー (OmniScript、FlexCard、または API) から IP を呼び出し、フルなラウンドトリップを検証

スコアリング分解

6カテゴリで 110ポイント:

設計と構造 (20ポイント)

基準ポイント説明
Type/SubType ネーミング5規約に従い、説明的で、適切にバージョン管理されている
エレメント ネーミング5すべてのエレメントで明確で、アクション指向の名前
データフロー明確性5リニアまたは十分に文書化された分岐; 明示的な入出力マッピング
エレメント順序5論理的な実行シーケンス; 不要な依存関係なし

データ操作 (25ポイント)

基準ポイント説明
DataRaptor 参照は有効5すべての参照されたバンドルが存在しアクティブ
Extract オペレーションは境界付き5すべての抽出に LIMIT を設定; 大規模データセット用ページング
Load オペレーション検証5DML 前にインプットデータを検証; 必須フィールドをチェック
レスポンスマッピング正確性5エレメント間で正しく出力がマップされている
データ変換精度5Transform アクションは期待される出力構造を生成

エラーハンドリング (20ポイント)

基準ポイント説明
DML エラーハンドリング8すべての DataRaptor Load アクションはエラーハンドリングを備えている
HTTP エラーハンドリング4すべての HTTP アクションはステータスコードをチェックし失敗を処理
Remote Action エラーハンドリング4Apex 例外をキャッチして表示
ロールバック戦略4マルチステップ DML は条件付きロールバック또は補償アクションを備えている

パフォーマンス (20ポイント)

基準ポイント説明
無制限クエリなし5すべての抽出に合理的な LIMIT 値を設定
キャッシング適用5読み取り専用プロシージャは必要に応じてプラットフォームキャッシュを使用
並列実行5独立したエレメントは不要にシリアル化されない
冗長呼び出しなし5同じデータがエレメント全体で複数回フェッチされない

セキュリティ (15ポイント)

基準ポイント説明
ハードコード ID なし5ID は入力変数またはメタデータから渡される
ハードコード認証情報なし5API キー/トークンは Named Credentials または Custom Settings を使用
インプット検証5ユーザーが提供するインプットはクエリまたは DML で使用する前にサニタイズ

ドキュメント (10ポイント)

基準ポイント説明
プロシージャ説明3目的とビジネスコンテキストの明確な説明
エレメント説明4各エレメントにはそのロールを説明する説明がある
インプット/アウトプット ドキュメント3期待されるインプット JSON と出力 JSON 構造を文書化

CLI コマンド

# アクティブな Integration Procedures をクエリ
sf data query -q "SELECT Id,Name,Type,SubType,IsActive FROM OmniProcess WHERE IsActive=true AND IsIntegrationProcedure=true" -o <org>

# すべての Integration Procedures をクエリ (非アクティブを含む)
sf data query -q "SELECT Id,Name,Type,SubType,IsActive,LastModifiedDate FROM OmniProcess WHERE IsIntegrationProcedure=true ORDER BY LastModifiedDate DESC" -o <org>

# Integration Procedure を取得
sf project retrieve start -m OmniIntegrationProcedure:<Name> -o <org>

# Integration Procedure をデプロイ
sf project deploy start -m OmniIntegrationProcedure:<Name> -o <org>

# ドライラン検証でデプロイ
sf project deploy start -m OmniIntegrationProcedure:<Name> -o <org> --dry-run

コアネームスペース注記: IsIntegrationProcedure=true フィルタは REQUIRED です (または同等の OmniProcessType='Integration Procedure')。OmniScript および Integration Procedure レコードは OmniProcess sObject を共有しています。このフィルタがない場合、クエリは両方のタイプを返して誤解を招く結果を生成します。


クロススキル統合

スキルからsf-industry-commoncore-integration-procedure へいつ
sf-industry-commoncore-omnistudio-analyze-> sf-industry-commoncore-integration-procedure「IP をビルドする前に依存関係を分析」
sf-industry-commoncore-datamapper-> sf-industry-commoncore-integration-procedure「DataRaptor/Data Mapper が準備できたら、それを IP にワイヤリング」
sf-apex-> sf-industry-commoncore-integration-procedure「Apex Remote Action クラスをデプロイしたら、IP で構成」
sf-industry-commoncore-integration-procedure からスキルへいつ
sf-industry-commoncore-integration-procedure-> sf-deploy「IP をターゲット org にデプロイ」
sf-industry-commoncore-integration-procedure-> sf-industry-commoncore-omniscript「IP がアクティブであれば、それを呼び出す OmniScript をビルド」
sf-industry-commoncore-integration-procedure-> sf-industry-commoncore-flexcard「IP がアクティブであれば、データソースを呼び出す FlexCard をビルド」
sf-industry-commoncore-integration-procedure-> sf-industry-commoncore-omnistudio-analyze「デプロイ前に IP 依存関係グラフを検証」

エッジケース

シナリオソリューション
IP がそれ自体を呼び出す (直接再帰)設計時にブロック; 循環依存チェックは必須
IP が元の IP を呼び出す IP を呼び出す (間接再帰)フルコールグラフをマップ; sf-industry-commoncore-omnistudio-analyze がサイクルを検出
DataRaptor がまだデプロイされていない最初に DataRaptors をデプロイ; 欠落参照で IP デプロイメントが失敗
外部 API タイムアウトHTTP Action エレメントでタイムアウト値を設定; リトライロジックまたはグレースフルデグラデーション実装
Loop Block への大規模コレクションインプットバッチサイズを設定; 実際のデータボリュームでテストして CPU タイムアウトを回避
既存 IP での Type/SubType 衝突デプロイ前に既存 IPs をクエリ; SubType バージョニング衝突を回避
混合ネームスペース (Vlocity vs Core)org ネームスペースを確認; パッケージ間でエレメントプロパティ名が異なる

デバッグ: IP が実行されない -> IsActive フラグ + Type/SubType マッチを確認 | エレメントスキップ -> 条件ブロックロジック + インプットデータ形状を検証 | タイムアウト -> DataRaptor クエリスコープ + HTTP タイムアウト設定を確認 | デプロイメント失敗 -> すべての参照コンポーネントがデプロイされアクティブであることを検証


注記

依存関係 (オプション): sf-deploy、sf-industry-commoncore-datamapper、sf-industry-commoncore-omnistudio-analyze | API: 66.0 | モード: Strict (警告はブロック) | スコアリング: スコアが 67 未満の場合デプロイをブロック | 詳細ガイダンスについては references/best-practices.md および references/element-types.md を参照してください。

プログラムで IPs を作成: REST API を使用してください (sf api request rest --method POST --body @file.json)。必須フィールド: NameTypeSubTypeLanguageVersionNumberIsIntegrationProcedure=true。その後、各アクションステップ用に OmniProcessElement 子レコードを作成してください (JSON PropertySetConfig 用の REST API も使用)。すべてのエレメントが作成されたら、IsActive=true を設定してアクティベーションします。


ライセンス

MIT License. Copyright (c) 2026 David Ryan (weytani)

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
jaganpro
リポジトリ
jaganpro/sf-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/jaganpro/sf-skills / ライセンス: MIT

関連スキル

OpenAIデータ・分析⭐ リポ 1,451

hugging-face-trackio

Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。

by gradio-app
汎用データ・分析⭐ リポ 855

btc-bottom-model

ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。

by star23
Anthropic Claudeデータ・分析⭐ リポ 380

protein_solubility_optimization

タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。

by SpectrAI-Initiative
Anthropic Claudeデータ・分析⭐ リポ 1,743

research-lookup

Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。

by K-Dense-AI
Anthropic Claudeデータ・分析⭐ リポ 299

tree-formatting

ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。

by majiayu000
汎用データ・分析⭐ リポ 145

querying-indonesian-gov-data

インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。

by suryast
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: jaganpro · jaganpro/sf-skills · ライセンス: MIT