Salesforce Developers Blog

Salesforceのスキルを活用して、Claude Codeで本番運用可能なアプリを構築する

Avatar for Akshata SawantAkshata Sawant
Avatar for ディベロッパーリレーションチームディベロッパーリレーションチーム
Salesforce Skills を使用して、Claude Code で本番環境向けのアプリを構築し、一括生成されたコード、Apex コントローラーのロジック、およびテストクラスを生成します。
Salesforceのスキルを活用して、Claude Codeで本番運用可能なアプリを構築する
August 12, 2026

※本記事は2026年7月22日に米国で公開された Build Production-Ready Apps in Claude Code with Salesforce Skillsの抄訳です。本記事の正式言語は英語であり、その内容および解釈については英語が優先されます。

Claude CodeのSalesforceスキルを使うと、自然言語で指示するだけで、本番品質のApexコード、Lightning Webコンポーネント(LWC)、テストクラスを生成できます。生成されたコードはSalesforce Code Analyzer(英語)のチェックに自動的に合格し、テストのコードカバー率も75%以上を達成します。つまり、必要なものを簡単な言葉で説明するだけで、あとはClaudeがSalesforceのベストプラクティスに従った、そのままデプロイできるコードを生成してくれるのです。

この記事では、LWC、Apexコントローラー、テストクラスを組み合わせて、完全な取引先作成フォームを構築する流れを見ていきます。その後で、スキルシステム内部の仕組みを説明し、バッチジョブ、サービスレイヤー、デバッグワークフローなどの高度なパターンを取り上げます。

Salesforceスキルとは

Salesforceスキルは、Salesforceのアーキテクチャー、ガバナ制限、セキュリティパターン、デプロイ要件を理解している、Salesforceに特化したAI機能です。いわば、開発ワークフローに熟練の開発者が直接組み込まれているようなものと考えてください。

Claude Codeに「取引先作成フォームを作成して」と指示すると、生成されるのは、単なる汎用的なコードではありません。generating-apexスキルがプロジェクトの規則やパターンを理解し、適切なエラー処理とガバナ制限を考慮したクエリーを含む、本番品質のコードを生成します。また、ループ内でのSOQLの実行を防ぐといったガードレールを適用し、一括処理化のパターンを検証します。続いて、TestDataFactoryパターンを使用し、75%以上のコードカバー率を達成するテストクラスを作成します。タスクを完了する前に、Salesforce Code Analyzerを実行し、テストスイートも自動的に実行します。

generating-apexスキルが有効化されているClaude Codeのターミナル

スキルの仕組み

Claude Codeに指示を出すと、システムは4つの段階からなるワークフローに沿って動作します。まず、Claudeがプロンプトの内容を分析し、適切なスキルに対応付けます。たとえば、「Lightning Webコンポーネント」というキーワードがあればgenerating-lwc-componentsが有効になります。プロンプトに「Apexクラス」が入っていればgenerating-apexが、「テストクラス」ならgenerating-apex-testが起動します。

該当するスキルが特定されると、それぞれのスキルがワークフローを実行します。generating-apexは、命名パターンや既存のクラスなど、プロジェクトの決まりを把握します。サービス、コントローラー、バッチ、その他のアーキテクチャーから適切なパターンを選択し、assetsディレクトリ内のテンプレートを確認します。続いて、共有ルールを適用し、ループ内でのSOQLの実行を防ぐガードレールを組み込んだクラスを生成します。次に、generating-apex-testスキルを呼び出し、網羅的なテストを作成して十分なコードカバー率を確保します。

このプロセス全体を通じて、スキルがガードレールを自動的に適用します。スキルは、ループ内でクエリーを実行するコードを拒否し、すべてのクラスに共有ルールを強制し、テストクラスを生成するまで処理を完了しません。Lightning Webコンポーネントについては、クライアント側とサーバー側の両方が所定のパターンに従っているかどうかを検証します。各スキルは.cls-meta.xmlなど、必要となるメタデータファイルも自動で生成します。

