For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Theme
概要 ChatGPT と Codex のユーザー向けドキュメント ユースケース

プラグイン提出時のエラー

公開ディレクトリに提出するプラグインの検証エラーを特定し、修正する方法

公開ディレクトリに提出するプラグインには、ワークスペースにインストールするプラグインより厳しい基準が適用されます。ディレクトリに提出するには、共通のパッケージ検証に加え、掲載情報、審査資料、MCP ツール、スキル、アセット、画像の検証にも合格する必要があります。このリファレンスでは、MCP サーバー参照の検証など、提出ポータル以外でも実行される共通のパッケージ検証も扱います。

提出時に返されたエラーコードで、該当する要件を確認してください。エラーがあると提出できません。警告があっても提出できますが、先に内容を確認してください。

空にできない値には、空白文字以外の文字が必要です。制御文字、Unicode の行区切り文字や段落区切り文字、サポート対象外の不可視の書式制御文字は使用できません。HTTPS URL にはホストが必要です。認証情報やサポート対象外の文字は含められません。

ディレクトリへの最終提出

アップロード時の検証に合格したパッケージでも、ディレクトリへの最終提出時にエラーになることがあります。最終提出では、掲載情報により厳しい制限が適用されます。また、MCP の設定、スキルのスキャン結果、テストケース、ポリシー遵守の表明も確認されます。

項目 最終提出時の要件
パッケージ名 必須です。64 文字以内で、先頭は ASCII の英字または数字にします。使用できるのは ASCII の英字、数字、_、- のみです。
バージョン 必須です。64 文字以内のセマンティックバージョンを指定してください。
表示名 必須です。1 行、30 文字以内で指定してください。
短い説明 必須です。1 行、30 文字以内で指定してください。
詳細な説明 必須です。4,000 文字以内で指定してください。改行を使用できます。
開発者名 必須です。1 行、80 文字以内で指定してください。
カテゴリ 必須です。掲載情報とインターフェースのエラーに記載されているカテゴリから選んでください。
機能 最大 20 件です。各機能は空にせず、1 行、120 文字以内で記述してください。
開始プロンプト 最大 3 件です。各プロンプトは空にせず、1 行、128 文字以内で記述してください。Unicode と空白文字の正規化後も重複しないようにしてください。MCP サーバーへの @mention は含められません。
URL リモート MCP の提出では必須です。スキルのみのプラグインを ZIP でアップロードする場合は任意です。ウェブサイト、サポート、プライバシーポリシー、利用規約の各 URL には HTTPS を使用し、それぞれ 1,024 文字以内にしてください。
ブランドカラー 任意です。色は 6 桁の 16 進数で指定します。ライトモード用の色は白に対して、ダークモード用の色は #212121 に対して、それぞれ 2:1 以上のコントラスト比が必要です。

すべてのプラグインの提出には、次の要件もあります。

  • 同梱するすべてのスキルが安全性とセキュリティのスキャンに合格する必要があります。スキャンには最大 2 時間かかる場合があります。
  • 開発者の本人確認または事業者の確認が完了し、必要なポリシー遵守の表明がすべてそろっていること

リモート MCP プラグインの最終提出には、次の要件もあります。

  • 上記の要件を満たすウェブサイト、サポート、プライバシーポリシー、利用規約の各 URL
  • 対応プラットフォームでの主なユースケースとツールの使い方を示すデモ動画の URL
  • 正常系のテストケース 5 件、異常系のテストケース 3 件(いずれも指定件数どおり)、およびリリースノート
  • 本番 MCP サーバーの HTTPS URL、ドメイン検証チャレンジの完了、最新のツールスキャンの成功
  • 各 MCP ツールでの readOnlyHint、openWorldHint、destructiveHint の値の明示と、それぞれの値を設定した理由
  • サーバーが OAuth を使用する場合は、審査担当者が使用できるデモ用の認証情報

最終提出時のメタデータエラー

以下のエラー名では、subtitle は短い説明、description は詳細な説明を指します。

