mcpField
S
sf-apex

sf-apex

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

sf-apex について

Salesforce の本番向け Apex クラス、トリガー、非同期ジョブ、テストの生成とレビューを行うスキルです。バルク安全性、共有とセキュリティ、テストを重視し、既存のプロジェクト構成に合わせます。

主な機能

  1. 01Apex の生成とリファクタリング
  2. 02トリガーと非同期ジョブの設計
  3. 03バルク安全性とセキュリティのレビュー
  4. 04テストクラスとアサーションの指針
  5. 05既存プロジェクトのパターンを適用

活用シーン

  1. 01Queueable または Batch ジョブの作成
  2. 02トリガーのバルク処理をレビュー
  3. 03セキュリティを考慮した Apex ロジックの追加
  4. 04成功・失敗・バルクテストの作成

インストール

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

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

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

同梱ファイル

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

CREDITS.md
README.md
assets/
apex-class.cls
batch.cls
invocable-method.cls
queueable.cls
selector.cls
service.cls
test-class.cls
test-data-factory.cls
trigger-action.cls
trigger.trigger
hooks/scripts/
apex-lsp-validate.py
llm_pattern_validator.py
post-tool-validate.py
prettier-format.py
validate_apex.py
references/
anti-patterns.md
automation-density-guide.md
best-practices.md
bulkification-guide.md
code-review-checklist.md
code-smells-guide.md
design-patterns.md
flow-integration.md
llm-anti-patterns.md
naming-conventions.md
patterns-deep-dive.md
security-guide.md
security-quick-reference.md

詳細

sf-apex:Salesforce Apex コードの生成とレビュー

ユーザーが本番品質の Apexを必要としている場合に、このスキルを使用します。新規クラス、トリガー、セレクター、サービス、非同期ジョブ、呼び出し可能メソッド、テストクラスの作成や、既存の .cls / .trigger コードの根拠に基づくレビューが対象です。

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

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

  • Apex クラスの生成またはリファクタリング
  • トリガーの設計やトリガーフレームワークに関する判断
  • @InvocableMethod、Queueable、Batch、Schedulable、またはテストクラスの作業
  • バルク化、共有、セキュリティ、テスト、保守性に関するレビュー

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

  • LWC の JavaScript / HTML / CSS の編集 → sf-lwc
  • Flow XML の作成や Flow のオーケストレーション → sf-flow
  • SOQL のみの作成 → sf-soql
  • 組織へのメタデータのデプロイや検証 → sf-deploy

最初に収集する必須コンテキスト

次の情報を確認するか、推測します。

  • クラスの種類:トリガー、サービス、セレクター、バッチ、キュー可能、スケジュール可能、呼び出し可能、テスト
  • 対象オブジェクトとビジネス上の目的
  • 新規コード、リファクタリング、修正のいずれか
  • 判明している場合は、組織や API の制約
  • 想定されるテストカバレッジまたはデプロイ先

コードを作成する前に、プロジェクトの構成を確認します。

  • 既存のクラス/トリガー
  • 現在のトリガーフレームワークまたはハンドラーパターン
  • 関連するテスト、フロー、セレクター
  • TAF がすでに使用されているかどうか

推奨ワークフロー

1. ローカルのアーキテクチャを把握する

次を確認します。

  • 既存のトリガーハンドラー/フレームワーク
  • サービス、セレクター、ドメインの規約
  • 関連するテストとデータファクトリー
  • リポジトリですでに使用されている呼び出し可能または非同期のパターン
2. 最小限で適切なパターンを選ぶ
必要なもの推奨パターン
シンプルで再利用可能なロジックサービスクラス
クエリ中心のデータアクセスセレクター
単一オブジェクトのトリガー動作1 つのトリガー + ハンドラー/TAF アクション
Flow に複雑なロジックが必要@InvocableMethod
バックグラウンド処理既定では Queueable
非常に大きなデータセットBatch Apex または Database.Cursor パターン
繰り返し可能な検証専用のテストクラス + テストデータファクトリー
3. ガードレールを守って作成する

次の条件を満たすコードを生成します。

  • バルク処理に安全である
  • 共有を考慮している
  • 該当する場合、CRUD/FLS に準拠している
  • 単独でテストできる
  • プロジェクトの命名規則とレイヤー構成に沿っている
4. 検証して採点する

