mcpField
S
sf-lwc

sf-lwc

github.com/jaganpro開発4241.5k 回インストール26 週間前に更新
リポジトリ

sf-lwc について

Salesforce Lightning Web Components のコンポーネントバンドル、データ連携、スタイル、アクセシビリティ、Jest テストの作成とレビューを支援するスキルです。構成やデータアクセス方式の選択に加え、ローカルプレビューやバックエンド・デプロイへの引き継ぎも案内します。

主な機能

  1. 01LWC バンドルの作成とレビュー
  2. 02LDS・Apex・GraphQL のデータアクセスを案内
  3. 03SLDS 2 とアクセシビリティに対応
  4. 04Jest ユニットテストを支援
  5. 05ローカル開発プレビューを案内

活用シーン

  1. 01Lightning UI コンポーネントの作成
  2. 02コンポーネントと Salesforce データの連携
  3. 03アクセシビリティとスタイルの改善
  4. 04LWC のテストまたはローカルプレビュー

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jaganpro/sf-skills --skill sf-lwc

インストール後、Claude Code で/sf-lwcを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/apex-controller/
LwcController.cls
assets/basic-component/
basicComponent.css
basicComponent.html
basicComponent.js
basicComponent.js-meta.xml
assets/datatable-component/
datatableComponent.html
datatableComponent.js
assets/flow-screen-component/
flowScreenComponent.css
flowScreenComponent.html
flowScreenComponent.js
flowScreenComponent.js-meta.xml
assets/form-component/
formComponent.html
formComponent.js
assets/graphql-component/
graphqlComponent.html
graphqlComponent.js
assets/jest-test/
componentName.test.js.example
assets/message-channel/
lmsPublisher.js
lmsSubscriber.js
RecordSelected.messageChannel-meta.xml
assets/modal-component/
modalComponent.html
modalComponent.js
assets/record-picker/
recordPicker.html
recordPicker.js
assets/state-store/
store.js
assets/typescript-component/
typescriptComponent.css
typescriptComponent.html
typescriptComponent.js-meta.xml
typescriptComponent.test.ts.example
typescriptComponent.ts
assets/workspace-api/
workspaceComponent.html

詳細

sf-lwc:Lightning Web Components 開発

ユーザーが Lightning Web Components を必要とする場合に、このスキルを使用します。対象は、LWC バンドル、wire パターン、Apex/GraphQL 連携、SLDS 2 のスタイリング、アクセシビリティ、パフォーマンス改善、Jest 単体テストです。

このスキルが担当するタスク

次の作業には sf-lwc を使用します。

  • lwc/**/*.js、.html、.css、.js-meta.xml
  • コンポーネントのスキャフォールディングとバンドル設計
  • wire サービス、Apex 連携、GraphQL 連携
  • SLDS 2、ダークモード、アクセシビリティ対応
  • LWC の Jest 単体テスト

次の場合は、別のスキルに委任します。

  • Apex コントローラーやビジネスロジックを先に作成する場合 → sf-apex
  • LWC 画面コンポーネントではなく、Flow XML を作成する場合 → sf-flow
  • メタデータをデプロイする場合 → sf-deploy

最初に収集する必要があるコンテキスト

次の内容を確認するか、推測してください。

  • コンポーネントの目的と対象となる表示場所
  • データソース:LDS、Apex、GraphQL、LMS、または Apex 経由の外部システム
  • テストが必要かどうか
  • Flow、App Builder、Experience Cloud、ダッシュボードの各コンテキストでコンポーネントを動作させる必要があるか
  • アクセシビリティとスタイリングに関する要件

推奨ワークフロー

1. 適切なアーキテクチャを選択する

PICKLES の考え方を活用します。

  • プロトタイプを作成する
  • 適切なデータソースを連携する
  • コンポーネントの境界を組み合わせる
  • インタラクションモデルを定義する
  • プラットフォームライブラリを使用する
  • 実行を最適化する
  • セキュリティを徹底する
2. 適切なデータアクセスパターンを選択する
要件デフォルトのパターン
単一レコードの UILDS / getRecord
シンプルな CRUD フォーム基本のレコードフォームコンポーネント
複雑なサーバークエリApex @AuraEnabled(cacheable=true)
関連するグラフデータGraphQL wire アダプター
DOM をまたぐ通信Lightning Message Service
3. 有用な場合はアセットを活用する

次の用途には、提供されているアセットを使用します。

  • 基本的なコンポーネントバンドル
  • データテーブル
  • モーダルのパターン
  • Flow 画面コンポーネント
  • GraphQL コンポーネント
  • LMS メッセージチャネル
  • Jest テスト
  • TypeScript 対応コンポーネント
4. フロントエンドの品質を検証する

次の項目を確認します。

  • アクセシビリティ
  • SLDS 2/ダークモードへの準拠
  • イベントのコントラクト
  • パフォーマンス/安全な再レンダリング
  • 必要に応じた Jest のカバレッジ
5. 関連するバックエンド作業やデプロイ作業を引き継ぐ

次を使用します。

  • コントローラー/サービスには sf-apex
  • デプロイには sf-deploy
  • Apex 側のテストサイクルに限り sf-testing(Jest には使用しません)

重要度の高いルール

  • コントロールを独自に作り直すより、プラットフォームの基本コンポーネントを優先します
  • リアクティブな読み取り専用のユースケースには @wire を使用し、明示的なアクションや DML パスには命令的な呼び出しを使用します
  • アクセシビリティに配慮されていないカスタム UI は導入しません
  • 色のハードコードを避け、SLDS 2 に対応したスタイリングフック/変数を使用します
  • renderedCallback() での再レンダリングループを避けます
  • コンポーネント間の通信パターンは明確かつ最小限に保ちます

出力形式

作業を終える際は、次の順番で報告します。

  1. 作成または更新したコンポーネント
  2. 選択したデータアクセスパターン
  3. 変更したファイル
  4. アクセシビリティ/スタイリング/テストに関する注意事項
  5. 次の実装またはデプロイの手順

推奨形式:

LWC work: <summary>
Pattern: <wire / apex / graphql / lms / flow-screen>
Files: <paths>
Quality: <a11y, SLDS2, dark mode, Jest>
Next step: <deploy, add controller, or run tests>

ローカル開発サーバー

デプロイせずに、ホットリロードで LWC コンポーネントをプレビューできます。

# Preview LWC components in isolation
sf lightning dev component --target-org <alias>

# Preview a Lightning Experience app locally
sf lightning dev app --target-org <alias>

# Preview an Experience Cloud site locally
sf lightning dev site --target-org <alias>

現在の SF CLI リリースでは、これらの Local Dev コマンドは初回実行時に必要に応じてインストールされます。コマンドは長時間実行されるプロセスで、ライブプレビューを表示するブラウザーを開きます。.js、.html、.css ファイルの変更はすぐに自動で再読み込みされます。データと Apex の呼び出しには、有効な組織への接続が必要です。


スキル間の連携

要件委任先理由
Apex コントローラーまたはサービスsf-apexバックエンドロジック
Flow 画面への埋め込みsf-flow宣言型オーケストレーション
コンポーネントバンドルのデプロイsf-deploy組織への展開
メッセージチャネルなどのメタデータの作成sf-metadata関連メタデータ

リファレンスマップ

はじめに
アクセシビリティ / パフォーマンス / 状態
統合 / 高度な機能

スコアガイド

スコア意味
150+本番環境で使用可能な LWC バンドル
125–149わずかな調整が残るのみの堅牢なコンポーネント
100–124機能はするがレビューを推奨
< 100大幅な改善が必要

コメント