エラー名 要件
submission_display_name_required 表示名は必須です。空にせず、1 行で指定してください。
submission_display_name_too_long 表示名は 30 文字以内にしてください。
submission_display_name_character_unsupported 表示名には使用可能な文字を使い、1 行に収めてください。
submission_subtitle_required 短い説明は必須です。空にせず、1 行で記述してください。
submission_subtitle_too_long 短い説明は 30 文字以内にしてください。
submission_subtitle_character_unsupported 短い説明には使用可能な文字を使い、1 行に収めてください。
submission_description_required 詳細な説明は必須で、空にはできません。改行を使用できます。
submission_description_too_long 詳細な説明は 4,000 文字以内にしてください。
submission_description_character_unsupported 詳細な説明には使用可能な文字を使ってください。改行を使用できます。
submission_developer_name_required 開発者名は必須です。空にせず、1 行で指定してください。
submission_developer_name_too_long 開発者名は 80 文字以内にしてください。
submission_developer_name_character_unsupported 開発者名には使用可能な文字を使い、1 行に収めてください。
plugin_capability_invalid 各機能は空にせず、使用可能な文字を使って 1 行、120 文字以内で記述してください。
plugin_default_prompt_mention 開始プロンプトに MCP サーバーへの @mentions は含められません。
plugin_default_prompt_duplicate 開始プロンプトは、Unicode と空白文字の正規化後も重複しないようにしてください。

MCP と審査に関するエラー

以下のエラーは、リモート MCP の提出時に発生します。

エラー名 要件
annotations_required すべての MCP ツールで、実際の動作に合わせて readOnlyHint、openWorldHint、destructiveHint を正しく設定してください。
justification_required 各 MCP ツールのアノテーションには、そのツールが読み取り専用か、外部のシステムとやり取りするか、破壊的な操作を行うかについて、それぞれの設定値の根拠を記載してください。
scan_required 本番 MCP サーバーを対象とした最新の MCP ツールスキャンが成功している必要があります。
domain_verification_required MCP ホストまたは許可された親ホスト上に生成された /.well-known/openai-apps-challenge URL で、検証トークンを一字一句変えずに公開してください。Verify Domain による検証に合格する必要があります。
frame_domain_explanation_required MCP ツールのスキャンで報告された外部フレームのドメインごとに、UI がそのドメインを必要とする理由と、そこから提供されるコンテンツを説明してください。

アーカイブのエラー

ZIP アップロード時のエラーと警告

ポータルの Skills only からは、スキルの ZIP パッケージと承認済みのローカル MCP プラグインをアップロードできます。承認済みのローカル MCP プラグインには、スキルを含める必要はありません。エラーがあるとアップロードできません。警告が表示された場合は、続行する前に確認が必要です。

名前 要件
plugin_name_mismatch 更新時のパッケージ名は、既存のプラグイン名と一致させてください。
plugin_version_unchanged 新しいリリースでは、マニフェストの version を変更してください。公開済みのバージョンを再使用するには確認が必要です。
mcp_configuration_excluded 所属組織がローカル MCP の提出を許可されていない場合、MCP の設定は除外されます。ローカル MCP プラグインの場合は、提出する組織が許可リストに登録されているか、OpenAI の担当者に確認してください。リモート MCP サーバーは With MCP から提出してください。
app_configuration_excluded アップロードする ZIP に apps や .app.json は含められません。リモート MCP サーバーは With MCP から提出してください。ローカル MCP サーバーの場合は、デスクトップ専用プラグインの提出手順に従ってください。
claude_format_normalized ポータルは .claude-plugin/plugin.json を .codex-plugin/plugin.json に変換し、不足しているインターフェースのデフォルト値と、正規化したテキストフィールドを追加します。
manifest_normalized ポータルは正規化したマニフェストを .codex-plugin/plugin.json として保存します。変更されたフィールドについては確認が必要です。
developer_name_defaulted 掲載情報の開発者名は、ZIP 内の名前にかかわらず、選択した確認済みの開発者情報から自動設定されます。

ZIP の構造と上限に関するエラー

エラー名 要件
archive_empty アーカイブは空にできません。
archive_too_large 圧縮後の ZIP は 100 MB 以下にしてください。
archive_format_not_zip アーカイブには、破損していない有効な ZIP ファイルを使用してください。
archive_member_path_empty アーカイブ内のエントリのパスは空にできません。
archive_member_path_has_outer_whitespace エントリのパスの先頭と末尾に空白文字は使用できません。
archive_member_path_has_backslash エントリのパスの区切りには / を使用してください。バックスラッシュは使用できません。
archive_member_path_absolute エントリのパスは、アーカイブのルートからの相対パスにしてください。
archive_member_path_has_empty_segment エントリのパスに空のセグメントは含められません。
archive_member_path_has_parent_segment エントリのパスに .. セグメントは含められません。
archive_member_path_too_deep エントリのパスは、ファイル名を含めて 20 セグメント以内にしてください。
archive_member_path_too_long エントリのパスの長さは、サポートされる上限以内にしてください。
archive_member_path_normalization_collision エントリのパスは、大文字と小文字の区別をなくし、Unicode を正規化した後も重複しないようにしてください。
archive_member_type_unsupported アーカイブのエントリには、通常ファイルまたはディレクトリを使用してください。
archive_member_too_large 各エントリのサイズは 100 MiB 以下にしてください。
archive_member_path_duplicate エントリのパスは重複しないようにしてください。
archive_member_path_type_conflict ファイルのパスをディレクトリのパスと兼用したり、その配下に別のエントリを配置したりすることはできません。
archive_too_many_entries アーカイブのエントリ数は 5,000 件以内にしてください。
archive_uncompressed_too_large 展開後のアーカイブのサイズは 512 MiB 以下にしてください。
archive_member_unreadable 各エントリは読み取り可能で、暗号化されておらず、サポートされている圧縮方式を使用している必要があります。