最後に、スキルはタスクの正常完了を報告する前に、生成したコードを検証します。sf code-analyzerを実行してセキュリティ上の問題を検出し、sf apex run testを実行してコードが正しく動作することを確認し、75%以上のコードカバー率を確保します。その結果、単なる定型コードではなく、本番運用を想定したコードが生成されるのです。

チュートリアル – 取引先作成フォームの作成

では、実際に機能を作成してみましょう。このチュートリアルでは、検証、エラー処理、テストまで含めた、取引先レコード作成用のLightning Webコンポーネントフォームを構築します。

概要

ここでは、3つの要素で構成される完全なソリューションを作成します。3つの要素とは、取引先名と電話番号を入力項目として持つLightning Webコンポーネント、@AuraEnabledメソッドとエラー処理を備えたApexコントローラー、75%以上のコードカバー率を確保し、251件以上のレコードで一括処理をテストするテストクラスです。フォームにはインライン検証とトースト通知を実装し、アプリケーションビルダーに追加してホーム��ージに配置できる状態にします。

事前準備

構築に取りかかる前に、Claude Code(個人開発者は無料)と、Node.js(スキルのインストールに使用)がインストールされていることを確認してください。また、組織に対して、Salesforce CLIの認証を済ませておいてください。この例では開発者向けエディションの組織、Sandbox組織、またはスクラッチ組織のいずれかが必要です。まだ認証していない場合は、sf org login webを実行してください。

Salesforceスキルをインストールする

Salesforceスキルのセットアップは、コマンドを1つ実行するだけで完了します。Salesforceプロジェクトのディレクトリに移動し、次のコマンドを実行してください。

1npx skills add forcedotcom/sf-skills

これで、GitHubからSalesforceスキルの公式ライブラリが取得されます。

さまざまなSalesforceスキルを選択できる対話型インターフェース

スペースキーを使って、インストールするスキルを選択します。このチュートリアルでは、以下のスキルを選択してください。

  • generating-apex:Apexクラスを生成
  • generating-apex-test:Apexテストクラスを生成
  • generating-lwc-components:Lightning Webコンポーネントを生成
  • debugging-apex-logs:Apexクラスをデバッグ

Enterキーを押してインストールします。

インストールの範囲は、次のいずれかを選択できます。

  • Project:現在のディレクトリにインストール(プロジェクトと一緒にコミット)
  • Global:ホームディレクトリにインストール(すべてのプロジェクトで利用可能)

これで、Salesforceプロジェクトでスキルを利用できるようになります。インストール済みのスキルは、プロジェクト内のskills-lock.jsonに記録されます。

インストール済みのスキルが表示されたSalesforceプロジェクトフォルダーのスクリーンショット

skills-lock.jsonファイルを開くと、インストール済みのすべてのスキルを確認できます。

インストール済みのスキルが表示されたskills-lock.jsonファイルのスクリーンショット

現在、forcedotcom/sf-skillsライブラリには60以上のスキルがあり、その数は増え続けています。スキルの一覧は、公式のsf-skillsリポジトリ(英語)で確認できます。

利用可能なすべてのスキルをインストールするには、--allフラグを追加してください。

1npx skills add forcedotcom/sf-skills --all

注 – Salesforceスキルは、npmパッケージとしては提供されていません。また、「skills」npmパッケージ(英語)は、Salesforceが所有しているものではありません。Salesforceは、このパッケージをGitHubリポジトリにあるスキルを簡単にインストールするために利用しています。

ステップ1:Claude Codeを起動する

プロジェクトディレクトリでClaude Codeを起動します。

1claude

Claude Codeの対話型プロンプトが表示されます。ここから、Claude Codeが威力を発揮します。

ウェルカムメッセージが表示され、プロンプトへの入力が可能なClaude Codeのコマンドライン画面

ステップ2:指示を入力する

以下のプロンプトを入力するか、コピーして貼り付けます。

