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

sf-industry-commoncore-flexcard

OmniStudio FlexCardの作成・検証を130点満点のスコアリングで支援するスキルです。一覧表示用UIカードの構築、Integration Procedureへのデータソースバインディング設定、既存FlexCard定義のアクセシビリティやパフォーマンスレビューを行う際に使用してください。OmniScriptの構築やIntegration Procedureの作成、依存関係の分析が目的の場合は対象外となります。

description の原文を見る

> OmniStudio FlexCard creation and validation with 130-point scoring. Use when building at-a-glance UI cards, configuring data source bindings to Integration Procedures, or reviewing existing FlexCard definitions for accessibility and performance. TRIGGER when: user creates FlexCards, configures data sources, designs card layouts, or asks about OmniUiCard metadata. DO NOT TRIGGER when: building OmniScripts (use sf-industry-commoncore-omniscript), creating Integration Procedures (use sf-industry-commoncore-integration-procedure), or analyzing dependencies (use sf-industry-commoncore-omnistudio-analyze).

SKILL.md 本文

sf-industry-commoncore-flexcard: OmniStudio FlexCard 作成と検証

Salesforce Industries 向け FlexCard UI コンポーネント専門の OmniStudio エンジニア。一目で分かる情報を表示する本番環境対応の FlexCard 定義を生成します。宣言的なデータバインディング、Integration Procedure データソース、条件付きレンダリング、適切な SLDS スタイルに対応しています。すべての FlexCards は 7つのカテゴリにわたる130ポイントスコアリングルーブリック に対して検証されます。

主要責務

  1. FlexCard オーサリング: 適切なレイアウト、状態、フィールドマッピングで FlexCard 定義を設計・構築
  2. データソースバインディング: 正しいフィールドマッピングとエラーハンドリングで Integration Procedure データソースを構成
  3. テスト生成: 複数のデータ状態 (データ入力済み、空、エラー、複数レコード) に対してカードを検証
  4. ドキュメント: データソース系統とアクション マッピングを含むデプロイ対応ドキュメントを作成

ドキュメントマップ

必要事項ドキュメント説明
ベストプラクティスreferences/best-practices.mdレイアウトパターン、SLDS、アクセシビリティ、パフォーマンス
データバインディングreferences/data-binding-guide.mdIP ソース、フィールドマッピング、条件付きレンダリング

重大事項: オーケストレーション順序

FlexCards は OmniStudio スタックのプレゼンテーション層に位置します。FlexCard が依存する上流コンポーネントが存在することを確認してください。

sf-industry-commoncore-omnistudio-analyze → sf-industry-commoncore-datamapper → sf-industry-commoncore-integration-procedure → sf-industry-commoncore-omniscript → sf-industry-commoncore-flexcard (ここにいます)

FlexCards は Integration Procedures からデータを消費し、OmniScripts を起動できます。まずデータレイヤーを構築し、次にプレゼンテーション層を構築します。


主要な洞察

洞察詳細
設定フィールドOmniUiCard はデータソースバインディング用に DataSourceConfig を、カードレイアウト、状態、アクション用に PropertySetConfig を使用します。Core namespace の OmniUiCard には Definition フィールドはありません。
データソースバインディングデータソースは Integration Procedures にバインドされてライブデータを取得します。IP は FlexCard がデータを取得する前にアクティブでデプロイされている必要があります
子カード埋め込みFlexCards は他の FlexCards を子カードとして埋め込むことができ、共有または独立したデータソースで複合レイアウトを有効にします
OmniScript 起動FlexCards はアクションボタン経由で OmniScripts を起動し、カードのデータソースからコンテキストデータを OmniScript の入力に渡すことができます
Designer 仮想オブジェクトFlexCard Designer は OmniFlexCardView を仮想リストオブジェクト (/lightning/o/OmniFlexCardView/home) として使用し、カードレコードが保存される OmniUiCard sObject とは別です。API 経由で作成されたカードは、Designer で開かれるまで「最近表示したもの」に表示されない場合があります。

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

フェーズ 1: 要件収集

構築前に、ステークホルダーにこれらを明確にしてください:

質問重要な理由
カードの目的は何か?レイアウトタイプとデータ密度を決定します
どのデータソースが必要か?必要な Integration Procedures を特定します
どのオブジェクトコンテキストで実行されるか?レコードレベルとリストレベルの表示を決定します
カードが公開すべきアクションは何か?ボタン/リンク設定と OmniScript 統合を推進します
ユースケースに最適なレイアウトは何か?単一カード、リスト、タブ付き、またはフライアウト
条件付き表示ルールはあるか?データ値に基づいて表示/非表示になるフィールドまたはセクション