プラグインルートのエラー

エラー名 要件
plugin_root_missing 選択したパスは、プラグインを含む既存のディレクトリを指す必要があります。
archive_plugin_files_missing ZIP には、サポートされているプラグインマニフェストと、少なくとも 1 つの有効なスキル(または承認済みのローカル MCP サーバー)が必要です。
plugin_root_ambiguous ZIP 内のプラグインルートは 1 つだけにしてください。アーカイブのルートか、その直下の単一のディレクトリに配置します。
plugin_root_has_siblings ZIP の最上位にプラグインディレクトリを置く場合、そのディレクトリと同じ階層にファイルを置くことはできません。

プラグインマニフェストのエラー

エラー名 要件
plugin_manifest_missing ZIP のルートまたはその直下の単一のディレクトリに、サポートされている Agent Plugins スキーマに準拠した plugin.json、.codex-plugin/plugin.json、.agent-plugin/plugin.json、.claude-plugin/plugin.json のいずれかを配置してください。
plugin_manifest_not_file プラグインマニフェストには、JSON 形式の通常ファイルを使用してください。
plugin_manifest_unreadable プラグインマニフェストは、読み取り可能な UTF-8 テキストにしてください。
plugin_manifest_json_malformed プラグインマニフェストには有効な JSON を記述してください。構文エラーは行番号とともに報告されます。
plugin_manifest_root_not_object プラグインマニフェストのトップレベルには JSON オブジェクトを指定してください。
codex_manifest_parent_not_directory .codex-plugin はディレクトリにしてください。
codex_manifest_path_not_file .codex-plugin/plugin.json は JSON 形式の通常ファイルにしてください。
plugin_id_wrong_type id を指定する場合は文字列にしてください。
plugin_id_empty id を指定する場合は空にできません。
plugin_name_missing name は必須です。
plugin_name_wrong_type name は文字列にしてください。
plugin_name_empty name は空にできません。
plugin_name_too_long name は 64 文字以内にしてください。
plugin_name_format name の先頭は ASCII の英字または数字にしてください。使用できるのは ASCII の英字、数字、_、- のみです。
plugin_version_missing version は必須です。
plugin_version_wrong_type version は文字列にしてください。
plugin_version_empty version には、1.0.0 のようなセマンティックバージョンを表す空でない文字列を指定してください。
plugin_version_not_semver version には、1.0.0 のようにセマンティックバージョニングに準拠した値を指定してください。
plugin_version_too_long version は 64 文字以内にしてください。
plugin_description_missing description は必須です。
plugin_description_wrong_type description は文字列にしてください。
plugin_description_empty description は空にできません。
plugin_description_too_long description は 1,024 文字以内にしてください。
plugin_description_character_unsupported description には使用可能な文字を使ってください。改行を使用できます。
plugin_developer_missing author.name は必須です。interface.developerName も必須で、エラーは個別に報告されます。
plugin_author_wrong_type author はオブジェクトにしてください。
plugin_author_name_wrong_type author.name は文字列にしてください。
plugin_author_name_empty author.name は空にできません。
plugin_author_name_too_long author.name は 120 文字以内にしてください。
plugin_author_name_character_unsupported author.name には使用可能な文字を使ってください。
plugin_author_email_wrong_type author.email を指定する場合は文字列にしてください。
plugin_author_email_empty author.email を指定する場合は空にできません。
plugin_author_email_too_long author.email は 320 文字以内にしてください。
plugin_author_email_character_unsupported author.email には使用可能な文字を使ってください。
plugin_author_url_wrong_type author.url を指定する場合は文字列にしてください。
plugin_author_url_empty author.url を指定する場合は空にできません。
plugin_author_url_not_https author.url には HTTPS URL を指定してください。
plugin_author_url_has_credentials author.url に認証情報は含められません。
plugin_author_url_too_long author.url は 2,048 文字以内にしてください。
plugin_author_url_character_unsupported author.url には使用可能な文字を使ってください。

