• Projects
  • Service
  • About
  • branding.bz
  • Podcast
  • Tips
  • FAQ
  • Recruit
  • Download
  • Contact
  • branding.bz(ブランド構築SaaS)
  • DESIGN NOW(デザインメディア)
  • X
  • LinkedIn
  • Spotify
  • Facebook

213-0011 神奈川県川崎市高津区久本3-6-7-303

© 2026 ID INC. All rights reserved

claude-skills/スキル
SKILLOfficialdevelopment

platform-deploy-validate

プラグイン
salesforce-development
ソース
GitHub で見る ↗
説明

Salesforce メタデータ(データベースの構造などの設定情報)をデプロイ前に検証します。 **使用場面:** - ユーザーがデプロイの検証、ドライラン(実行前の試験)、デプロイ前のチェック、または本番環境へのデプロイを依頼した場合 **動作:** - 本番環境をターゲットとする場合:`sf project deploy validate` コマンドを実行し、10日間有効なクイックデプロイ用のジョブIDを返却 - サンドボックス環境やスクラッチ環境をターゲットとする場合:`sf project deploy start --dry-run` コマンドを実行 **注意:** 実際のデプロイ操作には使用しないでください(その場合は platform-metadata-deploy を使用してください)。また、削除を伴う変更にも対応していません(その場合は platform-destructive-deploy を使用してください)。

原文を表示

Validate Salesforce metadata before deploying. TRIGGER when the user asks to validate a deploy, do a dry-run, check before deploying, or targets a Production org for any deploy operation. Routes prod targets to `sf project deploy validate` (returns a 10-day quick-deploy job ID) and sandbox/scratch targets to `sf project deploy start --dry-run`. DO NOT TRIGGER for actual deploys (use platform-metadata-deploy) or destructive changes (use platform-destructive-deploy).

ユースケース
  • デプロイ前の検証を実施したい
  • 本番環境へのドライランを試験したい
  • デプロイの影響範囲を確認したい
本文(日本語訳)

デプロイメント検証

メタデータをデプロイする前に、サーバー側で検証を実行します。検証はメタデータを変更せずにエラーを表示し、本番環境への検証の場合は platform-quick-deploy で使用できるジョブIDを生成して、テストなしの高速デプロイを可能にします。

機能の選択

常に Tooling API を直接使うのではなく、sf project deploy validate(本番用)または sf project deploy start --dry-run(サンドボックス/スクラッチ組織用)を優先してください。

ワークフロー

ステップ1 — 対象の組織を確認

ゲートの分類機能を使って組織を判定します。この分類は信頼できる唯一の基準であり、デプロイフックと同じ方法で組織を判定します(サンドボックス/スクラッチ組織のマーカーや試用版・Developer Edition 組織、SDO に対応し、特に指定がない Dev Hub は本番環境として扱います。結果は production|sandbox|scratch|trial|unknown のいずれかです):

"${CLAUDE_PLUGIN_ROOT}/scripts/sf-deploy-gate" bucket <alias>

production だけが本番経路(ステップ2b)に進みます。それ以外の結果はすべてサンドボックス/スクラッチ経路(ステップ2a)に進みます。unknown は組織の種別が確認できなかったことを意味します(通常は組織レコードが不完全な場合)。その旨を明確に伝えてください。デプロイゲートはデプロイを許可し、自動デプロイは無効のままになり、sf org login web で再認証することで通常は分類が復旧します。

ステップ2a — サンドボックス/スクラッチ経路(ドライラン)

sf project deploy start --dry-run --target-org <alias> --json [scope flags]

スコープフラグ(以下の中から1つだけ使用、すべては不可):

  • --source-dir <path> — ディレクトリをデプロイ
  • --metadata <Type:Name> — 特定のコンポーネントをデプロイ
  • --manifest manifest/package.xml — マニフェストからデプロイ

デフォルトテストレベル: サンドボックスの場合は --test-level を指定しないでください(組織のデフォルト設定に任せます)。ユーザーが明確に要求した場合にのみ --test-level RunLocalTests を追加してください。

結果報告: 成功/失敗、試行したコンポーネント、エラーの有無。ドライラン実行時はジョブIDは返されません(これは予期された動作です)。

ステップ2b — 本番経路(検証)

sf project deploy validate --target-org <alias> --json [scope flags] --test-level RunLocalTests

本番環境への検証にはテストレベルの指定が必須です。デフォルトは RunLocalTests を使用してください。ユーザーが明確にテスト指定した場合のみ RunSpecifiedTests --tests <ClassName>... に切り替えてください。

レスポンスは ジョブID(result.id)を返します。このIDは 10日間有効 です。platform-quick-deploy で使用するため保存してください:

mkdir -p .sfdx
echo '{"jobId":"<id>","createdAt":"<iso8601>","targetOrg":"<alias>","testLevel":"RunLocalTests"}' > .sfdx/last-validation.json

結果報告:

  • 検証結果(成功/失敗)
  • ジョブID と 10日間の有効期限
  • テスト結果サマリー(実行数/成功数/失敗数)
  • 次のステップのご案内: このジョブIDを使って platform-quick-deploy を実行

