mcpField
A
avonni-flow-components

avonni-flow-components

github.com/avonni開発253 回インストール今日更新
リポジトリ

avonni-flow-components について

avonni-flow-componentsは、Salesforceフロー内のAvonni画面コンポーネントフィールドの作成と更新を支援します。フローでAvonniコンポーネントを設定するユーザー向けで、コンポーネントAPIの情報源としてAvonni MCPのflowツールセットを使用します。

主な機能

  1. 01Avonni画面フィールドの作成・更新
  2. 02flowツールセットによるコンポーネント検索
  3. 03更新時に無関係なフロー内容を維持
  4. 04生成したフローファイルの検証
  5. 05計画とユーザーレビューへの対応

活用シーン

  1. 01スクリーンフローへのAvonniコンポーネント追加
  2. 02既存のAvonni画面フィールドの変更
  3. 03編集後のフローメタデータ検証
  4. 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.md
data-sources.md
get-object-documentation.md
interactions.md
plan-screen-components.md
read-flow.md
styling.md
scripts/
create-flow.mjs
fix-flow.mjs
validate-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 スキルが確認済みの場合)は、繰り返し確認せず、その結果を再利用してください。

  1. Node.js >= 18 — node --version を実行します。コマンドが失敗するか、メジャーバージョンが 18 未満の場合は、中止して Node.js 18 以降をインストールするようユーザーに依頼してください。先へ進まないでください。
  2. Avonni MCP サーバー — ワークフローの最初の MCP 呼び出し(toolset: "flow" を指定した list_components)を、接続確認としても使用します。Avonni MCP ツールがセッションで利用できない場合、または 1 回再試行しても呼び出しに失敗する場合は、中止して flow ツールセットを使うよう Avonni MCP サーバーを設定するようユーザーに依頼してください。MCP なしで続行してはいけません。
  3. Salesforce CLI — sf --version を実行します。失敗しても中止しないでください。Salesforce CLI がインストールされておらず、オブジェクトとフィールドのドキュメントを取得できないことを、ユーザーに一度だけ警告してから続行します。Salesforce CLI が必要な手順まで進んだ場合は、その手順でインストール方法を案内して中止してください(references/get-object-documentation.md を参照)。

実行ワークフロー

出力を作成するには、以下の手順に必ず従ってください。手順は常に記載順に実行し、スキップしてはいけません。前の手順に戻った場合は、それ以降のすべての手順を順番に再実行してください。

Step 0 — 意図の判定

ユーザーが次のどちらを希望しているかを判断します。

  • 新規作成 Avonni コンポーネントを含む新しいフロー → 作成パスに従います。
  • 更新 既存のフロー(Avonni コンポーネントの追加、変更、削除。Avonni コンポーネントがまだないフローへの最初の Avonni コンポーネントの追加を含む) → 更新パスに従います。.flow-meta.xml ファイルへのパスが必要です。見つからない場合は、ユーザーに尋ねてください。

リクエストが曖昧な場合は、先へ進む前にユーザーに確認してください。


作成手順
  1. references/plan-screen-components.md を読みます。そのファイルの指示に厳密に従って、コンポーネントの構築計画を作成します。
  2. ユーザーに計画を確認してもらいます。
    • 計画がそのまま承認された場合は、手順 3 に進みます。
    • ユーザーから変更を求められた場合は、手順 1 に戻ります。
  3. フローのシェルを作成します。
    • セッション内に、このスキル以外で 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 を参照)。フローのスキャフォールドを手作業で作成してはいけません。
  4. references/build-screen-field.md を読みます。そのファイルの指示に厳密に従って、計画したコンポーネントのフィールドを生成し、対象画面に挿入します。
  5. 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> を実行します。
    • 検証でエラーが報告された場合は修正し、両方のスクリプトを再実行します。検証に合格するまで繰り返します。
  6. タスクの結果をユーザーに要約します。
    • フローファイルが作成されたことと、その保存場所を伝えます。
    • フローはデプロイされていないことを伝えます。
    • コンポーネントとその機能を要約します。

更新手順
  1. references/read-flow.md を読み、指示に従って既存のフローを解析し、現在の Avonni コンポーネントをユーザーに提示します。
  2. ユーザーがすでに変更内容を伝えている場合を除き、希望する変更を説明してもらいます。
  3. references/plan-screen-components.md を読みます。そのファイルの指示に厳密に従い、依頼された変更を反映したコンポーネントの構築計画を作成します。
  4. ユーザーに計画を確認してもらいます。
    • 計画がそのまま承認された場合は、手順 5 に進みます。
    • ユーザーから変更を求められた場合は、手順 3 に戻ります。
  5. references/build-screen-field.md を読みます。そのファイルの指示に厳密に従って、計画した変更を適用します。
    • 計画の対象となる <fields> ブロックだけを編集し、新しいブロックは references/build-screen-field.md で定義された位置に挿入します。書式や要素の順序を含め、それ以外のフローのすべての部分は変更せずに残します。
  6. 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> を実行します。
    • 変更したフィールドでエラーが報告された場合は修正し、両方のスクリプトを再実行します。変更したフィールドにエラーがなくなるまで繰り返します。
    • 変更していないフローの部分にあるエラーは修正しないでください。代わりにユーザーへ報告します。ループの終了後も、そのようなエラーが残ることがあります。
  7. タスクの結果をユーザーに要約します。
    • 更新したファイルを伝えます。
    • フローはデプロイされていないことを伝えます。
    • 以前のバージョンからの変更点を要約します。

権限

  • 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 のドキュメントを再確認してください。

コメント