掲載情報とインターフェースのエラー

プラグインマニフェストの interface オブジェクトには、ユーザーに表示する公開ディレクトリの掲載情報を定義します。このオブジェクトは .codex-plugin/plugin.json に記述し、displayName や shortDescription などのフィールドを使用します。

{
  "interface": {
    "displayName": "Example Plugin",
    "shortDescription": "Summarize documents",
    "longDescription": "Summarize and organize documents.",
    "developerName": "Example",
    "category": "Productivity",
    "capabilities": ["Summarize documents"]
  }
}

掲載情報に含める 4 つの URL(ウェブサイト、プライバシーポリシー、利用規約、サポート)は、スキルのみのプラグインを ZIP でアップロードする場合は任意です。リモート MCP の提出では必須です。各 URL の上限は、パッケージ検証時は 2,048 文字、ディレクトリへの最終提出時は 1,024 文字です。

エラー名 要件
plugin_interface_wrong_type プラグインマニフェストの interface フィールドは JSON オブジェクトにしてください。
plugin_display_name_wrong_type interface.displayName は文字列にしてください。
plugin_display_name_empty interface.displayName は必須で、空にはできません。
plugin_display_name_too_long interface.displayName は、パッケージ検証時は 80 文字以内、ディレクトリへの最終提出時は 30 文字以内にしてください。
plugin_display_name_character_unsupported interface.displayName には使用可能な文字を使ってください。
plugin_short_description_missing interface.shortDescription は必須です。1 行で記述し、パッケージ検証時は 240 文字以内、ディレクトリへの最終提出時は 30 文字以内にしてください。
plugin_short_description_wrong_type interface.shortDescription は文字列にしてください。
plugin_short_description_empty interface.shortDescription は空にできません。
plugin_short_description_too_long interface.shortDescription は、パッケージ検証時は 240 文字以内、ディレクトリへの最終提出時は 30 文字以内にしてください。
plugin_short_description_character_unsupported interface.shortDescription には使用可能な文字を使ってください。
plugin_long_description_wrong_type interface.longDescription は文字列にしてください。
plugin_long_description_empty interface.longDescription は必須で、空にはできません。
plugin_long_description_too_long interface.longDescription は 4,000 文字以内にしてください。
plugin_long_description_character_unsupported interface.longDescription には使用可能な文字を使ってください。改行を使用できます。
plugin_developer_name_wrong_type interface.developerName は文字列にしてください。
plugin_developer_name_empty interface.developerName は必須で、空にはできません。
plugin_developer_name_too_long interface.developerName は、パッケージ検証時は 120 文字以内、ディレクトリへの最終提出時は 80 文字以内にしてください。
plugin_developer_name_character_unsupported interface.developerName には使用可能な文字を使ってください。
plugin_category_wrong_type interface.category は文字列にしてください。
plugin_category_empty interface.category を指定する場合は空にできません。省略すると Other が使用されます。
plugin_category_unknown interface.category には、Productivity、Creativity、Developer Tools、Business & Operations、Data & Analytics、Communication、Education & Research、Security、Finance、Healthcare、Travel、Entertainment、Other のいずれかを指定してください。
plugin_category_character_unsupported interface.category には使用可能な文字を使ってください。
plugin_capabilities_wrong_type interface.capabilities は文字列のリストにしてください。
plugin_capabilities_too_many interface.capabilities の項目数は 20 件以内にしてください。
plugin_capability_wrong_type interface.capabilities の各項目は文字列にしてください。
plugin_capability_empty interface.capabilities に指定する項目は空にできません。
plugin_capability_too_long interface.capabilities の各項目は 120 文字以内にしてください。
plugin_capability_character_unsupported interface.capabilities の各項目には使用可能な文字を使ってください。
plugin_website_url_wrong_type interface.websiteURL を指定する場合は文字列にしてください。
plugin_website_url_empty interface.websiteURL を指定する場合は空にできません。
plugin_website_url_format interface.websiteURL には HTTPS URL を指定してください。
plugin_website_url_too_long interface.websiteURL は掲載情報の URL の文字数上限以内にしてください。
plugin_privacy_policy_url_wrong_type interface.privacyPolicyURL を指定する場合は文字列にしてください。
plugin_privacy_policy_url_empty interface.privacyPolicyURL を指定する場合は空にできません。
plugin_privacy_policy_url_format interface.privacyPolicyURL には HTTPS URL を指定してください。
plugin_privacy_policy_url_too_long interface.privacyPolicyURL は掲載情報の URL の文字数上限以内にしてください。
plugin_terms_of_service_url_wrong_type interface.termsOfServiceURL を指定する場合は文字列にしてください。
plugin_terms_of_service_url_empty interface.termsOfServiceURL を指定する場合は空にできません。
plugin_terms_of_service_url_format interface.termsOfServiceURL には HTTPS URL を指定してください。
plugin_terms_of_service_url_too_long interface.termsOfServiceURL は掲載情報の URL の文字数上限以内にしてください。
plugin_support_url_wrong_type interface.supportURL を指定する場合は文字列にしてください。
plugin_support_url_empty interface.supportURL を指定する場合は空にできません。
plugin_support_url_format interface.supportURL には HTTPS URL を指定してください。
plugin_support_url_too_long interface.supportURL は掲載情報の URL の文字数上限以内にしてください。
plugin_homepage_wrong_type homepage を指定する場合は文字列にしてください。
plugin_homepage_empty homepage を指定する場合は空にできません。
plugin_homepage_format homepage には HTTPS URL を指定してください。
plugin_homepage_too_long homepage は 2,048 文字以内にしてください。
plugin_brand_color_wrong_type interface.brandColor を指定する場合は文字列にしてください。
plugin_brand_color_empty interface.brandColor を指定する場合は空にできません。
plugin_brand_color_format interface.brandColor には、#1ABCFE のように 6 桁の 16 進数で色を指定してください。
plugin_brand_color_dark_wrong_type interface.brandColorDark を指定する場合は文字列にしてください。
plugin_brand_color_dark_empty interface.brandColorDark を指定する場合は空にできません。
plugin_brand_color_dark_format interface.brandColorDark には、#1ABCFE のように 6 桁の 16 進数で色を指定してください。
plugin_brand_color_contrast interface.brandColor には、白に対するコントラスト比が 2:1 以上の色を指定してください。
plugin_brand_color_dark_contrast interface.brandColorDark には、#212121 に対するコントラスト比が 2:1 以上の色を指定してください。
plugin_default_prompt_wrong_type interface.defaultPrompt には、文字列または文字列のリストを指定してください。
plugin_default_prompt_too_many interface.defaultPrompt に指定できるプロンプトは最大 3 件です。
plugin_default_prompt_entry_wrong_type interface.defaultPrompt の各項目は文字列にしてください。
plugin_default_prompt_empty interface.defaultPrompt に指定する項目は空にできません。
plugin_default_prompt_too_long interface.defaultPrompt の各項目は、パッケージ検証時は 512 文字以内、ディレクトリへの最終提出時は 128 文字以内にしてください。
plugin_default_prompt_character_unsupported interface.defaultPrompt の各項目には使用可能な文字を使い、1 行に収めてください。