フェーズ 2: 設計とレイアウト

カードレイアウトオプション

レイアウトタイプユースケース説明
単一カードレコードサマリー単一レコードのフィールドを表示する1つのカード
カードリスト関連レコード配列データソースにバインドされた繰り返しカード
タブ付きカードマルチコンテキスト1つのカード内でタブとして表示される複数の状態
フライアウトカードオンデマンド詳細サマリーカードから トリガーされる展開可能な詳細パネル

データソース設定

各 FlexCard データソースは Integration Procedure (または他のソースタイプ) に接続し、レスポンスフィールドを表示要素にマップします。

FlexCard → Data Source (type: IntegrationProcedure)
         → IP Name + Input Mapping
         → Response Field Mapping → Card Elements
  • {datasource.fieldName} マージ構文を使用して IP レスポンスフィールドをカード表示要素にマップします
  • IP の入力パラメータを設定してレコードコンテキスト (例: {recordId}) を渡します
  • 複数のソースが同じカードを供給する場合、データソース順序を設定します

アクションボタン設計

アクションタイプ目的設定
OmniScript 起動ガイド付きプロセスを開始OmniScript Type + SubType、コンテキストパラムを渡す
ナビゲートレコードまたは URL に移動マージフィールド付きレコード ID または URL テンプレート
カスタムアクションPlatform イベント、LWC などペイロードマッピング付きカスタムアクションハンドラー

条件付き表示

  • データ値に基づいて可視性条件を使用してフィールドを表示/非表示
  • データソース結果に基づいてカード状態全体を表示/非表示
  • データソースがレコードを返さない場合、空状態メッセージを表示

フェーズ 3: 生成と検証

  1. FlexCard 定義 JSON を生成
  2. すべてのデータソース参照がアクティブな Integration Procedures に解決されることを検証
  3. 130ポイントスコアリングルーブリックを実行 (スコアリングセクションを参照)
  4. マージフィールド構文が IP レスポンス構造と一致することを確認
  5. すべてのインタラクティブ要素のアクセシビリティ属性をチェック

フェーズ 4: デプロイ

  1. すべての上流 Integration Procedures がデプロイされてアクティブであることを確認
  2. FlexCard メタデータ (OmniUiCard) をデプロイ
  3. ターゲット org で FlexCard をアクティベート
  4. ターゲット Lightning ページ、OmniScript、または親 FlexCard に FlexCard を埋め込み

フェーズ 5: テスト

複数のデータシナリオに対して各 FlexCard をテストします:

シナリオ検証項目
データ入力済みすべてのフィールドが正しくレンダリングされ、マージフィールドが解決される
空データ空状態メッセージが表示され、マージフィールドが破断していない
エラー状態IP がエラーを返すかタイムアウトする場合、優雅に処理される
複数レコードカードリストが正しい数のアイテムをレンダリングし、ページネーションが機能する
アクションボタンOmniScript が正しい事前入力されたデータで起動される
条件付きフィールド可視性ルールがデータ値に基づいて正しく切り替わる
モバイルカードレイアウトがより小さいビューポート幅に適応する

生成ガードレール

FlexCard 定義を生成するときにこれらのパターンを避けます:

アンチパターン何が間違っているか正しいアプローチ
存在しない IP データソースを参照カードは実行時にデータをロードできないバインド前に IP が存在してアクティブであることを確認
スタイル内のハードコード色SLDS テーマとダークモードを破損SLDS デザイントークンと CSS カスタムプロパティを使用
アクセシビリティ属性がないWCAG コンプライアンス失敗aria-labelrole、キーボードハンドラーを追加
過度にネストされた子カードネストが深いとパフォーマンスが低下最大2レベルのネストに制限。可能な限りフラット化
空状態を無視データソースがレコードを返さない場合、UI が破損明示的な空状態メッセージを設定
ハードコードされたレコード IDカードは環境全体で破損マージフィールドとコンテキスト駆動パラメータを使用

スコアリングルーブリック (130ポイント)

すべての FlexCards は7つのカテゴリに対して検証されます。閾値: ✅ 90+ (デプロイ) | ⚠️ 67-89 (レビュー) | ❌ <67 (ブロック - 修正必須)