1以下の要素で構成される、完全なSalesforceソリューションを作成してください。
2
31. Lightning Webコンポーネント(LWC)
4accountCreationFormという名前で、次の2つの入力項目を持つフォームコンポーネントを作成してください。
5- 取引先名(必須)
6- 電話(必須、10~15桁の数字)
7- 両方の項目の入力値が有効になるまで、[保存]ボタンを無効にする
8- 入力検証のエラーメッセージをインラインで表示する
9- 保存に成功した場合は成功のトースト通知を、失敗した場合はエラーのトースト通知を表示する
10- 読み込み中はスピナーを表示する
11
122. Apexコントローラー
13- AccountCreationControllerクラスを作成する
14- メソッド:@AuraEnabled(cacheable=false) saveAccount(String accountName, String phone)
15- 標準の電話項目を使用する(取引先には標準のメール項目がありません)
16- AuraHandledExceptionを使用して、適切なエラー処理を実装する
17- コードカバー率が85%以上になるテストクラスを作成する
18
193. アプリケーションビルダーとの統合
20- アプリケーションページとホームページで使用できるよう、*.js-meta.xmlを設定する
21- デプロイ手順を示す
22
23制約:
24- DML処理であるため、@wireではなくApexメソッドを命令として呼び出してください
25- SalesforceのLWCベストプラクティスに従ってください
26- 標準オブジェクトと標準項目のみを使用してください

上記の要件をすべて含む、取引先作成フォームのプロンプトをターミナルに入力すると、次のように表示されます。

取引先作成フォームを作成するための完全なプロンプトが表示されているターミナル

ステップ3:スキルの動作を確認する

プロンプトを入力すると、Claude Codeは適切なスキルを自動的に有効にします。UIにはgenerating-lwc-components、コントローラーにはgenerating-apex、テストにはgenerating-apex-testが使用されます。

Claude Codeは、既存の命名規則やアーキテクチャーレイヤーを含む、プロジェクトのパターンを検出します。続いて、必要なファイルをすべて生成します。

  • accountCreationForm.html: Lightning Webコンポーネントのテンプレート
  • accountCreationForm.js: Apexメソッドを命令としてコールするコンポーネントロジック
  • accountCreationForm.js-meta.xml: アプリケーションページとホームページに公開するためのメタデータ
  • AccountCreationController.cls: エラー処理を実装したApexコントローラー
  • AccountCreationController.cls-meta.xml: Apexメタデータファイル
  • AccountCreationControllerTest.cls: テストメソッドを含むテストクラス
  • AccountCreationControllerTest.cls-meta.xml: テストメタデータファイル

ステップ4:生成されたコードとテストクラスをレビューする

生成されたコードとテストクラスの内容を確認します。Salesforceスキルによって、本番運用を想定したコードとテストクラスが生成されていることを確認できます。Apexクラスのコードカバー率も100%に達しています。

テストの実行結果を表示するSalesforce CLIの出力

ステップ5:ソリューションをデプロイしてテストする

Claudeを使用しているため、ソリューションのデプロイとテストもClaudeが手伝ってくれます。または、Salesforce CLIコマンドを使用することもできます。

Lightning Webコンポーネント、Apexコントローラー、テストクラスの各ファイルが正常にデプロイされたことを示すSalesforce CLI

ステップ6:組織のホームページにコンポーネントを追加する

[設定]→[Lightningアプリケーションビルダー]に移動し、[新規]をクリックして[ホームページ]を選択します。[2つの範囲]などのテンプレートを選択します。[カスタム]コンポーネントセクションから[AccountCreationForm]をページ上にドラッグします。[保存]、[有効化]、[組織のデフォルトとして割り当て]の順にクリックします。

以下のスクリーンショットでは、Lightningアプリケーションビルダーで、[カスタム]コンポーネントパネルにaccountCreationFormコンポーネントが表示され、ホームページのレイアウトに配置されています。

accountCreationFormコンポーネントが表示されたLightningアプリケーションビルダーのインターフェース

ステップ7:Salesforce UIでテストする

Salesforce組織のホームページに移動し、コンポーネントをテストしてみましょう。[取引先名]を空欄にすると、エラーメッセージが表示されます。9桁の無効な電話番号を入力しても、エラーメッセージが表示されます。有効なデータを入力すると、[保存]ボタンが有効になります。