プラグインの内容に関するエラー

エラー名 要件
plugin_skills_path_wrong_type skills には、ルートにある skills/ ディレクトリへのパスを文字列で指定してください。
plugin_skills_path_empty skills を指定する場合は、ルートにある skills/ ディレクトリへの空でないパスにしてください。
plugin_skills_path_unsupported skills のパスは、ルートにある skills/ ディレクトリを指す必要があります。
plugin_skills_directory_missing ルートの skills/ ディレクトリを宣言した場合、そのディレクトリが存在する必要があります。
plugin_skills_path_not_directory ルートの skills/ を宣言した場合、そのパスはディレクトリを指す必要があります。
plugin_apps_path_wrong_type apps には、ルートにある .app.json へのパスを文字列で指定してください。
plugin_apps_path_empty apps を指定する場合は、ルートにある .app.json への空でないパスにしてください。
plugin_apps_path_unsupported apps のパスは、ルートにある .app.json を指す必要があります。
plugin_apps_file_missing ルートの .app.json ファイルを宣言した場合、そのファイルが存在する必要があります。
plugin_apps_path_not_file ルートの .app.json を宣言した場合、そのパスは通常ファイルを指す必要があります。
plugin_mcp_path_wrong_type mcpServers には、ルートにある .mcp.json へのパスを文字列で指定してください。
plugin_mcp_path_empty mcpServers のパスは空にできません。./.mcp.json を指定するか、フィールドを削除してください。
plugin_mcp_path_unsupported mcpServers のパスは、ルートにある .mcp.json を指す必要があります。
plugin_mcp_file_missing mcpServers でルートの .mcp.json を宣言していますが、そのファイルが存在しません。
plugin_mcp_path_not_file ルートの .mcp.json は通常ファイルにしてください。
plugin_runtime_surface_missing 公開ディレクトリに提出する ZIP には、少なくとも 1 つの有効なスキル(または承認済みのローカル MCP サーバー)が必要です。ローカルまたはワークスペース用のパッケージでは、利用条件を満たす MCP サーバーを参照することもできます。