カテゴリポイント基準
設計とレイアウト25適切なレイアウトタイプ、論理的フィールドグループ化、レスポンシブ設計、一貫した間隔、明確な視覚階層
データバインディング20正しい IP 参照、適切なマージフィールド構文、入力パラメータマッピング、マルチソース調整
アクションとナビゲーション20アクションボタンが正しく設定、OmniScript 起動パラム マッピング、ナビゲーションターゲット有効、アクションラベルが説明的
スタイル20SLDS トークン使用 (ハードコード色なし)、一貫したタイポグラフィ、カード/タイルパターンの適切な使用、ダークモード互換
アクセシビリティ15インタラクティブ要素の aria-label、キーボードナビゲート可能なアクション、十分な色コントラスト、スクリーンリーダーフレンドリーなフィールドラベル
テスト15データ入力済み、空状態、エラー状態、複数レコードシナリオ、モバイルビューポートで検証済み
パフォーマンス15データソース呼び出しが最小化、子カードネストが制限 (最大2レベル)、冗長な IP 呼び出しなし、非表示状態のレイジーロード

スコアリング内訳詳細

設計とレイアウト (25ポイント)

基準ポイント説明
レイアウトタイプがユースケースと一致5単一、リスト、タブ付き、またはフライアウトが適切に選択されている
フィールドグループ化が論理的5関連フィールドが視覚的にグループ化されている
レスポンシブ動作5カードがさまざまなビューポート幅に適応する
一貫した間隔5マージンとパディングが SLDS 間隔スケールに従う
視覚階層5主要情報が目立ち、次要情報が強調解除されている

データバインディング (20ポイント)

基準ポイント説明
IP 参照が有効5すべての参照 IP が存在してアクティブ
マージフィールド構文が正確5{datasource.field} パスが実際の IP レスポンスフィールドに解決される
入力パラメータがマップ5レコードコンテキストが IP 入力に正しく渡される
マルチソース調整5複数のデータソースが正しい順序でロードされ、衝突しない

アクションとナビゲーション (20ポイント)

基準ポイント説明
アクションボタン機能5すべてのボタンが設定されたアクションをトリガーする
OmniScript パラムマップ5コンテキストデータが起動された OmniScripts に正しく流れる
ナビゲーションターゲット有効5レコードと URL ナビゲーションが正しく解決される
ラベルが説明的5アクションラベルがアクション内容を明確に伝える

スタイル (20ポイント)

基準ポイント説明
SLDS トークン使用5色、フォント、間隔はデザイントークン経由
一貫したタイポグラフィ5テキストサイズが SLDS タイプスケールに従う
カードパターン準拠5標準 SLDS カードまたはタイルパターンを使用
ダークモード互換5ハードコード色がなく、SLDS ダークテーマで機能する

アクセシビリティ (15ポイント)

基準ポイント説明
インタラクティブ要素の ARIA ラベル5ボタン、リンク、入力がアクセス可能な名前を持つ
キーボードナビゲート可能5すべてのアクションが Tab 経由で到達可能、Enter/Space で起動
色コントラストが十分5WCAG 2.1 AA コントラスト比 (テキスト 4.5:1) を満たす

テスト (15ポイント)

基準ポイント説明
データ入力済み検証3カードが完全なデータで正しくレンダリングされる
空状態検証3空状態メッセージが正しく表示される
エラー状態検証3IP エラーを優雅に処理する
複数レコード検証3カードリストが正しいアイテムをレンダリングする
モバイルビューポート検証3レイアウトが小さい画面に適応する

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

基準ポイント説明
データソース呼び出し最小化5冗長または重複する IP 呼び出しがない
子カードネスト制限5ネストされた子カードの最大2レベル
非表示状態のレイジーロード5非表示タブ/フライアウトはオンデマンドでロード

CLI コマンド

# org 内のアクティブな FlexCards をクエリ
sf data query -q "SELECT Id,Name,DataSourceConfig,PropertySetConfig,IsActive FROM OmniUiCard WHERE IsActive=true" -o <org>

# 名前で特定の FlexCard を取得
sf project retrieve start -m OmniUiCard:<Name> -o <org>

# ターゲット org に FlexCard をデプロイ
sf project deploy start -m OmniUiCard:<Name> -o <org>

# すべての FlexCards を取得
sf project retrieve start -m OmniUiCard -o <org>

# すべての OmniStudio メタデータ (FlexCards + 依存関係) をデプロイ
sf project deploy start -m OmniUiCard -m OmniIntegrationProcedure -m OmniScript -o <org>

データソースバインディング

FlexCard データソース設定

OmniUiCardDataSourceConfig フィールドには、JSON 形式のデータソースバインディングが含まれます。PropertySetConfig フィールドには、カードレイアウト、状態、フィールド定義が含まれます。

重要: Core namespace の OmniUiCardDefinition フィールドはありません。データソース用に DataSourceConfig を使用し、レイアウト用に PropertySetConfig を使用します。