引き渡しの前に、150 点満点の評価基準に照らして評価します。

5. デプロイ/テストの次の手順を引き継ぐ

組織での検証が必要な場合は、次に引き継ぎます。

  • テスト実行の反復には sf-testing
  • デプロイ/ドライラン/検証には sf-deploy

生成時のガードレール

次のアンチパターンを含むコードは、問題を明確に説明して処理を停止することなく、決して生成しないでください。

アンチパターン禁止する理由
ループ内の SOQLガバナ制限に抵触する
ループ内の DMLガバナ制限に抵触する
共有モデルの欠落セキュリティ/データ漏えいのリスク
ID のハードコードデプロイと移植性に問題が生じる
空の catch ブロックエラーが握りつぶされ、可観測性が損なわれる
ユーザー入力を使った文字列ベースの SOQLインジェクションのリスク
アサーションのないテスト誤って成功と判定されるテストスイート

既定の修正方針:

  • クエリは 1 回だけ実行し、コレクションを操作する
  • 正当な理由がない限り with sharing を使用する
  • 適切な場合はバインド変数と WITH USER_MODE を使用する
  • 成功ケース、失敗ケース、バルクケースのアサーションを作成する

references/anti-patterns.md と references/security-guide.md を参照してください。


重要な構築ルール

トリガーのアーキテクチャ
  • オブジェクトごとにトリガーを 1 つにすることを推奨します。
  • TAF がすでにインストールされ、使用されている場合は、別のトリガーパターンを新たに作らず、既存のものを拡張します。
  • トリガーはロジックを委譲し、トリガー本体に複雑なビジネスロジックを直接記述しないでください。
非同期処理の選択
シナリオデフォルト
標準的な非同期処理Queueable
非常に大量のレコード処理Batch Apex
定期的なスケジュール実行Scheduled Flow または Schedulable
ジョブ後のクリーンアップFinalizer
実行時間の長い Lightning コールアウトContinuation
テストの最低要件

すべての機能で PNB パターンを使用します。

  • Positive(正常系)パス
  • Negative(異常系)/エラーパス
  • Bulk(一括処理)パス(該当する場合は251件以上のレコード)
最新の Apex に期待されること

利用可能な場合は、現在のイディオムを優先します。

  • セーフナビゲーション:obj?.Field__c
  • null 合体:value ?? fallback
  • 従来のアサーション形式ではなく Assert.*
  • 該当する場合は WITH USER_MODE と明示的なセキュリティ処理

出力形式

作業を終えたら、次の順序で報告します。

  1. 作成またはレビューした内容
  2. 変更したファイル
  3. 主な設計上の決定
  4. リスク/ガードレールに関する注意事項
  5. テストのガイダンス
  6. デプロイのガイダンス

推奨形式:

Apex work: <summary>
Files: <paths>
Design: <pattern / framework choices>
Risks: <security, bulkification, async, dependency notes>
Tests: <what to run / add>
Deploy: <dry-run or next step>

LSP 検証に関する注意

このスキルは、.cls ファイルと .trigger ファイルの LSP 支援による作成・編集ループに対応しています。

  • 書き込み/編集の直後に構文上の問題を検出できます
  • 短いループで、よくある構文エラーを自動修正できます
  • 意味的な品質は、引き続き150点満点のレビュールーブリックに左右されます

完全なガイド:references/troubleshooting.md


スキル間の連携

必要な作業委任先理由
まずオブジェクト/項目を記述するsf-metadata誤ったスキーマを前提にコーディングするのを防ぐため
大量データまたはエッジケースデータを用意するsf-data現実的なテストデータセットを作成するため
Apex テストの実行/失敗したテストの修正sf-testing実行し、失敗を修正しながら反復するため
組織へのデプロイsf-deploy検証とデプロイのオーケストレーションのため
Apex を呼び出す Flow の構築sf-flow宣言的なオーケストレーションのため
Apex を呼び出す LWC の構築sf-lwcUI/コントローラーの統合のため

リファレンスマップ

まずはこちら
重要度の高いチェックリスト
専門的なパターン
トラブルシューティング/検証

スコアガイド

スコア意味
120以上本番環境に対応できる優れた Apex
90~119良好な実装。デプロイ前にレビューが必要
67~89許容範囲だが、改善が必要
67未満デプロイをブロック

コメント