MCP マニフェストのエラー

以下のエラーは、互換性のための .mcp.json ファイルに関するものです。ポータブルパッケージの場合、取り込み時に、このファイルと .codex-plugin/plugin.json がルートの plugin.json と mcp.json から生成されます。前のセクションにあるコンポーネントのパスに関するエラーも、これらの生成ファイルを指す場合があります。生成元のポータブルパッケージの設定を修正してください。互換性に関する診断メッセージにファイル名が表示されたという理由だけで、mcp.json を .mcp.json に改名しないでください。

エラー名 要件
mcp_manifest_unreadable .mcp.json は読み取り可能な UTF-8 テキストにしてください。
mcp_manifest_json_malformed .mcp.json には有効な JSON を記述してください。構文エラーは行番号とともに報告されます。
mcp_manifest_wrong_type .mcp.json のトップレベルには JSON オブジェクトを指定してください。
mcp_servers_missing .mcp.json のトップレベルには mcpServers フィールドが必要です。
mcp_servers_wrong_type mcpServers はオブジェクトにしてください。
mcp_server_name_empty 各 MCP サーバー名には、空白文字以外の文字が少なくとも 1 文字必要です。
mcp_server_wrong_type mcpServers.<server-name> の各値は、該当するサーバーの宣言を含むオブジェクトにしてください。

スキルのエラー

エラー名 要件
skill_manifest_missing スキルには SKILL.md ファイルが必要です。
skill_bundle_too_large 圧縮後の各スキルバンドルは、エラーに表示される MiB 単位の上限以内にしてください。
skill_directory_hidden スキルのディレクトリ名の先頭に . は使用できません。
skill_manifest_nested 各スキルのディレクトリは skills/ の直下に配置してください。
skill_manifest_not_regular_file SKILL.md は通常ファイルにしてください。
skill_manifest_unreadable SKILL.md は読み取り可能にしてください。
skill_manifest_invalid_utf8 SKILL.md は有効な UTF-8 で記述してください。
skill_frontmatter_missing SKILL.md の先頭に、--- の行で囲んだ YAML フロントマターを記述してください。
skill_frontmatter_unclosed SKILL.md の YAML フロントマターの末尾には --- が必要です。
skill_frontmatter_yaml_malformed SKILL.md のフロントマターには有効な YAML を記述してください。
skill_frontmatter_wrong_type SKILL.md のフロントマターには YAML マッピングを記述してください。
skill_name_missing name は必須で、空にはできません。
skill_name_wrong_type name は文字列にしてください。
skill_name_empty name は空にできません。
skill_name_character_unsupported スキルのフロントマターの name には使用可能な文字を使ってください。
skill_description_missing description は必須で、空にはできません。
skill_description_wrong_type description は文字列にしてください。
skill_description_empty description は空にできません。
skill_description_too_long description は 1,024 文字以内にしてください。
skill_description_character_unsupported スキルのフロントマターの description には使用可能な文字を使ってください。
skill_body_empty スキルの指示は空にできません。
skill_identity_too_long プラグイン名とスキル名を結合した名前(plugin-name:skill-name)は 64 文字以内にしてください。
skill_identity_duplicate 各スキルの name はプラグイン内で重複しないようにしてください。

スキルのエージェントメタデータに関するエラー

同梱するスキルは、独自の interface を skills/<skill>/agents/openai.yaml に定義できます。この設定でユーザーに表示するスキルの情報を指定します。プラグインマニフェストの interface とは別の設定です。スキルのインターフェースのフィールド名には snake_case を使用します。

interface:
  display_name: "Summarize documents"
  short_description: "Summarize a document"
  icon_small: "./assets/icon.png"
  default_prompt: "Summarize the selected document."
