CursorとClaude CodeにSalesforce用の適切なコードを書わせる方法
ChatGPTや標準のCursorでApexトリガーやLightning Web Componentsを生成しようとしたことがある方は、一般的なエラーに遭遇したことがあるでしょう。モデルはトリガーのコンテキストを混同し、ループ内のSOQLの制限を忘れたままSOQLクエリを実行したり、古いAPIバージョンでXMLマニフェストを組み立てたりします。結果として、大規模なシステムプロンプトを作成し、すべてのリクエストにドキュメントのスニペットを手動で添付することになってしまいます。
Salesforceはこの問題に体系的に取り組むことを決意し、リポジトリをリリースしましたsf-skills。これは、オープンなエージェントスキル標準に従ってパッケージ化された、 готовых инструкций, テンプレート、実行可能スクリプトのセットです。
sf-skills/
├── skills/ # Директории с конкретными воркфлоу
│ ├── platform-apex-generate/
│ ├── platform-custom-object-generate/
│ ├── automation-flow-generate/
│ └── ...
├── samples/ # Примеры приложений
└── scripts/
エージェントスキルとは
フォーマットの考え方はシンプルです。LLMに長くて構造化されていないテキストをフィードする代わりに、各スキルは明確なアーキテクチャを持つ個別のフォルダとして整理されています:
SKILL.md— YAMLフロントマターで指示とメタデータを含む必須ファイル。このスキル什么时候どのように適用すべきかを記述します。scripts/— 検証や成果物の生成のためにエージェントが実行できるPython、Bash、JavaScriptの実行可能スクリプト。references/— 特定のトピックに関する参考資料とドキュメントの要約。assets/— готовых шаблонов、 メタデータスキーマ、マッピングテーブル。
リポジトリはagentskills.io仕様に準拠しています。これは、スキルが会社の内部サービスにハードコードされていないことを意味します。任意のツールに接続できますこのオープン形式をサポートする。
エディタへの接続方法
内部Agentforce Vibes環境で作業している場合、スキルは自動的にプルされ更新されます。Claude Code、OpenCode、Cursorなどの馴染みのある開発者ツールの場合、接続は1つのターミナルコマンドで完了します:
npx skills add forcedotcom/sf-skills
ユーティリティは必要なバンドルをダウンロードし、アシスタント設定に登録します。その後、エージェントはチャットで追加の説明なしにプラットフォーム固有のコマンドとルールを理解します。
ライブラリの内容
リポジトリには異なるプラットフォームレイヤー向けのワークフローが含まれています。
サーバーサイドのコード生成には、Apexクラスの作成ルール、FLS(フィールドレベルセキュリティ)を考慮した適切なSOQLクエリの書き方、単体テストのテンプレートが含まれています。アシスタントはカバレッジ率のみを目的とした空のアサーションの生成を停止します。
宣言型開発向けに、カスタムオブジェクト、項目、権限セットの作成スキルが用意されています。エージェントはSalesforce CLIを通じて即座にデプロイできる有効なXMLメタデータファイルをアセンブルし、手動でのタグ編集を不要にします。
自動化とインターフェース専用のセクションがあります。FlowやLightning Web Components(LWC)の作成ワークフロー、補助的なReact UIバンドルも含まれています。
samplesフォルダには готовых приложений のサンプルが含まれています。例えば、UIバンドルテンプレートはGitHub Actions経由で直接同期されます。@salesforce/ui-bundle-template-app-react-sample-b2e npmパッケージと連携でき、ローカルで同期を実行できます:
npm install
npm run sync-react-b2e-sample
注意点
プロジェクトは積極的にリファクタリング中です。開発者はREADMEで正直に警告しています:フォルダ構造とスキル名は下位互換性なしで変更される可能性があります。GA Salesforce APIリリースで期待するような安定性の保証はありません。
リポジトリをフォークしたりローカルで変更を加えた場合、アップストリームから更新する際に競合を解決する準備が必要です。現在、プロジェクトはGitHubで900個未満のスターを獲得していますが、コミットベースはほとんど毎日更新されています。
試してみる価値はあるか
定期的にSalesforce向けにコードを書き、ターミナルやIDEでAIアシスタントを使用しているなら、このプロジェクトは確かに時間を節約できます。Custom FieldのXML構造をモデルに手動で思い出させる必要がなくなり、ApexでHTTPコールのモッククラスを作成するルールを説明する必要もなくなります。
始める最も簡単な方法は、テストプロジェクトでvia npx skills addをインストールして、通常のモデルが新しい指示書でメタデータ生成をどのように処理するかを確認することです。
関連プロジェクト