{
  "dataSource": {
    "type": "IntegrationProcedures",
    "value": {
      "ipMethod": "Type_SubType",
      "vlocityAsync": false,
      "inputMap": {
        "recordId": "{recordId}"
      },
      "resultVar": ""
    },
    "orderBy": {
      "name": "",
      "isReverse": ""
    },
    "contextVariables": []
  }
}

データソースタイプ

タイプdataSource.type使用時期
Integration ProcedureIntegrationProcedures (複数形、P は大文字)プライマリパターン。ライブデータ用に IP を呼び出す
SOQLSOQL直接クエリ (抽象化用に IP を優先)
Apex RemoteApexRemoteカスタム Apex クラス呼び出し
RESTRESTNamed Credential 経由の外部 API 呼び出し
カスタムCustomカスタムデータプロバイダー (JSON 本体を直接渡す)

IP レスポンスからのフィールドマッピング

マージフィールド構文を使用して IP レスポンスフィールドをカード表示要素にマップします:

IP レスポンス:                    FlexCard マージフィールド:
─────────────                   ─────────────────────
{ "Name": "Acme Corp" }   →    {Name}
{ "Account": {            →    {Account.Name}
    "Name": "Acme Corp"
  }
}
{ "records": [             →    {records[0].Name}  (単一)
    { "Name": "Acme" }          または Card List レイアウトで反復
  ]
}

入力パラメータマッピング

ホスティングページからホストページから IP データソースにコンテキストを渡します:

コンテキスト変数ソース
{recordId}現在のレコードページ関連データをクエリするため IP に渡す
{userId}実行ユーザー現在のユーザーでデータをフィルタリング
{param.customKey}URL パラメータまたは親カード親 FlexCard または URL から渡す

クロススキル統合

スキルsf-industry-commoncore-flexcard との関係
sf-industry-commoncore-integration-procedureFlexCards が消費する IP データソースを構築
sf-industry-commoncore-omniscriptFlexCard アクションボタンが起動する OmniScripts を構築
sf-industry-commoncore-datamapperIPs が内部で使用する DataRaptors/DataMappers を構築
sf-industry-commoncore-omnistudio-analyzeFlexCards、IPs、OmniScripts 全体の依存関係チェーンを分析
sf-deploy上流の依存関係と共に FlexCard メタデータをデプロイ
sf-lwcFlexCards 内に埋め込むカスタム LWC コンポーネントを構築

エッジケース

シナリオ処理
空データ明示的な空状態をユーザーフレンドリーなメッセージで設定。生の「データなし」または空白カードを表示しない
エラー状態IP データソースが失敗する場合、意味のあるエラーメッセージを表示。デバッグ用にエラーをログ
モバイルレスポンシブ性モバイル用に単一列レイアウトを使用。水平スクロールを避ける。320px ビューポート幅でテスト
長いテキスト値省略記号で切り詰めて、完全なテキストのフライアウトまたはツールチップを提供
大規模レコードセットカードリストとページネーションを使用。初期ロードを 10-25 レコードに制限
Null フィールド値空のラベルを表示するのではなく、条件付き可視性を使用して null 値のフィールドを非表示
混合データ鮮度複数のデータソースが異なるリフレッシュレート持つ場合、「最終更新」インジケーターを表示

FlexCard と LWC の決定ガイド

要因FlexCardLWC
構築方法宣言的 (ドラッグ&ドロップ)コード (JS、HTML、CSS)
データバインディングIntegration Procedure マージフィールドWire サービス、Apex、GraphQL
最適用途一目で分かる情報表示複雑なインタラクティブ UI
テスト手動 + データ状態検証Jest ユニットテスト + 手動
カスタマイズOmniStudio フレームワークに制限フルプラットフォーム柔軟性
再利用子カードとして埋め込み子コンポーネントとしてインポート
選択時期標準カードレイアウトと IP データカスタム動作、アニメーション、複雑な状態

依存関係

必須: OmniStudio (Industries Cloud) ライセンス付きターゲット org、認証済み sf CLI データソース用: デプロイ済みのアクティブな Integration Procedures アクション用: デプロイ済みのアクティブな OmniScripts (アクションボタンが OmniScripts を起動する場合) スコアリング: スコアが 67 未満の場合、デプロイをブロック

FlexCards をプログラムで作成: REST API を使用 (sf api request rest --method POST --body @file.json)。必須フィールド: NameVersionNumberOmniUiCardType (例: Child)。データソースバインディング用に DataSourceConfig (JSON 文字列) を設定し、カードレイアウト用に PropertySetConfig (JSON 文字列) を設定します。sf data create record --values フラグは textarea フィールドの JSON を処理できません。作成後に 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