エラー名 要件
skill_agent_not_regular_file agents/openai.yaml は通常ファイルにしてください。
skill_agent_unreadable agents/openai.yaml は読み取り可能にしてください。
skill_agent_invalid_utf8 agents/openai.yaml は有効な UTF-8 で記述してください。
skill_agent_yaml_malformed agents/openai.yaml には有効な YAML を記述してください。
skill_agent_top_level_wrong_type agents/openai.yaml のトップレベルには YAML マッピングを記述してください。
skill_agent_interface_missing interface は、agents/openai.yaml を同梱する場合に必須です。
skill_agent_interface_wrong_type interface は、agents/openai.yaml 内に YAML マッピングとして記述してください。
skill_agent_display_name_missing interface.display_name は必須で、空にはできません。
skill_agent_display_name_wrong_type interface.display_name は文字列にしてください。
skill_agent_display_name_empty interface.display_name は空にできません。
skill_agent_short_description_missing interface.short_description は必須で、空にはできません。
skill_agent_short_description_wrong_type interface.short_description は文字列にしてください。
skill_agent_short_description_empty interface.short_description は空にできません。
skill_agent_icon_small_wrong_type interface.icon_small を指定する場合は、ファイルへの空でない相対パスにしてください。
skill_agent_icon_small_empty interface.icon_small を指定する場合は、assets/icon.png のような、ファイルへの空でない相対パスにしてください。
skill_agent_icon_large_wrong_type interface.icon_large を指定する場合は、ファイルへの空でない相対パスにしてください。
skill_agent_icon_large_empty interface.icon_large を指定する場合は、assets/icon.png のような、ファイルへの空でない相対パスにしてください。
skill_agent_brand_color_wrong_type interface.brand_color を指定する場合は文字列にしてください。
skill_agent_brand_color_empty interface.brand_color を指定する場合は空にせず、#1ABCFE のように 6 桁の 16 進数で色を指定してください。
skill_agent_brand_color_format interface.brand_color には、#1ABCFE のように 6 桁の 16 進数で色を指定してください。
skill_agent_default_prompt_wrong_type interface.default_prompt を指定する場合は文字列にしてください。
skill_agent_default_prompt_empty interface.default_prompt を指定する場合は空にできません。
skill_agent_policy_wrong_type policy を指定する場合は YAML マッピングにしてください。
skill_agent_allow_implicit_invocation_wrong_type policy に指定できるのは products と allow_implicit_invocation のみです。products には CHAT、CODEX、またはその両方を含めてください。allow_implicit_invocation には true または false を指定してください。
skill_agent_dependencies_wrong_type dependencies は YAML マッピングにしてください。サポートされているのは tools のみです。
skill_agent_dependency_unsupported dependencies.tools のみが agents/openai.yaml でサポートされています。

アセットのパスに関するエラー

エラー名 要件
declared_asset_path_wrong_type エラーに示されたアセットフィールドには、ファイルパスを文字列で指定してください。
declared_asset_path_empty 該当するアセットフィールドは空にできません。
declared_asset_path_has_outer_whitespace 該当するアセットフィールドの値の先頭と末尾に空白文字は使用できません。
declared_asset_path_has_control_character 該当するアセットフィールドに U+0000~U+001F または U+007F の文字は使用できません。
branding_asset_path_missing_root_prefix 該当するアセットフィールドの値は ./ で始めてください。
declared_asset_path_unsafe 該当するアセットフィールドには、プラグイン内の相対パスを指定してください。絶対パス、ドライブの接頭辞、親ディレクトリに移動する .. セグメントは使用できません。
declared_asset_path_outside_package 該当するアセットフィールドは、プラグイン内のファイルを参照する必要があります。
declared_asset_file_missing 該当するアセットフィールドが参照しているファイルが存在しません。
declared_asset_not_regular_file 該当するアセットフィールドには通常ファイルを指定してください。ディレクトリや特殊ファイルは指定できません。

画像のエラー

ディレクトリに掲載するブランド画像には、サポートされているファイル形式を使用し、以下のファイルサイズと画像寸法の制限を守ってください。これらの要件は、パッケージに含まれるブランドアセットに適用されます。