取引先作成フォームコンポーネントが表示されたSalesforceホームページ

このチュートリアルでは、1つのLWCとApexコントローラーを組み合���せたパターンを取り上げましたが、スキルは、Database.Statefulを使用するバッチジョブ、サービス、セレクター、ドメインの各レイヤーで構成されるアーキテクチャー、条件分岐を含む画面フロー、デバッグログの分析など、さらに複雑なシナリオにも対応できます。

Salesforceスキルを使って構築できる4つのパターンを紹介します。

1. データを処理するバッチジョブの生成

Claudeへの指示:「2年よりも前のケースをアーカイブする、CaseArchivalBatchという名前のバッチApexクラスを作成してください。ClosedDate < LAST_N_YEARS:2に該当するケースを検索し、Status__cを’Archived’に更新してください。また、適切なエラー処理とログ記録を組み込んでください。75%以上のコードカバー率を確保するテストクラスを生成してください」

Claudeはgenerating-apexを起動し、CaseArchivalBatch.clsを生成します。このクラスは、エラーを追跡するためにDatabase.Statefulを実装し、適切なstart、execute、finishメソッドと、ループ内でSOQLを実行せず、ガバナ制限を考慮したクエリーを備えています。また、251件以上のレコードを使った一括処理テストを含むCaseArchivalBatchTest.clsも生成されます。

2. サービスレイヤークラスの構築

Claudeへの指示:「サービス-セレクター-ドメインパターンを使用し、取引先の請求先住所を一括更新するメソッドを備えたAccountServiceクラスを作成してください。メソッドのシグネチャは、updateBillingAddresses(Map<Id, Address> addressByAccountId)としてください。適切なエラー処理を組み込み、90%以上のコードカバー率を確保するテストクラスも作成してください」

Claudeは、with sharingキーワードを指定し、DMLを一括処理化したAccountService.clsを生成します。このクラスは、クエリーをAccountSelector.clsに委譲し、一部のレコードだけが成功した場合にも対応できるようにList<Database.SaveResult>を返します。ClaudeはTestDataFactoryパターンを使用したテストクラスも作成します。

3. 画面フローの作成

Claudeへの指示:「Lead_Qualificationという名前で、リード評価用の画面フローを作成してください。会社名、業種、年間売上の各項目に対応する画面を追加してください。売上に応じて適切なキューに振り分ける決定要素を追加してください。売上が100万ドルを超える場合はEnterprise Queueに、それ以外の場合はSMB Queueに割り当ててください」

Claudeはgenerating-flowを有効化し、Salesforceのベストプラクティスに従ったフローメタデータを生成します。

4. Apexログの分析

Claudeへの指示:「debug.log内のApexログを分析し、バッチジョブがガバナ制限に達している原因を特定してください」

Claudeはdebugging-apex-logsスキルを使用してログファイルを解析し、SOQL文とDML文を検出します。また、ループ内でSOQLを実行している箇所を特定し、CPU時間とヒープ使用量を報告して、最適化を提案します。

スキルを活用するためのベストプラクティス

プロンプトに具体的な情報を含めるほど、出力の質が高まります。「Apexクラスを作成して」ではなく、「名前と電話番号を検証して取引先レコードを保存する、AccountForm LWC用のApexコントローラーを作成して」といった指示にしてみましょう。項目のAPI参照名��オブジェクト間のリレーション、ビジネスロジックの具体的な要件も含めるとよいでしょう。

Claude Codeは対話形式のツールですので、最初の出力が期待どおりでなければ、変更を依頼できます。「そのコントローラーに一括処理時のエラー処理を追加して」、「テストクラスでTestDataFactoryパターンを使用するように変更して」と指示するだけです。スキルが対話全体のコンテキストを保持しながら、指示に応じてコードを更新します。

スキルは本番品質のコードを生成しますが、本番環境にデプロイする前に、必ず出力内容をレビューしてください。項目のAPI参照名が組織のスキーマと一致していることを確かめ、カスタムオブジェクトとカスタム項目がデプロイ先の組織に存在することも確認してください。共有ルールや項目レベルセキュリティを含む、セキュリティ設定のチェックも必要です。本番環境へのデプロイの前に、まずSandboxでテストし、さらに安全性を再確認するため、Salesforce Code Analyzerを手動で実行しましょう。