ステップ3 — 失敗の原因特定

検証が失敗した場合、result.details.componentFailures と result.details.runTestResult.failures を解析して以下を表示します:

  • コンポーネントエラーの上位5件(完全なメッセージ付き)
  • テスト失敗の上位5件(スタックトレース付き)
  • 修正のヒント(コンポーネント名 → 考えられる原因: 依存関係不足、フィールドレベルセキュリティ、構文エラー など)

検証結果に含まれていない無関係なメタデータを変更する修正は提案しないでください。報告されたエラーの範囲内に留めてください。

ルール

  • 常に CLI呼び出しには --json を使用してください
  • 本番環境への検証をスキップしてはいけません(このスキルから本番環境に対して sf project deploy start を実行してはいけません)
  • 検証中に --ignore-errors や --ignore-warnings を使用してはいけません。これらのフラグは実際のデプロイに属し、検証には不要です
  • ユーザーが事前検証なしに「本番環境にデプロイ」を要求した場合、まず検証を実行してから platform-quick-deploy に引き継いでください(本番環境への通常デプロイを開始してはいけません)
  • 検証ジョブIDを .sfdx/last-validation.json に保存して、クイックデプロイスキルが参照できるようにしてください

出力

常に以下で終了してください:

  • ✅ 検証成功 → platform-quick-deploy(ジョブID + 有効期限付き)または platform-metadata-deploy(非本番環境の場合)へのご案内
  • ❌ 検証失敗 → 分類整理されたエラーリストと推奨される次のアクション
原文(English)を表示

Validating Deployment

Run a server-side validation before deploying metadata. Validation surfaces errors without modifying the org and — for production targets — produces a job ID usable with platform-quick-deploy for a fast, test-free deploy.

Capability Resolution

Always prefer sf project deploy validate (prod) or sf project deploy start --dry-run (sandbox/scratch) over the Tooling API directly.

Workflow

Step 1 — Confirm the target org

Classify the org with the gate's classifier — it is the authoritative source of truth and resolves the org the same way the deploy hook does (it handles sandbox/scratch markers, trial and Developer Edition orgs including SDOs, and treats a Dev Hub with no such signal as production; returns one of production|sandbox|scratch|trial|unknown):

"${CLAUDE_PLUGIN_ROOT}/scripts/sf-deploy-gate" bucket <alias>

Only production takes the production path (Step 2b); every other result takes the sandbox/scratch path (Step 2a). unknown means the org type could not be confirmed (usually an incomplete org record). Say so plainly: the deploy gate still allows the deploy, auto-deploy on save stays off for that org, and re-authenticating with sf org login web usually restores the classification.

Step 2a — Sandbox/Scratch path (dry-run)

sf project deploy start --dry-run --target-org <alias> --json [scope flags]

Scope flags (use exactly one, not all):

  • --source-dir <path> — deploy a directory
  • --metadata <Type:Name> — deploy specific components
  • --manifest manifest/package.xml — deploy from manifest

Default test level: omit --test-level for sandboxes (defers to org default). Add --test-level RunLocalTests only if the user asks.

Report back: success/failure, components attempted, any errors. No job ID is returned for dry-runs (this is expected).

Step 2b — Production path (validate)

sf project deploy validate --target-org <alias> --json [scope flags] --test-level RunLocalTests

Production validations REQUIRE a test level. Use RunLocalTests by default; switch to RunSpecifiedTests --tests <ClassName>... if the user has explicitly listed tests.

The response returns a job ID (result.id) valid for 10 days. Persist it for platform-quick-deploy:

mkdir -p .sfdx
echo '{"jobId":"<id>","createdAt":"<iso8601>","targetOrg":"<alias>","testLevel":"RunLocalTests"}' > .sfdx/last-validation.json

Report:

  • Validation result (passed / failed)
  • Job ID and 10-day expiry date
  • Test results summary (run / passed / failed)
  • Recommended next step: platform-quick-deploy with this job ID

Step 3 — Failure triage

If validation fails, parse result.details.componentFailures and result.details.runTestResult.failures and surface:

  • Top 5 component errors with full message
  • Top 5 test failures with stack
  • Suggested fix (component name → likely cause: missing dependency, FLS, syntax, etc.)

Do NOT propose fixes that change unrelated metadata. Stay scoped to what the validation reported.

Rules

  • ALWAYS use --json on every CLI call
  • NEVER skip validation when targeting Production (do not run sf project deploy start against prod from this skill)
  • NEVER use --ignore-errors or --ignore-warnings during validation; those flags belong to actual deploys, not validation
  • If the user asks to "deploy to prod" without prior validation, FIRST run validation, THEN hand off to platform-quick-deploy (do not start a regular deploy against prod)
  • Persist the validation job ID to .sfdx/last-validation.json so the quick-deploy skill can find it

Output

Always end with:

  • ✅ Validation passed → next-step pointer to platform-quick-deploy (with job ID + expiry) OR to platform-metadata-deploy for non-prod
  • ❌ Validation failed → categorized error list and suggested next iteration

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。