エラー名 要件
plugin_logo_path_missing interface.logo は必須です。正方形の画像を指定してください。
plugin_composer_icon_path_missing interface.composerIcon は必須です。正方形の画像を指定してください。
image_file_unreadable 画像ファイルは読み取り可能にしてください。
image_file_too_large 画像のファイルサイズは 5 MiB 以下にしてください。
image_file_format_unsupported 画像のファイル名の末尾は .png、.jpg、.jpeg、.webp、.svg のいずれかにしてください。
raster_image_decode_failed ラスター画像には、安全にデコードできる PNG、JPEG、WebP のいずれかのファイルを使用してください。
raster_image_extension_content_mismatch 画像ファイルの拡張子は、検出された画像形式と一致させてください。
raster_image_not_square 画像は正方形にしてください。
raster_image_dimensions_too_small 画像の寸法は 48×48 ピクセル以上にしてください。
raster_image_dimensions_too_large 画像の寸法は 4,096×4,096 ピクセル以下にしてください。
svg_xml_malformed SVG には UTF-8 で有効な XML を記述してください。
svg_root_element_invalid SVG のルート要素は <svg> にしてください。
svg_dimensions_missing SVG では、viewBox を数値で定義するか、width と height の両方を数値で定義してください。
svg_dimensions_not_numeric SVG の寸法は数値で指定してください。単位やパーセント表記は使用できません。
svg_dimensions_not_positive SVG の幅と高さは、正の有限数にしてください。
svg_dimensions_not_square SVG の幅と高さは同じ値にしてください。
svg_dimensions_too_small SVG の寸法は 48×48 ピクセル以上にしてください。

MCP サーバー参照のエラー

プラグインが登録済みの MCP サーバーを参照している場合、共通のパッケージ検証で .app.json が検証されます。提出ポータルでは、既存の連携先への参照は公開されません。Skills only からアップロードすると .app.json が削除されます。With MCP から MCP サーバーを直接提出してください。

ローカルまたはワークスペース用のパッケージでは、トップレベルの apps オブジェクトで、各 MCP サーバーのエイリアスと登録済みのサーバーエントリを対応付けます。これらの設定名とエラーコードでは、app という表記をそのまま使用します。

エラー名 要件
app_manifest_unreadable .app.json は読み取り可能な UTF-8 テキストにしてください。
app_manifest_json_malformed .app.json の報告された行の付近に JSON の構文エラーがあります。
app_manifest_wrong_type .app.json のトップレベルには JSON オブジェクトを指定してください。
app_entries_missing apps は必須です。
app_entries_wrong_type apps はオブジェクトにしてください。
app_entry_wrong_type 各サーバーエントリはオブジェクトにしてください。
app_id_missing 各サーバーエントリの id は必須です。
app_id_wrong_type 各サーバーエントリの id は文字列にしてください。
app_id_format 各サーバーエントリの id は asdk_app_、connector_、templated_apps_ のいずれかで始め、その直後に英字または数字を置いてください。それ以降に使用できるのは、英字、数字、_、- のみです。
app_entry_optional_wrong_type サーバーエントリの optional を指定する場合は、true または false にしてください。
app_entry_required_wrong_type サーバーエントリの required を指定する場合は、true または false にしてください。
app_not_eligible ローカルまたはワークスペース用のパッケージでは、利用条件を満たし、現在利用可能な MCP サーバーを参照してください。ディレクトリに提出する場合は、With MCP から MCP サーバーを直接提出してください。

パッケージの警告

以下の警告は、検証時に無視または正規化されるパッケージの内容を示します。警告があっても提出できます。提出するプラグインに意図したファイルや設定が含まれているか、警告の内容を確認してください。

警告名 要件
duplicate_app_reference .app.json 内の各サーバー ID は 1 回だけ参照してください。重複する参照は 1 つのサーバーとして扱われます。
undeclared_app_manifest_ignored ルートの .app.json が取り込まれるのは、プラグインマニフェストの apps フィールドに ./.app.json を指定した場合のみです。
undeclared_mcp_manifest_ignored ルートの .mcp.json が取り込まれるのは、プラグインマニフェストの mcpServers フィールドに ./.mcp.json を指定した場合のみです。
skill_file_ignored skills/ 直下のファイルはスキルとして取り込まれません。各スキルは、SKILL.md を含むディレクトリに配置してください。
skill_symlink_ignored skills/ 直下のシンボリックリンクはスキルとして取り込まれません。各スキルには、SKILL.md を含む実体のあるディレクトリが必要です。
skill_frontmatter_adjusted スキルの name と description は、取り込み時に正規化されます。先頭と末尾の空白文字が削除され、内部で連続する空白文字は 1 つにまとめられます。
skill_metadata_ignored スキルのインターフェースを設定するには、interface マッピングを agents/openai.yaml に記述してください。metadata を SKILL.md に記述してもインターフェースは設定されません。

次のステップ

すべての検証エラーを解消したら、プラグインの提出に戻り、提出を完了してください。