You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since #1341 conformed root plugin.json to the Agent Plugins v1.0.0 $schema, the oh-my-pi (omp) marketplace install documented in the README loads 3 of 33 skills. All /skill:<name> commands (/skill:ce-setup, /skill:ce-plan, /lfg, ...) are missing and skill:// resolution fails after a session restart. This is the observed breakage #1342's posture anticipated ("strict Agent Plugins clients loading 4 of 32 skills") — omp 17.3.5 is a shipping conformant client, so this is no longer a hypothetical.
Environment
Host: oh-my-pi (omp) 17.3.5 (@oh-my-pi/pi-coding-agent), Linux
Root plugin.json declares "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json" (added in #1341). omp 17.3.5 routes packages that declare this standard to its strict agent-plugins discovery provider (priority 75) and excludes them from the lenient legacy omp-plugins provider (priority 90) via legacyProviderAllowed() — for a standard package, surface === "skills" returns false.
The agent-plugins provider validates each SKILL.md frontmatter against the closed Agent Skills field set (name, description, license, allowed-tools, metadata, compatibility); any other key rejects the skill (validateAgentSkillFrontmatter, mirroring the skills-ref reference validator). Additionally allowed-tools must be a string.
Rejection breakdown across the 33 skills in 3.22.0:
Net result: the documented omp install yields a plugin whose skills are invisible. omp plugin list shows the plugin installed and enabled; the session skill registry simply contains none of them (verified against omp 17.3.5 source: src/discovery/agent-plugin-format.tsvalidateAgentSkillFrontmatter, src/discovery/agent-plugins.tsscanStandardSkills, src/discovery/omp-plugins.tsallowedRoots).
Note: #1342 states the skill-frontmatter gap is "load-bearing on Claude Code" and defers conformant emission to a converter target. Nothing in this issue argues against that for Claude Code — but the current root manifest now actively breaks a documented, shipping install target (omp), which the plan did not anticipate ("No shipping conformant Agent Plugins client is known as of 2026-08-06").
Proposed fix
Options, in order of recommendation:
Drop the $schema declaration from root plugin.json (revert the conformance swap, keep the metadata mirror). Unparseable/absent $schema falls back to legacy conventions on every client: omp's legacy omp-plugins provider then loads all 33 skills (it requires only description, which every skill has), agy accepts the manifest ({name, version} is its verified minimal form, per docs/specs/antigravity.md), and Grok/Codex/Claude paths are unaffected. This restores all documented hosts today at the cost of deferring docs(plans): add Agent Plugins v1.0.0 manifest conformance plan #1342's conformance goal until the emission path exists.
Implement the deferred converter target now (from docs(plans): add Agent Plugins v1.0.0 manifest conformance plan #1342's scope boundaries): emit a conformant package that relocates argument-hint / disable-model-invocation under metadata: and serializes allowed-tools as a string, then point the marketplace source at the emitted tree. Larger change; preserves the conformance bet.
title: fix(manifest): Agent Plugins $schema swap breaks skill loading on oh-my-pi (omp)
Summary
Since #1341 conformed root
plugin.jsonto the Agent Plugins v1.0.0$schema, the oh-my-pi (omp) marketplace install documented in the README loads 3 of 33 skills. All/skill:<name>commands (/skill:ce-setup,/skill:ce-plan,/lfg, ...) are missing andskill://resolution fails after a session restart. This is the observed breakage #1342's posture anticipated ("strict Agent Plugins clients loading 4 of 32 skills") — omp 17.3.5 is a shipping conformant client, so this is no longer a hypothetical.Environment
Host: oh-my-pi (omp) 17.3.5 (
@oh-my-pi/pi-coding-agent), LinuxPlugin:
compound-engineering@compound-engineering-plugin3.22.0Install path used: the README-documented flow
Problem
Root
plugin.jsondeclares"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json"(added in #1341). omp 17.3.5 routes packages that declare this standard to its strictagent-pluginsdiscovery provider (priority 75) and excludes them from the lenient legacyomp-pluginsprovider (priority 90) vialegacyProviderAllowed()— for a standard package,surface === "skills"returnsfalse.The
agent-pluginsprovider validates eachSKILL.mdfrontmatter against the closed Agent Skills field set (name,description,license,allowed-tools,metadata,compatibility); any other key rejects the skill (validateAgentSkillFrontmatter, mirroring the skills-ref reference validator). Additionallyallowed-toolsmust be a string.Rejection breakdown across the 33 skills in 3.22.0:
argument-hint(unknown field)disable-model-invocation(unknown field)allowed-toolsis a YAML list, not a stringNet result: the documented omp install yields a plugin whose skills are invisible.
omp plugin listshows the plugin installed and enabled; the session skill registry simply contains none of them (verified against omp 17.3.5 source:src/discovery/agent-plugin-format.tsvalidateAgentSkillFrontmatter,src/discovery/agent-plugins.tsscanStandardSkills,src/discovery/omp-plugins.tsallowedRoots).Note: #1342 states the skill-frontmatter gap is "load-bearing on Claude Code" and defers conformant emission to a converter target. Nothing in this issue argues against that for Claude Code — but the current root manifest now actively breaks a documented, shipping install target (omp), which the plan did not anticipate ("No shipping conformant Agent Plugins client is known as of 2026-08-06").
Proposed fix
Options, in order of recommendation:
$schemadeclaration from rootplugin.json(revert the conformance swap, keep the metadata mirror). Unparseable/absent$schemafalls back to legacy conventions on every client: omp's legacyomp-pluginsprovider then loads all 33 skills (it requires onlydescription, which every skill has),agyaccepts the manifest ({name, version}is its verified minimal form, perdocs/specs/antigravity.md), and Grok/Codex/Claude paths are unaffected. This restores all documented hosts today at the cost of deferring docs(plans): add Agent Plugins v1.0.0 manifest conformance plan #1342's conformance goal until the emission path exists.argument-hint/disable-model-invocationundermetadata:and serializesallowed-toolsas a string, then point the marketplacesourceat the emitted tree. Larger change; preserves the conformance bet.argument-hint/disable-model-invocationinto the Agent Skills / Agent Plugins spec (already listed as follow-up in docs(plans): add Agent Plugins v1.0.0 manifest conformance plan #1342) — unblocks strict clients long-term but doesn't fix today's breakage.Workaround (user-side)
Remove the
$schemaline from the cached plugin manifest and restart omp:# ~/.omp/plugins/cache/plugins/compound-engineering-plugin___compound-engineering___3.22.0/plugin.jsonRe-applies after every plugin upgrade.
Security Disclosure
No security-relevant changes.