経験豊富な開発者であっても、スキルから新たに学べることがあります。ぜひスキルを使ってみてください。見逃していたベストプラクティスを発見できるかもしれません。またGiven/When/Thenパターンを使ったテストクラスの構成方法を理解し、セキュリティとパフォーマンスにとって重要なCode Analyzerのフラグを知ることもできます。スキルは自動化ツールであると同時に、開発を学ぶためのツールでもあります。

スキルをさらに活用する

ここまでスキルの実際の動作を見てきました。スキルライブラリ(英語)には60以上の利用可能なスキルが公開されています。こうしたスキルを使えば、FlexCardとIntegration Procedureを使用したOmniStudioソリューションの構築、Data 360データソースへの接続、B2Bコマースストアの作成、オーケストレーションと連携する画面フローの生成など、さまざまなことが可能になります。

さらに高度なパターンも試してみましょう。Trigger Actions Framework(TAF)を使って Trigger Frameworksを構築したり、Queueable with Finalizersを組み合わせて後処理ロジックを伴う非同期処理を実装したりすることもできます。また、Custom REST Resourcesを使って、適切なエラー処理を備えたバージョン付きのAPIを構築することもできます。

スキルはオープンソースです。そのため、リポジトリをフォークしてパターンをカスタマイズし、チームの命名規則をテンプレートに追加できます。組織固有のスキルを作成することも可能です。コントリビューションガイド(英語)を参考にして開発を始めてみましょう。

最後に、スキルを既存のワークフローと統合しましょう。スキルは、Claude CodeのVS Code拡張機能(英語)や、自動化ワークフローでコードを生成するCI/CDパイプラインとスムーズに連携します。また、プルリクエストを提出する前の一次レビュアーとして、コードレビュープロセスにも組み込めます。

まとめ

Claude CodeのSalesforceスキルによって、AIは単なるコード生成ツールから開発のエキスパートへと進化します。定型コードの記述や、ガバナ制限を考慮した実装を手作業で行わなくても、やりたいことを説明するだけで、Claudeが本番品質のパターンを使って形にします。

ApexやLWCの生成からログのデバッグまで、スキルはベストプラクティスを実践しながら、ワークフローを加速させます。そのため、開発者は実装作業の繰り返しに時間を費やすのではなく、ビジネス課題の解決に注力できます。

さっそく始めてみませんか?Claude Codeを無料でダウンロードし、Salesforceプロジェクトでnpx skillsを実行してforcedotcom/sf-skillsを追加しましょう。数分後には、自然言語で指示するだけで、本番環境に対応したコードを生成できるようになります。

質問がある方やスキルで構築したものを共有したい方は、Salesforceの開発者コミュニティに参加してください。LinkedInX(旧Twitter)でつながることもできます。スキルを使った感想や体験を、ぜひお聞かせください。

関連情報

執筆者について

Akshata Sawantは、Salesforceのシニアデベロッパーアドボケート。Packt Publishingから出版された『MuleSoft for Salesforce Developers』の共著者です。詳しい経歴や実績については、LinkedInプロフィールをご覧ください。

More Blog Posts

Build Production-Ready Apps in Claude Code with Salesforce Skills

Build Production-Ready Apps in Claude Code with Salesforce Skills

Build production-ready apps in Claude Code using Salesforce Skills to generate bulkified code, Apex controller logic, and test classes.June 09, 2026

The Salesforce Developer’s Guide to the Winter ’25 Release

The Salesforce Developer’s Guide to the Winter ’25 Release

The Winter '25 release is here! In this post, we highlight what’s new for developers across the Salesforce ecosystem.September 03, 2024

The Salesforce Developer’s Guide to the Winter ’26 Release

The Salesforce Developer’s Guide to the Winter ’26 Release

Learn about highlights for developers in the Winter '26 release across Lightning Web Components, Apex, Salesforce Platform developer tools, APIs, and more.September 08, 2025