skills/salesforce/SKILL.md
Salesforce CLIを使ってSalesforceのデータ操作・管理を行うスキル。 取引先・商談・プロジェクト・外注管理のCRUD操作、SOQLクエリ、パイプライン分析、レポート生成を実行する。 ユーザーがSalesforceのデータを照会・更新・分析したいとき、商談のステージを確認・変更したいとき、 プロジェクトや外注の状況を確認したいとき、売上・粗利・パイプラインのレポートが必要なとき、 取引先や案件の情報を調べたいとき、SOQLクエリを実行したいときに使用する。 「Salesforce」「SF」「商談」「取引先」「パイプライン」「案件」「プロジェクト」「外注」「粗利」 「売上」「受注」「失注」「ステージ」「SOQL」などのキーワードが含まれる場合はこのスキルを使う。 Salesforceに関する質問や操作依頼であれば、明示的にスキル名を言及していなくても積極的にこのスキルを使用すること。
npx skillsauth add danishi/claude-code-config salesforceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Salesforce CLI (sf) を使い、接続先 org のデータ操作・分析・管理を行う。
このスキルを使用する前に、references/org-config.md を作成して組織固有の情報を設定する必要がある。
# Org 設定
| 項目 | 値 |
|------|-----|
| Instance URL | https://your-org.my.salesforce.com |
| API Version | 63.0 |
| Alias | your-alias |
| Default User | [email protected] |
## ビジネスコンテキスト
(このorgのビジネス概要を記述。例: SaaS製品の営業管理、製造業の受発注管理 など)
設定ファイルが存在しない場合は、ユーザーに作成を案内すること。
操作を始める前に、まず接続状態を確認する。
sf org display --json
sf org login web でブラウザ認証を案内するSalesforce CLIには2つの主要なデータアクセス方法がある。状況に応じて使い分ける。
sf data query — SOQLクエリの実行。--json フラグで構造化データを取得。結果は .result.records に格納されるsf api request rest — REST API直接呼び出し。describe(メタデータ取得)やTooling API呼び出しに使う。結果の形式が異なる点に注意(配列やオブジェクトが直接返る)orgによっては一部のsObjectタイプ(ApexClass, Organization等)がSOQL経由でアクセスできない制約がある。メタデータが必要な場合はREST APIの /sobjects/<Object>/describe を使用すること。
references/org-schema.md にオブジェクトごとのフィールド一覧・選択リスト値・リレーションを記載している。
SOQLクエリを組み立てるときやレコードを作成するときに参照すること。
スキーマファイルが未作成の場合は、sf api request rest /services/data/vXX.0/sobjects/<Object>/describe でメタデータを取得し、作成を支援する。
取引先を新規登録する際は、以下のフィールドを可能な限り埋める:
| フィールド | API名 | 重要度 | 調査方法 | |-----------|-------|--------|---------| | 取引先名 | Name | ◎必須 | 正式名称(前株/後株を含む) | | Webサイト | Website | ○推奨 | 公式サイトURL | | 請求先住所 | BillingStreet/City/State/PostalCode/Country | ○推奨 | 本社所在地 | | 電話番号 | Phone | ○推奨 | 代表電話番号 | | 業種 | Industry | ○推奨 | ピックリスト値から最適なもの |
注: orgにカスタム必須フィールドがある場合は references/org-schema.md を参照して対応すること。
会社名は必ず「前株」(株式会社〇〇)か「後株」(〇〇株式会社)を含む正式名称で登録する。 ユーザーから略称や株式会社なしで渡された場合は WebSearch で正式名称を調査すること。
登録前に必ず既存取引先との重複を確認する:
sf data query --query "SELECT Id, Name FROM Account ORDER BY Name" --json
同一企業がユーザーのリスト内に複数回含まれている場合は重複を除外し、既に登録済みの企業はスキップする旨をユーザーに報告する。
複数の取引先を一度に登録する場合:
sf data create record で登録(5件ずつ並列実行)# 取引先作成の例
sf data create record --sobject Account --values "Name='株式会社サンプル' Website='https://www.example.co.jp/' BillingCity='千代田区' BillingState='東京都' BillingCountry='日本' Industry='Technology'" --json
| フィールド | 格納する内容 | 例 |
|-----------|------------|-----|
| BillingPostalCode | 郵便番号(ハイフン付き) | 102-0093 |
| BillingCountry | 国名 | 日本 |
| BillingState | 都道府県 | 東京都 |
| BillingCity | 市区郡(政令市は区まで) | 千代田区 / 大阪市北区 |
| BillingStreet | 町名・番地・ビル名 | 平河町2-16-1 平河町森タワー |
商談名の命名規則はorgごとに異なる。references/org-config.md に命名規則が記載されている場合はそれに従う。記載がない場合はユーザーに確認すること。
問い合わせ情報から商談を登録する場合、以下の手順で一括処理する:
OpportunityContactRole で商談と取引先責任者を関連付ける(IsPrimary=true)# OpportunityContactRole の作成例
sf data create record --sobject OpportunityContactRole --values "OpportunityId='006XXXXXXXXXXXX' ContactId='003XXXXXXXXXXXX' IsPrimary=true" --json
SOQLクエリは sf data query で実行する。必ず --json を付けて構造化データとして受け取る。
sf data query --query "SELECT Id, Name, StageName, Amount, CloseDate FROM Opportunity ORDER BY CloseDate DESC LIMIT 10" --json
クエリのコツ:
WHERE StageName = '05-受注')sf api request rest '/services/data/vXX.0/query?q=SELECT+Id,Name,Account.Name+FROM+Opportunity'
COUNT() クエリも使用可能: SELECT count() FROM Opportunity WHERE IsClosed = falseLIMIT を適切に設定する結果の処理:
sf data query --json の結果は以下の構造:
{
"status": 0,
"result": {
"records": [...],
"totalSize": 10,
"done": true
}
}
レコード作成は 必ずユーザーに確認してから 実行する。作成する内容を事前に表示し、承認を得ること。
sf data create record --sobject Account --values "Name='新規取引先'" --json
複数フィールドの場合はスペース区切りで --values に渡す。参照フィールド(lookup/master-detail)はIDを指定する。
レコード更新も 必ずユーザーに確認してから 実行する。変更前の値と変更後の値を両方表示すること。
sf data update record --sobject Opportunity --record-id 006XXXXXXXXXXXX --values "StageName='Closed Won'" --json
ステージ変更の場合:
商談ステージを変更する際は、現在のステージも合わせて表示する。有効なステージ値は references/org-schema.md を参照すること。
レコード削除は 特に慎重に 確認する。削除対象のレコード内容を詳細に表示し、関連レコードへの影響も説明した上で、明確な承認を得ること。
sf data delete record --sobject Account --record-id 001XXXXXXXXXXXX --json
複数レコードの操作にはCSVを使ったバルク操作が効率的。
# CSVからインポート
sf data import tree --sobject Account --files /path/to/accounts.json --json
# バルクアップサート
sf data upsert bulk --sobject Account --file /path/to/accounts.csv --external-id Id --json
一括操作は影響範囲が大きいため、必ず対象件数と操作内容を事前に明示する。
ユーザーからレポートや分析を求められた場合、SOQLでデータを取得し、整形して表示する。
# 進行中の商談一覧
sf data query --query "SELECT Id, Name, StageName, Amount, CloseDate, Account.Name FROM Opportunity WHERE IsClosed = false ORDER BY CloseDate" --json
結果をステージ別にグルーピングし、金額のサマリーも合わせて表示する。
カスタムオブジェクトを使用する場合は references/org-schema.md のフィールド定義を参照してクエリを組み立てる。
オブジェクトのフィールド一覧やリレーションを確認するにはdescribeを使う。
sf api request rest /services/data/vXX.0/sobjects/Opportunity/describe
結果から fields 配列を取得し、name, label, type, picklistValues などを参照する。
API Versionは references/org-config.md に記載されている値を使用すること。未設定の場合は最新バージョンを使用する。
YYYY/MM/DD 形式で表示するtools
Produce rich, finished video content with React Remotion by orchestrating the repository's media-generation skills (nanobanana for images, veo for video clips, lyria for BGM, gemini-tts for narration) and composing them on a data-driven Remotion timeline. Follows an approval-gated workflow: first return a video composition plan for the user to approve, then generate assets, compose, run a multimodal self-review loop, and deliver only when the result meets the quality bar. Use when the user wants to "create a video", "make a promo / explainer / social clip", or combine images, video, music, and voiceover into one polished video.
tools
Generate videos using Google Gemini Veo 3.1. Defaults to the cost-effective Veo 3.1 Lite model; the premium (Veo 3.1) and Fast models are used only when explicitly requested via --pro / --fast. Supports text-to-video and image-to-video (first frame + optional last frame), 16:9 / 9:16, 720p / 1080p (4k on Pro), 4-8s clips, and 1-4 videos per request. Works with both the Gemini Developer API and Vertex AI.
tools
Package a skill directory into a distributable `.skill` archive placed on the Desktop. Use when the user asks to "package", "bundle", "zip up", "export", "distribute", or "ship" a skill, or mentions creating a `.skill` file from `~/.claude/skills/<skill-name>/`.
development
Generate and edit images using Google Gemini (Nano Banana Pro / Nano Banana 2). Automatically selects the best model based on prompt complexity. Supports text-to-image generation, image editing with reference images, configurable aspect ratios, 1K/2K/4K output, Google Search grounding, and batch generation. Works with both Gemini Developer API and Vertex AI.