宿主能力矩阵
本页在文档构建时由固定版本的宿主能力表 amp-0.0.0-20260907001852-gf348fed.json、claude-2.1.260.json、codex-0.147.0.json、cursor-2026-08-28.json、portable-1.0.0.json 渲染而成。这些 JSON 文件是每个目标适配器编译时依赖的唯一事实来源;请修改它们而不是本页。表格内容保留英文原文。
每个目标适配器都会把归一化后的 bundle 投影到一份固定的能力表上:这份 JSON 文档记录了证据所对应的宿主版本、宿主读取的路径,以及每项能力是 supported、degraded 还是 unavailable,并附带书面原因。没有任何推断:缺少证据的能力即为不可用,绝不会默默猜测。supported 的契约行不是现场执行;“运行时证明”一节记录这条单独的轴。
固定宿主
运行时证明
supported 或 degraded 的契约行不是宿主现场执行。仅当现场激活、工具或事件已与类型契约分开核查时,才会记录 runtimeProof 行。unverified 表示适配器已通过契约核对,现场激活尚未运行。没有该行的宿主只表示此处没有这类核查记录——并不等于已获证明。
安装方式
路径令牌
MCP 传输与令牌字段
tasks 列记录固定版本的宿主客户端是否会发出任务增强的 tools/call 请求(MCP 2025-11-25 Tasks 工具:params.task、CreateTaskResult、tasks/get、tasks/result、tasks/cancel、tasks/list)。生成的服务器会为任何声明了 config.execution.taskSupport 的工具路由提供这一生命周期;本列描述的是宿主,而不是服务器。unavailable 表示文档或观测表明该宿主只发送普通调用,原因与证据见下表。
各宿主的任务增强调用
structuredContentValidation 行记录固定版本的宿主客户端是否会把 tools/call 的参数对照 inputSchema、把 structuredContent 对照 outputSchema 进行校验,以及采用哪一种 JSON Schema 方言语义。生成的服务器公布的是可互操作的 2020-12 投影——元组表示为 prefixItems 加上取各位置 schema 并集的 items,绝不使用 items: false——因此合法结果既能通过 2020-12 校验器,也能通过非严格模式的 draft-07 校验器;degraded 表示宿主的校验器按不同于所声明方言的语义读取 schema,unavailable 表示没有记录到客户端侧校验,此时生成的服务器自身对照路由 zod schema 的校验是唯一一道检查。
各宿主的结构化内容校验
会话谱系
每张表的 lineage 部分:宿主向常驻运行时提供了哪些关于 request.lineage 背后会话树的信息。subagent-events 表示宿主是否发出子代理 start/stop 钩子,root 表示每个载荷是否都给出根会话,parent 与 depth 表示子代理如何被放到其父节点之下(只有当子代理自己的载荷给出父节点时才是 supported;由运行时注册表按 spawn 调用顺序放置、再由宿主事后确认时为 degraded),mcp-correlation 表示生成的 MCP 工具调用如何匹配到产生它的钩子窗口。degraded 行记录注册表的做法及其确定程度;supported 行记录证据。request.lineage 上的 resolution 字段报告是哪条路径给出了答案(native、registry、confirmed、inferred)。
谱系行详情
已记录的第三方客户端
每张表的 clients 部分:会读取该目标已经产出的构件的其他代理,按其自身文档以及阅读文档的日期固定记录。这些客户端不是目标适配器——它们不会改变编译器写出的任何内容——因此每一行都是关于既有构件读取方的证据,而不是一种投影。tier 表示客户端加载什么:agent-plugins 把产出的包作为一个插件加载,skills 表示它不读取清单、只加载自己能识别的组件,none 表示按当前产出形态它什么都不加载。读取文档与运行文档所配置的内容是两行不同的记录:mcp 表示客户端会把产出的 mcp.json 当作 MCP 配置读取,而 placeholders 表示它会展开保留占位符 ${PLUGIN_ROOT} / ${PLUGIN_DATA} 并把它们提供给所启动的进程。优先级按文件、按界面生效——某个文件在 mcp 上胜出并不影响技能树被发现,只有清单胜出才会替换整个插件。安装操作带有其自身文档给定的角色——install 会把产物、或客户端唯一能识别的那个组件复制进它自己的存储,而 register 只是让客户端就地读取产出的目录树;对本产物没有已验证的本地目录安装形式的客户端,按其文档确实公布的来源记录:索引化的 marketplace 名称,或 Git repository。没有证据的界面一律为 unavailable 并附带带日期的原因,原因中明确写出该客户端实际需要的是什么。
客户端界面
客户端发现
插件组件
每张表的 plugin 部分,按点分能力路径展开并按顶层键分组。布尔条目表示适配器会发出的组件;带状态的条目记录宿主证据支持或保留该能力的原因。证据说明保留在 JSON 文件中。
amp 0.0.1788739286-gf348fe
entry
entry—.amp/plugins/<name>/index.js
manifest
manifest—null
marketplace
marketplace—null
commands
commandsunavailable — Agent Bundle does not project command-palette commands from its canonical command documents.
rules
rulesunavailable — Amp plugin discovery has no plugin-root rules component.
lsp
lspunavailable — The pinned PluginAPI declares no language-server registration surface.
nativeDiagnostics
nativeDiagnosticsunavailable — The pinned PluginAPI declares no native diagnostics-provider component.
nativeExtension
nativeExtensionunavailable — The pinned PluginAPI declares no opaque native extension component.
claude 2.1.260
agents
agents.componentunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately defers Agent Bundle's authored plugin agents/ component until a separate evidence-backed increment. · 2 条证据说明agents.nameunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent name field together with agents/ emission. · 3 条证据说明agents.descriptionunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent description field together with agents/ emission. · 2 条证据说明agents.modelunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent model field together with agents/ emission. · 2 条证据说明agents.effortunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent effort field together with agents/ emission. · 2 条证据说明agents.maxTurnsunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent maxTurns field together with agents/ emission. · 2 条证据说明agents.toolsunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent tools field together with agents/ emission. · 2 条证据说明agents.disallowedToolsunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent disallowedTools field together with agents/ emission. · 2 条证据说明agents.skillsunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent skills field together with agents/ emission. · 2 条证据说明agents.memoryunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent memory field together with agents/ emission. · 2 条证据说明agents.backgroundunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent background field together with agents/ emission. · 2 条证据说明agents.isolationWorktreeunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds authored plugin-agent isolation: worktree together with agents/ emission. · 2 条证据说明agents.hooksunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately defers the plugin-agent surface on which Agent Bundle would lower hooks as unsupported on Claude plugins: the sub-agents reference marks the field "Ignored for plugin subagents", so a re-admitted agents/ component must reject it with a diagnostic rather than emit a field the host drops silently. · 5 条证据说明agents.mcpServersunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately defers the plugin-agent surface on which Agent Bundle would lower mcpServers as unsupported on Claude plugins: the sub-agents reference marks the field "Ignored for plugin subagents", so a re-admitted agents/ component must reject it with a diagnostic rather than emit a field the host drops silently. · 5 条证据说明agents.permissionModeunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately defers the plugin-agent surface on which Agent Bundle would lower permissionMode as unsupported on Claude plugins: the sub-agents reference marks the field "Ignored for plugin subagents", so a re-admitted agents/ component must reject it with a diagnostic rather than emit a field the host drops silently. · 5 条证据说明agents.colorunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent color field together with agents/ emission. · 3 条证据说明agents.initialPromptunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent initialPrompt field together with agents/ emission. · 3 条证据说明agents.experimentalCacheTtlunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately withholds an authored plugin-agent experimental.cacheTtl field together with agents/ emission. · 3 条证据说明
bin
bin.bareCommandssupportedbin.bashPathsupportedbin.directory—binbin.enabledOnlysupportedbin.organizationDistributionProhibitedsupported
channels
channels.bindsToPluginMcpServersupportedchannels.perChannelUserConfigsupported
commandFrontmatter
commandFrontmattersupported —fields.allowedTools:allowed-tools·fields.argumentHint:argument-hint·fields.description:description·fields.disableModelInvocation:disable-model-invocation·fields.model:model· 2 条证据说明
commands
commandssupported
dependencies
dependencies.autoInstallsupporteddependencies.autoInstallExceptions—command-source,headersHelperdependencies.crossMarketplaceAllowlist—allowCrossMarketplaceDependenciesOndependencies.entryForms—name,objectdependencies.errorCodes—dependency-unsatisfied,range-conflict,dependency-version-unsatisfied,no-matching-tagdependencies.objectFields—marketplace,name,versiondependencies.prereleaseOptInsupporteddependencies.prunesupporteddependencies.rangeIntersectionsupporteddependencies.semverRangessupporteddependencies.tagConvention—{name}--v{version}
distributionPolicy
distributionPolicy.skillsDirectoryPluginsunavailable — Agent Bundle emits a plugin directory but does not place it in a Claude skills directory or register the host-owned @skills-dir identity. · 2 条证据说明distributionPolicy.skillsDirectoryProjectTrustunavailable — Agent Bundle cannot grant or inspect the workspace trust required before Claude loads a project-scope @skills-dir plugin. · 1 条证据说明distributionPolicy.skillsDirectoryMcpApprovalunavailable — Agent Bundle can emit plugin MCP configuration but cannot complete Claude's per-server approval for a project-scope @skills-dir plugin. · 1 条证据说明distributionPolicy.skillsDirectoryLspTrustunavailable — Agent Bundle can emit plugin LSP configuration but cannot satisfy Claude's workspace-trust gate for a project-scope @skills-dir plugin. · 1 条证据说明distributionPolicy.skillsDirectoryMonitorsunavailable — Agent Bundle cannot make Claude load background monitors from a project-scope @skills-dir plugin, which the host explicitly skips. · 1 条证据说明distributionPolicy.pluginInstallScopessupported — 3 条证据说明distributionPolicy.pluginReloadunavailable — Agent Bundle cannot reload or restart a running Claude session after plugin files or installed versions change. · 3 条证据说明distributionPolicy.pluginTrustGatesunavailable — Agent Bundle cannot accept Claude workspace-trust, server-managed-settings approval, or command-source confirmation prompts on a user's behalf. · 2 条证据说明distributionPolicy.syncedPluginsunavailable — Agent Bundle cannot synchronize or administer the @synced plugins attached to a user's claude.ai account. · 2 条证据说明distributionPolicy.managedPluginScopeunavailable — Agent Bundle cannot create, remove, enable, or disable managed-scope plugins; Claude exposes that host-owned scope as read-only and update-only. · 1 条证据说明distributionPolicy.managedStrictKnownMarketplacesunavailable — Agent Bundle does not emit or override the organization-managed strictKnownMarketplaces allowlist. · 2 条证据说明distributionPolicy.managedBlockedMarketplacesunavailable — Agent Bundle does not emit or override the organization-managed blockedMarketplaces denylist. · 2 条证据说明distributionPolicy.managedDisableSideloadFlagsunavailable — Agent Bundle cannot configure or bypass disableSideloadFlags in Claude managed settings. · 1 条证据说明distributionPolicy.managedDisableCommandPluginSourcesunavailable — Agent Bundle emits no managed setting that can permit, block, or exempt Claude command plugin sources. · 2 条证据说明distributionPolicy.managedAllowManagedHooksOnlyunavailable — Agent Bundle cannot configure allowManagedHooksOnly or claim that emitted plugin commands are exempt from that managed policy. · 2 条证据说明distributionPolicy.managedPluginSuggestionsunavailable — Agent Bundle does not emit the managed pluginSuggestionMarketplaces allowlist or marketplace relevance signals for contextual installation suggestions. · 2 条证据说明distributionPolicy.pluginCliLifecycleunavailable — Agent Bundle emits Claude plugin artifacts but does not invoke Claude's plugin creation, installation, state, update, inspection, or release commands. ·commands:init,new,install,uninstall,prune,enable,disable,update,list,details,tag· 2 条证据说明distributionPolicy.marketplaceCliLifecycleunavailable — Agent Bundle emits marketplace manifests but does not add, list, remove, or update marketplaces in a user's Claude configuration. ·commands:add,list,remove,update· 2 条证据说明
packageLifecycle
packageLifecycle.nodeDependencyInstallunavailable — Agent Bundle emits compile-time plugin artifacts but does not currently place package.json plus a supported lockfile at the plugin root or run Claude's host-owned dependency install in a copied cache entry. ·manifest:package.json·commands.bun.lock:bun install --frozen-lockfile --ignore-scripts·commands.bun.lockb:bun install --frozen-lockfile --ignore-scripts·commands.npm-shrinkwrap.json:npm ci --ignore-scripts·commands.package-lock.json:npm ci --ignore-scripts·lockfilePrecedence:bun.lock,bun.lockb,npm-shrinkwrap.json,package-lock.json·timeoutSeconds:60· 5 条证据说明packageLifecycle.yarnPnpmInstallAlternativeunavailable — Agent Bundle does not run automatic Yarn or pnpm installs; Claude skips those lockfiles at host install time, while authors must explicitly install such dependencies from a hook into persistent plugin data. ·skippedLockfiles:yarn.lock,pnpm-lock.yaml·persistentDataToken:${CLAUDE_PLUGIN_DATA}· 2 条证据说明packageLifecycle.pluginCacheLifecycleunavailable — Agent Bundle emits compile-time artifacts; cache copying or linking, resolved-version directory naming, orphan marking and sweeping, symlink materialization, and host component path-escape rejection happen during Claude installation and runtime. ·cacheRoot:~/.claude/plugins/cache·orphanGraceDays:14· 6 条证据说明packageLifecycle.pluginPathSubstitutiondegraded — Agent Bundle lowers and validates its canonical path tokens in structured Claude MCP, LSP, settings, generated-hook, and monitor fields, but authored Skill content and target-native hook documents remain opaque compile-time payloads and actual placeholder substitution is owned by Claude at runtime. ·tokens:${CLAUDE_PLUGIN_ROOT},${CLAUDE_PLUGIN_DATA},${CLAUDE_PROJECT_DIR}·fields.skillAndAgentContent:anywhere·fields.hookCommands:command,args·fields.monitorCommands:command·fields.mcpStdio:command,args,env·fields.mcpRemote:url,headers,headersHelper·fields.lsp:command,args,env,workspaceFolder· 4 条证据说明packageLifecycle.pluginDataLifecycleunavailable — Agent Bundle can emit ${CLAUDE_PLUGIN_DATA} references but cannot observe the last installed scope, prompt for deletion, delete persistent data, or apply Claude's --keep-data uninstall option. ·deleteOnLastScopeUninstall:true·cliDeleteDefault:true·keepDataFlag:--keep-data· 2 条证据说明
experimentalThemes
experimentalThemes.defaultDirectory—themesexperimentalThemes.experimentalsupportedexperimentalThemes.manifestField—experimental.themesexperimentalThemes.readOnlysupported
devtools
devtools.detailssupporteddevtools.listJsonsupporteddevtools.pluginDirsupporteddevtools.strictValidationsupporteddevtools.tagsupporteddevtools.validatesupported
lsp
lsp.config—.lsp.jsonlsp.manifestField—lspServerslsp.manifestFieldTypes—array,object,stringlsp.optionalFields—args,diagnostics,env,initializationOptions,maxRestarts,restartOnCrash,settings,shutdownTimeout,startupTimeout,transport,workspaceFolderlsp.pathTokenFields—args,command,env,workspaceFolderlsp.requiredFields—command,extensionToLanguagelsp.transports—socket,stdiolsp.vendorsServerBinaryunavailable
nativeDiagnostics
nativeDiagnosticsunavailable — The pinned Claude plugin contract (2.1.260) documents no standalone diagnostics-provider component; diagnostics reach Claude Code only through thediagnosticsoption of an.lsp.jsonlanguage server, which is thelspkind. · 1 条证据说明
nativeExtension
nativeExtensionunavailable — The pinned Claude plugin contract (2.1.260) documents no editor or native extension component; Claude Code plugins are CLI-loaded component trees, and IDE integrations ship separately from the plugin manifest. · 1 条证据说明
metadata
metadata.defaultEnabled.defaultsupportedmetadata.defaultEnabled.dependencyRequirementPrecedencesupportedmetadata.defaultEnabled.fieldsupportedmetadata.defaultEnabled.marketplaceEntryPrecedencesupportedmetadata.defaultEnabled.persistedEnabledPluginsPrecedencesupportedmetadata.displayName.fallback—namemetadata.displayName.fieldsupportedmetadata.freeform.fieldsupportedmetadata.freeform.hostReadsValuesunavailablemetadata.freeform.nonObjectHandling—warning-and-ignoremetadata.freeform.strictValidation—failuremetadata.standardFields—$schema,author,description,homepage,keywords,license,repository,version
monitors
monitors.commandTokens—${CLAUDE_PLUGIN_ROOT},${CLAUDE_PLUGIN_DATA},${CLAUDE_PROJECT_DIR},${ENV_VAR}monitors.config—monitors/monitors.jsonmonitors.defaultWhen—alwaysmonitors.experimentalsupportedmonitors.interactiveCliOnlysupportedmonitors.manifestField—experimental.monitorsmonitors.monitorToolRequiredsupportedmonitors.projectScopeSkillsDirectoryPluginsunavailablemonitors.userConfigSubstitutionunavailablemonitors.unsandboxedsupported
manifest
manifest—.claude-plugin/plugin.json
marketplace
marketplace—.claude-plugin/marketplace.json
marketplaceManifest
marketplaceManifest.allowCrossMarketplaceDependenciesOnsupportedmarketplaceManifest.entryAuthenticationFields—headers,headersHelpermarketplaceManifest.entryMetadataFields—$schema,author,category,defaultEnabled,description,displayName,homepage,keywords,license,metadata,repository,strict,tags,versionmarketplaceManifest.entryRelevanceSignals—cli,cwd,filesRead,hosts,manifestDepsmarketplaceManifest.generatedSourceForms—relativemarketplaceManifest.sourceMatrix.archiveIntegrity—sha256-64-hexmarketplaceManifest.sourceMatrix.authoredForms—relative,github,url,git-subdir,npm,archive,commandmarketplaceManifest.sourceMatrix.generatedDefault—relativemarketplaceManifest.sourceMatrix.gitPinFields—ref,shamarketplaceManifest.sourceMatrix.shaOverridesRefsupportedmarketplaceManifest.sourceMatrix.versionGates.archive—2.1.224marketplaceManifest.sourceMatrix.versionGates.command—2.1.229marketplaceManifest.sourceMatrix.versionGates.pluginRootBareName—2.1.239marketplaceManifest.renamessupportedmarketplaceManifest.topLevelFields—$schema,allowCrossMarketplaceDependenciesOn,description,metadata,name,owner,plugins,renames,version
paths
paths.addsToDefault—skillspaths.fieldTypes—array,stringpaths.ignoredDefaultFolderWarningsupportedpaths.marketplaceRootSkillsSubdirectoriesReplaceDefaultsupportedpaths.relativePrefix—./paths.replacesDefault—agents,commands,experimental.monitors,experimental.themes,outputStyles,workflowspaths.skillsRootException—.paths.skillsRootExceptionSince—2.1.221
outputStyles
outputStyles.allowedSuffixes—.mdoutputStyles.directory—output-stylesoutputStyles.frontmatterFields—description,force-for-plugin,keep-coding-instructions,nameoutputStyles.manifestField—outputStylesoutputStyles.replacesDefaultsupported
settings
settings.config—settings.jsonsettings.placeholderSubstitutionunavailablesettings.precedesManifestSettingssupportedsettings.subagentStatusLineFields—command,typesettings.supportedKeys—agent,subagentStatusLinesettings.unknownKeysIgnoredsupported
skillFeatures
skillFeatures.hostFrontmattersupported — 1 条证据说明skillFeatures.markdownTokenssupported — 1 条证据说明
skills
skillssupported
userConfig
userConfig.envVarPrefix—CLAUDE_PLUGIN_OPTION_userConfig.installConfigFlagsupporteduserConfig.optionalFields—default,max,min,multiple,required,sensitiveuserConfig.projectSettingsIgnoredsupporteduserConfig.requiredFields—type,title,descriptionuserConfig.sensitiveStoragesupporteduserConfig.settingsSources—managed,--settings,useruserConfig.shellSubstitutionRejected—hookShellCommands,monitorCommands,mcpHeadersHelperuserConfig.substitutionToken—${user_config.KEY}userConfig.types—boolean,directory,file,number,string
workflows
workflows.directory—workflowsworkflows.fileContents—opaqueworkflows.manifestField—workflowsworkflows.replacesDefaultsupported
web
websupported — browser host inside the composite artifact; <plugin> web runs from the installed root on any host
codex 0.147.0
apps
apps.registeredMcpMappingssupported — 1 条证据说明
components
components.lspunavailable — The pinned Codex plugin contract publishes no LSP server surface; language-server configuration reaches Claude Code only. · 1 条证据说明components.nativeDiagnosticsunavailable — The pinned Codex plugin contract publishes no diagnostics-provider component; plugin-shipped diagnostics have no schema-backed authoring field, so the compiler emits none. · 1 条证据说明components.nativeExtensionunavailable — The pinned Codex plugin contract publishes no plugin-shipped editor or native extension component; the host-managed browser-extension part has no authoring field, so the compiler emits none. · 1 条证据说明
overviewSurfaces
overviewSurfaces.mcpUidegraded — Agent Bundle compiles MCP Apps asui://resources with_metapassthrough served by the compiled MCP server, which is the open MCP Apps contract that ChatGPT renders; Codex CLI 0.147.0 renders no components, so the emitted UI is inert there and every tool remains usable without it. Rendering is a ChatGPT host surface, not a Codex plugin artifact. · 3 条证据说明overviewSurfaces.browserExtensionsunavailable — Browser extensions are host-managed plugin parts with no schema-backed authoring field in the pinned .codex-plugin/plugin.json contract; the compiler infers nothing and the closed manifest schema rejects any authored field until a package contract publishes one. · 2 条证据说明overviewSurfaces.scheduledTaskTemplatesunavailable — Scheduled task templates are host-managed plugin parts with no schema-backed authoring field in the pinned .codex-plugin/plugin.json contract; the compiler infers nothing and the closed manifest schema rejects any authored field until a package contract publishes one. · 2 条证据说明
hookEnvironment
hookEnvironment.claudePluginDatasupported — 1 条证据说明hookEnvironment.claudePluginRootsupported — 1 条证据说明hookEnvironment.pluginDatasupported — 1 条证据说明hookEnvironment.pluginRootsupported — 1 条证据说明
interface
interface.assetssupported — 1 条证据说明interface.brandColorsupported — 1 条证据说明interface.categoryCapabilitiessupported — 1 条证据说明interface.descriptionssupported — 1 条证据说明interface.identitysupported — 1 条证据说明interface.starterPromptssupported — 1 条证据说明interface.urlssupported — 1 条证据说明
manifest
manifest—.codex-plugin/plugin.json
marketplace
marketplace—.agents/plugins/marketplace.json
manifestPackage
manifestPackage.manifestMetadatasupported —fields:author.name,author.email,author.url,homepage,repository,license,keywords· 2 条证据说明manifestPackage.manifestPathsdegraded — The adapter emits canonical component locations and validates all documented forms, but it has no authored config surface for selecting custom component paths or inline component objects. ·admitted.hooks:path,path-array,inline-object,inline-object-array·admitted.mcpServers:path,inline-object·admitted.skills:path·emitted.hooks:./hooks/hooks.json·emitted.mcpServers:./.mcp.json·emitted.skills:./skills/· 3 条证据说明manifestPackage.optionalAssetsunavailable — The Codex adapter copies selected assets but cannot author composerIcon, logo, logoDark, or screenshots references in the manifest. ·assets:interface.composerIcon,interface.logo,interface.logoDark,interface.screenshots· 2 条证据说明manifestPackage.submissionPolicyunavailable — Public submission requirements are portal-owned distribution policy with no compiler-authored or compiler-validation surface. ·constraints:Apps Management write access,verified developer or business identity,listing and policy URLs,production MCP review materials,five positive and three negative test cases,country or region availability,release notes and policy attestations· 3 条证据说明
mcpServerPolicy
mcpServerPolicy.approvalModesunavailable — Plugin MCP approval modes are host-owned user configuration underplugins.<plugin>.mcp_servers.<server>; the compiler emits plugin artifacts and does not write the user's config.toml. · 1 条证据说明mcpServerPolicy.enabledunavailable — Plugin MCP enabled state is host-owned user configuration underplugins.<plugin>.mcp_servers.<server>; the compiler emits plugin artifacts and does not write the user's config.toml. · 1 条证据说明mcpServerPolicy.toolsunavailable — Plugin MCP tool selection is host-owned user configuration underplugins.<plugin>.mcp_servers.<server>; the compiler emits plugin artifacts and does not write the user's config.toml. · 1 条证据说明
skillFeatures
skillFeatures.hostFrontmattersupported — 1 条证据说明skillFeatures.markdownTokensunavailable — The pinned Codex skills contract (0.147.0) documents no Skill Markdown interpolation placeholders; a skill body token has no Codex equivalent and fails closed (AB3008). · 1 条证据说明
skills
skillssupported
web
websupported — browser host inside the composite artifact; <plugin> web runs from the installed root on any host
cursor 2026-08-28
agents
agents.componentunavailable — The #100 stage-2 G5 gate, merged in PR #220 and preserved by #107 revision 3, deliberately defers Agent Bundle's authored plugin agents/ component; Cursor documents the component, but this compiler emits no agents/ directory or manifest agents pointer until a later stage admits it. · 2 条证据说明
canvases
canvasesunavailable — Cursor advertises plugin canvases without publishing a schema-backed authoring contract; no canvas component is inferred from marketplace examples, so this compiler emits none. · 1 条证据说明
commandFrontmatter
commandFrontmatterunavailable — The pinned Cursor commands surface is frontmatter-free Markdown: the lowering emits the prompt body only, so authored command frontmatter fields do not reach Cursor. ·fields:allowedTools,argumentHint,description,disableModelInvocation,model· 2 条证据说明
commands
commandssupported
componentDiscovery
componentDiscoverysupported —defaults.agents:agents/ (.md, .mdc, .markdown)·defaults.commands:commands/ (.md, .mdc, .markdown, .txt)·defaults.hooks:hooks/hooks.json·defaults.mcpServers:mcp.json·defaults.rootSkill:SKILL.md at the plugin root (only without skills/ and without a manifest skills field)·defaults.rules:rules/ (.md, .mdc, .markdown)·defaults.skills:skills/<name>/SKILL.md·emitted.commands:./commands/·emitted.hooks:./.cursor-plugin/hooks.json·emitted.mcpServers:./.cursor-plugin/mcp.json·emitted.rules:./rules/·emitted.skills:./skills/·replacement:manifest-path-replaces-default-scan· 2 条证据说明
contract
contract—cursor-plugin
distributionPolicy
distributionPolicy.autoRefreshunavailable — Agent Bundle emits marketplace documents but does not configure dashboard Auto Refresh, install the Cursor GitHub App, or trigger manual re-indexing. · 1 条证据说明distributionPolicy.installModesunavailable — Installation modes are set per plugin by team admins in Dashboard -> Plugins; no plugin manifest or marketplace field declares them, so this compiler emits nothing for them. ·modes:Default Off,Default On,Required· 1 条证据说明distributionPolicy.localPluginImportsunavailable — Agent Bundle's installer copies into ~/.cursor/plugins/local but cannot grant the admin-controlled Allow Local Plugin Imports setting a Teams or Enterprise user needs before Cursor discovers the copy. · 1 条证据说明distributionPolicy.localSymlinkInstallunavailable — The generated installer and doctor guidance copy the built bundle instead of symlinking it: Cursor's docs now show a symlink, but the observed loader rejected symlinks resolving outside ~/.cursor/plugins/local, and a copy loads under both readings. · 3 条证据说明distributionPolicy.marketplaceAccessunavailable — Marketplace scope and access are dashboard settings on the team's marketplace, not plugin-authored fields; this compiler emits nothing for them. · 1 条证据说明distributionPolicy.marketplaceReviewunavailable — Agent Bundle emits a checklist-conformant artifact (manifest, relative pointers, declared variables, copied logo) but does not host it in a Git repository, submit it, or complete Cursor's manual review. · 1 条证据说明distributionPolicy.teamMarketplacesunavailable — Team marketplaces are created and populated in the Cursor dashboard from a Git repository; this compiler emits the repository-side .cursor-plugin/marketplace.json only. · 1 条证据说明
formats
formats.agentPluginunavailable — The cursor target emits the full Cursor Plugin format only; the portable Agent Plugin format is emitted by the portable target and is never mixed into this artifact. ·manifest:plugin.json· 2 条证据说明formats.cursorPluginsupported —manifest:.cursor-plugin/plugin.json· 1 条证据说明
lsp
lspunavailable — The pinned Cursor Plugin contract publishes no LSP server component; language intelligence is editor-owned and not a plugin component pointer, so language-server configuration reaches Claude Code only. · 1 条证据说明
nativeDiagnostics
nativeDiagnosticsunavailable — The pinned Cursor Plugin contract publishes no diagnostics-provider component, so the compiler emits none. · 1 条证据说明
nativeExtension
nativeExtensionunavailable — The pinned Cursor Plugin contract publishes no plugin-shipped editor extension component; editor extensions are outside the plugin manifest at this pin, so a plugin cannot vendor or register one. · 1 条证据说明
ruleFrontmatter
ruleFrontmattersupported —fields:alwaysApply,description,globs· 1 条证据说明
skillFeatures
skillFeatures.hostFrontmattersupported — 1 条证据说明skillFeatures.markdownTokensunavailable — The pinned Cursor skills contract (2026-08-28) documents no Skill Markdown interpolation placeholders; a skill body token has no Cursor equivalent and fails closed (AB3008). · 1 条证据说明
localInstall
localInstall.method—copylocalInstall.root—~/.cursor/plugins/local/<name>
manifest
manifest—.cursor-plugin/plugin.json
manifestMetadata
manifestMetadatasupported —authoredFields:author.name,author.email,homepage,repository,license,keywords,publisher,category,tags,minClientVersions·generatedFields:name,displayName,description,version,logo,commands,hooks,mcpServers,rules,skills,variables·schemaOnlyFields:displayName,publisher,category,tags,minClientVersions· 3 条证据说明
marketplace
marketplace—.cursor-plugin/marketplace.json
marketplaceManifest
marketplaceManifestsupported —entryFields:name,source,description,version,author,homepage,repository,license,keywords,logo,category,tags,skills,rules,agents,commands,hooks,mcpServers,variables·generatedEntryFields:name,source,description·maxEntries:500·mergePrecedence:plugin-manifest-over-marketplace-entry· 3 条证据说明
rootSkill
rootSkillunavailable — Agent Bundle always emits skills under skills/<name>/SKILL.md with an explicit manifest skills pointer, so the root SKILL.md single-skill fallback is never produced. · 1 条证据说明
rules
rulessupported
schema
schema—cursor/plugins@070189284e702e8a4d2e3cc8913994b204c5337a:schemas/plugin.schema.json
skills
skillssupported
variables
variablessupported —acceptedKeywords:type,title,description,default,enum,const,properties,required,items,length and numeric constraints·secretValuesEmitted:false· 2 条证据说明
web
websupported — browser host inside the composite artifact; <plugin> web runs from the installed root on any host
portable 1.0.0
cursorLocalInstall
cursorLocalInstall.placeholderExpansionsupported — Cursor 3.18.25 expands no Agent Plugins placeholder, provides no PLUGIN_ROOT/PLUGIN_DATA, defaults an omitted cwd to the home directory and resolves ./ commands against the workspace (spec §7.2.1/§9); the emitted installer rewrites mcp.json in the ~/.cursor/plugins/local/<name> copy with absolute paths (PLUGIN_DATA = ~/.cursor/agent-bundle/plugin-data/<name>, created), keeps the shipped document in the receipt, and Doctor proves the expanded paths (AB7326). Never claimed as Cursor behaviour: the bundle itself still relies on the consuming client. ·installer:install.mjs (emitted with the portable bundle)·provenance:derived· 2 条证据说明
extensionDirectories
extensionDirectoriesunavailable — 2026-09-02: Agent Plugins 1.0.0 §8.2 reserves top-level reverse-domain directories for client-owned files; the compiler emits no client extension directory because no pinned client publishes a file-based namespace contract for this format (https://agent-plugins.org/specification).
extensions
extensionssupported —configKey:portable.extensions· 1 条证据说明
lsp
lspunavailable — The portable Agent Plugin contract (1.0.0) defines only skills and MCP components; it has no LSP server surface. · 1 条证据说明
manifest
manifest—plugin.json
manifestMetadata
manifestMetadatasupported —configKey:portable·fields:author,homepage,keywords,license,repository· 1 条证据说明
nativeDiagnostics
nativeDiagnosticsunavailable — The portable Agent Plugin contract (1.0.0) defines only skills and MCP components; it has no native diagnostics surface. · 1 条证据说明
nativeExtension
nativeExtensionunavailable — The portable Agent Plugin contract (1.0.0) defines only skills and MCP components; it has no native extension surface, and its reverse-domainextensionsmetadata is not one. · 1 条证据说明
skillFeatures
skillFeatures.hostFrontmatterunavailable — The Agent Skills specification pinned for the portable target defines only the portable frontmatter fields; host-specific extensions are not emitted in the portable SKILL.md. · 1 条证据说明skillFeatures.markdownTokensunavailable — The Agent Skills specification pinned for the portable target documents no Skill Markdown interpolation placeholders; a skill body token has no portable equivalent and fails closed (AB3008). · 1 条证据说明
skills
skillssupported
web
websupported — browser host inside the composite artifact; <plugin> web runs from the installed root on any host