avonni-flow-components について
avonni-flow-componentsは、Salesforceフロー内のAvonni画面コンポーネントフィールドの作成と更新を支援します。フローでAvonniコンポーネントを設定するユーザー向けで、コンポーネントAPIの情報源としてAvonni MCPのflowツールセットを使用します。
主な機能
- 01Avonni画面フィールドの作成・更新
- 02flowツールセットによるコンポーネント検索
- 03更新時に無関係なフロー内容を維持
- 04生成したフローファイルの検証
- 05計画とユーザーレビューへの対応
活用シーン
- 01スクリーンフローへのAvonniコンポーネント追加
- 02既存のAvonni画面フィールドの変更
- 03編集後のフローメタデータ検証
- 04他のフロー要素を変更せずに画面を構築
MCP 対応
コンポーネントを検索し、文書化されたAPIを確認するため、Avonni MCPの`flow`ツールセットが必要です。コンポーネントのプロパティと機能はMCPのデータを基準とします。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ avonni/ skills --skill avonni-flow-componentsインストール後、Claude Code で/avonni-flow-componentsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/build-screen-field.mddata-sources.mdget-object-documentation.mdinteractions.mdplan-screen-components.mdread-flow.mdstyling.mdscripts/create-flow.mjsfix-flow.mjsvalidate-flow.mjs詳細
avonni-flow-components
ツールセット
このスキルは、Avonni MCP の flow ツールセット専用です。該当するすべての MCP ツール呼び出しには、toolset: "flow" を含める必要があります。このスキルは、標準の Avonni LWC コンポーネント、Avonni Experience Sites コンポーネント、Avonni Dynamic Components には使用しないでください。
対象範囲
このスキルの対象は、フロー内の Avonni 画面コンポーネントのフィールド、つまり extensionName が avcmpbuilder: で始まる <fields> 要素のみです。これらのフィールドを .flow-meta.xml ファイル内で検出、設定、検証、記述する方法を扱います。
一般的なフローのロジックは対象外です。リクエストに判断、割り当て、ループ、レコード操作、その他のフロー要素も必要な場合は、このスキルで Avonni 画面フィールドを作成し、フローの残りの部分はこのスキルの範囲外で処理してください。既存のフローを更新する場合、変更を依頼された Avonni コンポーネントフィールド以外の部分は、再構成、再フォーマット、書き換えを決して行わないでください。
リクエストで、このフローを起動またはホストするアーティファクト(Dynamic Component、Experience サイトページ)の作成も必要な場合は、作業を中止し、avonni-architect スキルを使ってやり直すようユーザーに伝えてください。avonni-architect というスキルが利用できない場合は、複数の Avonni アーティファクトからなるソリューションを調整する目的のスキルに案内してください。そのようなスキルもない場合は、npx skills avonni/skills を使ってインストールするよう提案してください。
前提条件
Step 0 の前に、以下を確認してください。これらは、このスキルの compatibility frontmatter に記載されている要件を満たすためのものです。このセッション中にすでに確認済みの場合(例:ディスパッチ前に avonni-architect スキルが確認済みの場合)は、繰り返し確認せず、その結果を再利用してください。
- Node.js >= 18 —
node --versionを実行します。コマンドが失敗するか、メジャーバージョンが 18 未満の場合は、中止して Node.js 18 以降をインストールするようユーザーに依頼してください。先へ進まないでください。 - Avonni MCP サーバー — ワークフローの最初の MCP 呼び出し(
toolset: "flow"を指定したlist_components)を、接続確認としても使用します。Avonni MCP ツールがセッションで利用できない場合、または 1 回再試行しても呼び出しに失敗する場合は、中止してflowツールセットを使うよう Avonni MCP サーバーを設定するようユーザーに依頼してください。MCP なしで続行してはいけません。 - Salesforce CLI —
sf --versionを実行します。失敗しても中止しないでください。Salesforce CLI がインストールされておらず、オブジェクトとフィールドのドキュメントを取得できないことを、ユーザーに一度だけ警告してから続行します。Salesforce CLI が必要な手順まで進んだ場合は、その手順でインストール方法を案内して中止してください(references/get-object-documentation.mdを参照)。
実行ワークフロー
出力を作成するには、以下の手順に必ず従ってください。手順は常に記載順に実行し、スキップしてはいけません。前の手順に戻った場合は、それ以降のすべての手順を順番に再実行してください。
Step 0 — 意図の判定
ユーザーが次のどちらを希望しているかを判断します。
- 新規作成 Avonni コンポーネントを含む新しいフロー → 作成パスに従います。
- 更新 既存のフロー(Avonni コンポーネントの追加、変更、削除。Avonni コンポーネントがまだないフローへの最初の Avonni コンポーネントの追加を含む) → 更新パスに従います。
.flow-meta.xmlファイルへのパスが必要です。見つからない場合は、ユーザーに尋ねてください。
リクエストが曖昧な場合は、先へ進む前にユーザーに確認してください。
作成手順
references/plan-screen-components.mdを読みます。そのファイルの指示に厳密に従って、コンポーネントの構築計画を作成します。- ユーザーに計画を確認してもらいます。
- 計画がそのまま承認された場合は、手順 3 に進みます。
- ユーザーから変更を求められた場合は、手順 1 に戻ります。
- フローのシェルを作成します。
- セッション内に、このスキル以外で Salesforce フローの作成を目的とする別のスキルまたはツールがある場合は、それを使って、少なくとも 1 つの画面を含む Screen Flow を作成し、プロジェクト内に生成された
.flow-meta.xmlファイルのパスを取得します。ローカルファイルを生成せずに組織内にフローを作成した場合は、続行する前にローカルに取得します(例:sf project retrieve start --metadata Flow:<ApiName>)。 - それ以外の場合、または委任した作成に失敗した場合、あるいはローカルの Screen Flow ファイルを取得できない場合は、
node <skill_base_directory>/scripts/create-flow.mjsを実行してフローファイルをスキャフォールドします(使用方法は--helpを参照)。フローのスキャフォールドを手作業で作成してはいけません。
- セッション内に、このスキル以外で Salesforce フローの作成を目的とする別のスキルまたはツールがある場合は、それを使って、少なくとも 1 つの画面を含む Screen Flow を作成し、プロジェクト内に生成された
references/build-screen-field.mdを読みます。そのファイルの指示に厳密に従って、計画したコンポーネントのフィールドを生成し、対象画面に挿入します。node <skill_base_directory>/scripts/fix-flow.mjs <path-to-flow-file>を実行して、自動入力される値(systemContextなど)を生成し、続けてnode <skill_base_directory>/scripts/validate-flow.mjs <path-to-flow-file>を実行します。- 検証でエラーが報告された場合は修正し、両方のスクリプトを再実行します。検証に合格するまで繰り返します。
- タスクの結果をユーザーに要約します。
- フローファイルが作成されたことと、その保存場所を伝えます。
- フローはデプロイされていないことを伝えます。
- コンポーネントとその機能を要約します。
更新手順
references/read-flow.mdを読み、指示に従って既存のフローを解析し、現在の Avonni コンポーネントをユーザーに提示します。- ユーザーがすでに変更内容を伝えている場合を除き、希望する変更を説明してもらいます。
references/plan-screen-components.mdを読みます。そのファイルの指示に厳密に従い、依頼された変更を反映したコンポーネントの構築計画を作成します。- ユーザーに計画を確認してもらいます。
- 計画がそのまま承認された場合は、手順 5 に進みます。
- ユーザーから変更を求められた場合は、手順 3 に戻ります。
references/build-screen-field.mdを読みます。そのファイルの指示に厳密に従って、計画した変更を適用します。- 計画の対象となる
<fields>ブロックだけを編集し、新しいブロックはreferences/build-screen-field.mdで定義された位置に挿入します。書式や要素の順序を含め、それ以外のフローのすべての部分は変更せずに残します。
- 計画の対象となる
node <skill_base_directory>/scripts/fix-flow.mjs <path-to-flow-file>を実行して、自動入力される値(systemContextなど)を生成し、続けてnode <skill_base_directory>/scripts/validate-flow.mjs <path-to-flow-file>を実行します。- 変更したフィールドでエラーが報告された場合は修正し、両方のスクリプトを再実行します。変更したフィールドにエラーがなくなるまで繰り返します。
- 変更していないフローの部分にあるエラーは修正しないでください。代わりにユーザーへ報告します。ループの終了後も、そのようなエラーが残ることがあります。
- タスクの結果をユーザーに要約します。
- 更新したファイルを伝えます。
- フローはデプロイされていないことを伝えます。
- 以前のバージョンからの変更点を要約します。
権限
- Avonni Flow Screen Components API の唯一の信頼できる情報源は MCP です。
- コンポーネントについて、過去の知識や推測に頼ってはいけません。
- MCP のデータが過去の知識と矛盾する場合は、常に MCP のデータを正とします。
- 必要な情報が不足している場合は、推測せずにユーザーに確認します。
- コンポーネント、プロパティ、インタラクション、データソースモード、スタイル設定フックを決して捏造してはいけません。 MCP に明記されている内容と、このスキルのリファレンスで定義されているフローのシリアライズパラメーターだけを使用してください。
グローバルなツール使用ルール
- 同じドキュメントを二度リクエストしないでください。結果はキャッシュしてください。
- 他のコンポーネントが対象コンポーネントのドキュメントを把握していると想定しないでください。
- 出力が大きくても、MCP から返されたツールの結果をそのまま使用してください。MCP の結果を短縮、解析、再処理するために、Bash コマンド、ファイルの読み取り、その他のツールを使用しないでください。
グローバルな出力ルール
コンポーネントやインタラクションに言及するときは、名前ではなくラベルを使用してください。 例: datatable → Data Table avatarGroup → Avatar Group NavigationMixinNavigate → Navigate
プロパティやスタイリングフックに言及するときは、その名前を自然な言葉のラベルに変換してください。 例: iconName → icon name itemsTypeSelected → data source type --avonni-alert-base-color-background → base background color
不明または曖昧なリクエスト
ユーザーから追加情報が必要な場合:
- 生成を停止してください。
- プレーンテキスト(XML ではない形式)で、不明な点や曖昧な点を説明してください。
- 正しいコンポーネント名またはプロパティ名を確認するか、提示するようユーザーに依頼してください。
エラー処理
MCP ツールの呼び出しに失敗した場合:
- 1 回再試行してください。
それでも失敗する場合:
- Avonni MCP サーバーがなければこのスキルを実行できないことをユーザーに伝え、停止してください。
- MCP のデータなしで出力を生成しないでください。
コンポーネントのドキュメントの取得に失敗した場合:
- 成功したコンポーネントの情報を使用して続行してください。
- 取得に失敗したコンポーネントを報告してください。
コンポーネントが見つからない場合:
- 存在しないか、ドキュメント化されていない可能性があることをユーザーに伝えてください。
別のスキルまたはツールを使ったフローのシェルの作成に失敗した場合:
scripts/create-flow.mjsにフォールバックして続行してください。- 最終的な要約でフォールバックしたことに触れてください。
ランタイム検証に失敗した場合:
- コンポーネントに問題があると決めつける前に、MCP のドキュメントを再確認してください。