Conform to Agent Plugins v1.0.0 alongside Claude Code's format - #25
Merged
Conversation
Each plugin's existing skills/*/SKILL.md layout already matches what the open spec (agent-plugins.org) expects, so the only gap was a manifest at the plugin root instead of .claude-plugin/. Add that plugin.json to every plugin, keep it in lockstep with the Claude Code manifest and marketplace entry via bump-version.py, and add a CI check that enforces the spec's closed field schema.
Greptile SummaryThe PR adds Agent Plugins v1.0.0 manifests alongside Claude Code manifests and keeps their versions synchronized through validation and bump automation.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the workflow now stages the root open-spec manifests updated by the version bump script, resolving the previously reported stale-manifest issue.
|
| Filename | Overview |
|---|---|
| .github/workflows/version-bump.yml | The staging command now includes every root-level open-spec manifest updated by the bump script, resolving the previously reported omission. |
| scripts/bump-version.py | Version bumps now validate and update an optional open-spec manifest alongside the Claude and marketplace manifests. |
| .github/workflows/validate.yml | CI validates opted-in open-spec manifests against the closed schema and checks marketplace name/version agreement. |
| README.md | Documentation now explains the dual-manifest layout and synchronized versioning workflow. |
| plugins/core/plugin.json | Representative new Agent Plugins v1.0.0 manifest matches the core plugin’s marketplace identity and version. |
Reviews (2): Last reviewed commit: "fix(ci): stage the open-spec plugin.json..." | Re-trigger Greptile
bump-version.py already edits plugins/<dir>/plugin.json in lockstep with the Claude Code manifest, but version-bump.yml's commit step staged files by explicit name and didn't know about the new one — so the automated post-merge bump would leave it at the old version, failing validate.yml's new closed-schema check on main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
plugin.jsonto each of the seven plugins, conforming to the Agent Plugins v1.0.0 open spec, alongside the existing.claude-plugin/plugin.jsonthat Claude Code reads.skills/*/SKILL.mdlayout already matched the open spec's discovery rules, so no restructuring was needed there — just the manifest.scripts/bump-version.pyso the open-spec manifest's version stays in lockstep with.claude-plugin/plugin.jsonand themarketplace.jsonentry on every automated bump..github/workflows/validate.yml) enforcing the spec's closed field schema and name/version agreement for any plugin that ships the open-spec manifest.README.md's repository layout and versioning sections to describe the dual manifest.Test plan
python3 scripts/check-links.py— passes, no broken links./scripts/sync-references.sh --check— passes./scripts/bump-version.py --level patch core --dry-run— correctly reports the bump, confirming the script's new open-spec sync path worksplugin.jsonfiles parse as valid JSON and preserve literal (non-escaped) unicode from the source manifests