avonni-dynamic-components について
Avonni MCPを使ってAvonni Dynamic Componentsを作成・更新するスキルです。計画からメタデータの生成・保存までを案内し、dynamicツールセットに限定されています。
主な機能
- 01動的コンポーネントの作成と更新
- 02作成前のコンポーネント計画
- 03ユーザーによる計画の確認
- 04コンポーネントメタデータの保存
- 05Avonni MCPのdynamicツールセットが必要
活用シーン
- 01Avonni Dynamic Componentの作成
- 02メタデータに基づくコンポーネント更新
- 03MCP経由でのコンポーネント文書確認
MCP 対応
Avonni MCPのdynamicツールセットからコンポーネント情報を取得し、Dynamic Componentsの作成・更新を支援します。コンポーネントAPIの情報源としてMCPを使用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ avonni/ skills --skill avonni-dynamic-componentsインストール後、Claude Code で/avonni-dynamic-componentsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/build-component.mdcreate-component-metadata.mddata-sources.mdget-object-documentation.mdinteractions.mdnested-data-sources.mdplan-component.mdread-component-metadata.mdstyling.mdvisibility-rules.mdscripts/create-component.mjsnamespace.mjsquery-versions.mjsread-component.mjsremove-last-modified-flag.mjsvalidate-component.mjs詳細
avonni-dynamic-components
ツールセット
このスキルは、Avonni MCP の dynamic ツールセット専用です。該当するすべての MCP ツール呼び出しには、toolset: "dynamic" を含める必要があります。標準の Avonni LWC コンポーネント、Avonni Experience Sites コンポーネント、Avonni Flow Screen Components には、このスキルを使用しないでください。
使用方法
このスキルでは、Avonni Dynamic Components MCP を使用してコンポーネントを作成または更新する方法を説明します。Avonni Dynamic Component の作成または更新を目的とするユーザーのリクエストには、必ずこのスキルを使用してください。
作業中に、そのリクエストで別のアーティファクトタイプの作成も必要だと判明した場合(このコンポーネントが起動するフロー、Experience サイトページ、開く別の動的コンポーネントなど)、作業を中止し、avonni-architect スキルを使ってやり直すようユーザーに伝えてください。このスキルで他のアーティファクトを作成してはいけません。avonni-architect という名前のスキルが利用できない場合は、複数のアーティファクトを含む Avonni ソリューションのオーケストレーションを目的としたスキルに誘導してください。そのようなスキルがない場合は、npx skills avonni/skills を使ってインストールするよう提案してください。
前提条件
ステップ 0 の前に、以下を確認してください。これらの確認は、このスキルの compatibility frontmatter に記載された要件を満たすためのものです。このセッションの前の段階(たとえば、ディスパッチ前に avonni-architect スキルが実施した場合など)ですでに確認済みであれば、繰り返さず、その結果を再利用してください。
- Node.js >= 18 —
node --versionを実行します。コマンドが失敗するか、メジャーバージョンが 18 未満の場合は、作業を中止し、Node.js 18 以降をインストールするようユーザーに依頼してください。先に進んではいけません。 - Avonni MCP サーバー — ワークフローの最初の MCP 呼び出し(
toolset: "dynamic"を指定したlist_components)を、接続確認として兼用します。セッションで Avonni MCP ツールを利用できない場合、または 1 回再試行しても呼び出しに失敗する場合は、作業を中止し、dynamicツールセットを使って Avonni MCP サーバーを設定するようユーザーに依頼してください。MCP なしで作業を続けてはいけません。 - Salesforce CLI —
sf --versionを実行します。失敗しても作業を中止してはいけません。Salesforce CLI がインストールされていないこと、およびオブジェクトとフィールドのドキュメントの取得、コンポーネントのバージョン照会、コンポーネントの保存ができないことを、ユーザーに一度警告してから続行してください。Salesforce CLI が必要な手順に進んだ場合は、インストール手順を案内して停止します(references/get-object-documentation.mdおよびreferences/create-component-metadata.mdを参照)。
実行ワークフロー
出力を作成するには、以下の手順に必ず従ってください。手順は常に順番どおりに実行し、省略してはいけません。前の手順に戻った場合は、それ以降の手順を順番どおりにすべてやり直す必要があります。
ステップ 0 — 意図の判定
ユーザーが新しいコンポーネントを作成したいのか、メタデータファイルから既存のコンポーネントを更新したいのかを判断します。リクエストが曖昧な場合は、先にユーザーに確認してください。
- 作成の場合:以下の作成パスに従います。
- 更新の場合:以下の更新パスに従います。
作成パス
references/plan-component.mdを読みます。そのファイルの指示に厳密に従って、コンポーネントの構築計画を作成します。- ユーザーに計画を確認してもらいます。
- 計画がそのまま承認された場合は、ステップ 3 に進みます。
- ユーザーが変更を求めた場合は、ステップ 1 に戻ります。
references/build-component.mdを読みます。そのファイルの指示に厳密に従って、計画したコンポーネントの JSON を生成します。- JSON はメモリ上に保持し、ディスクには書き込まないでください。次のステップで保存スクリプトにパイプします。
references/create-component-metadata.mdを読み、指示に従ってカスタムメタデータレコードファイルを作成します。- タスクの結果をユーザーに要約します。
- コンポーネントファイルが作成されたことと、その保存場所を伝えます。
- コンポーネントはデプロイされていないことを伝えます。
- コンポーネントの機能を要約します。
更新パス
references/read-component-metadata.mdを読み、その指示に従って既存のメタデータファイルを解析し、現在のコンポーネントをユーザーに提示します。- どのような変更を加えたいか、ユーザーに説明してもらいます。
references/plan-component.mdを読みます。そのファイルの指示に厳密に従い、ユーザーが希望する変更を反映した、更新版コンポーネントの構築計画を作成します。- 更新版の計画をユーザーに確認してもらいます。
- 計画がそのまま承認された場合は、手順 5 に進みます。
- ユーザーから変更の要望があった場合は、手順 3 に戻ります。
references/build-component.mdを読みます。そのファイルの指示に厳密に従い、更新版のコンポーネント JSON を生成します。- JSON はメモリ内に保持し、ディスクには書き込まないでください。次の手順で保存スクリプトにパイプします。
references/create-component-metadata.mdを読み、その指示に従って更新版コンポーネントを保存します。- タスクの結果をユーザーに要約します。
- 作成または更新したファイルと、その保存場所を伝えます。
- コンポーネントはデプロイされていないことを伝えます。
- 以前のバージョンからの変更点を要約します。
権限
- Avonni Dynamic Components API の唯一の信頼できる情報源は MCP です。
- コンポーネントについての過去の知識や推測には決して頼らないでください。
- MCP のデータが過去の知識と矛盾する場合は、常に MCP のデータを正しいものとして扱います。
- 必要な情報が不足している場合は、推測せず、ユーザーに確認してください。
グローバルなツール使用ルール
- 同じドキュメントを二度取得しないでください。取得結果はキャッシュしてください。
- ドキュメントの内容を推測するために、別のコンポーネントを参考にしないでください。
- MCP の結果は、出力が大きくても、返されたままの内容を直接使用してください。MCP の結果を短縮、解析、再処理するために、Bash コマンド、ファイル読み込み、その他のツールを決して使用しないでください。
グローバルな出力ルール
コンポーネントやインタラクションに言及する場合は、名前ではなくラベルを使用してください。 例: dcLayout → Columns Container dcCard → Card CreateRecordFromRecordVariable → Create Record
プロパティやスタイリングフックに言及する場合は、名前を自然な言葉のラベルに変換してください。 例: iconName → icon name hideTableHeader → hide table header --avonni-button-icon-image-radius-border → image radius border border-color → border color --avcmpbuilder-primitive-global-header-caption-text-color → header caption text color
不明または曖昧なリクエスト
ユーザーに追加情報を求める必要がある場合:
- 生成を停止します。
- JSON ではなくプレーンテキストで、不明または曖昧な内容を説明します。
- 正しいコンポーネント名またはプロパティ名を確認するか、提示するようユーザーに求めます。
エラー処理
MCP ツールの呼び出しに失敗した場合:
- 1 回だけ再試行します。
それでも失敗する場合:
- Avonni MCP サーバーなしではこのスキルを実行できないことをユーザーに伝え、停止します。
- MCP のデータなしで出力を生成しないでください。
コンポーネントのドキュメントの取得に失敗した場合:
- 取得に成功したドキュメントを使用して処理を続行します。
- 取得に失敗したドキュメントを報告します。
コンポーネントが見つからない場合:
- 存在しないか、ドキュメント化されていない可能性があることをユーザーに伝えます。
ランタイム検証に失敗した場合:
- コンポーネントに問題があると決めつける前に、MCP のドキュメントを再確認します。