Repository navigation
chore: fill in the missing manifest fields and keep shared values in one place - #93
Merged
Merged
Conversation
…one place - Add repository to the Claude Code and Codex manifests, and category to the Antigravity manifest and both marketplace entries. - Add displayName and the directory listing fields (icon, documentation, support, privacy policy and terms of service links) to the Claude Code manifest. - Drop the empty Codex screenshots list. - scripts/plugin-metadata.json now holds the values every manifest shares. scripts/sync-manifests.mjs writes them into each manifest and the README sample output, and its --check mode runs in CI so the manifests can't drift. Co-Authored-By: Claude Opus 5.5 <[email protected]>
renanfagundes
marked this pull request as ready for review
October 21, 2026 09:22
agy 1.4 reports category as an unknown field, which fails validate --strict. Co-Authored-By: Claude Opus 5.5 <[email protected]>
scripts/build-codex-zip.mjs checks the manifests match plugin-metadata.json, stages a unity/ folder with the skills (no evals/ or tests/), both manifests, the README, the license and the logos, then writes dist/unity-codex-<version>.zip and prints the version and skill count. Co-Authored-By: Claude Opus 5.5 <[email protected]>
chris-addison
previously approved these changes
Oct 21, 2026
…n CI Node 24 runs the .mts files directly. The workflow now runs tsc against scripts/tsconfig.json (strict, erasable syntax only) before the drift check. Co-Authored-By: Claude Opus 5.5 <[email protected]>
ziyiunity
approved these changes
Oct 21, 2026
ziyiunity
left a comment
Collaborator
There was a problem hiding this comment.
Looks good, and it fixes the version drift across manifests. I ran it locally: sync-manifests --check passes, and the zip builds with 32 skills and no evals or tests. Two small things: 'C:\Windows' in build-codex-zip.mts is C:Windows at runtime since \W isn't an escape, so it should be 'C:\\Windows'. And sync-manifests rewrites any 0.x.y in .github/README.md, so a mention of another tool's version (the Codex CLI is 0.x) would get overwritten; matching only the sample output lines would be safer.
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.
Run-NaN:
Every platform manifest now has the fields its listing reads, and the shared values live in one file so they can't drift.
What changed
plugin.json: addsdisplayName,repository, and the fields Anthropic's directory reads for the listing (icon,documentationUrl,supportUrl,privacyPolicyUrl,termsOfServiceUrl).plugin.json: addsrepositoryand drops the emptyscreenshotslist.plugin.json: getsrepositoryand the shared values from the sync. Nocategory:agy1.4 rejects it as an unknown field.category.scripts/plugin-metadata.jsonholds version, author, homepage, repository, license, keywords and category.node scripts/sync-manifests.mtswrites them into every manifest and the README sample output. A release now means changingversionthere and running the script.node scripts/build-codex-zip.mtsbuildsdist/unity-codex-<version>.zipfor OpenAI's plugin portal. It refuses to build if the manifests drift, leaves outevals/andtests/, and prints the version and skill count to check before uploading.Validate manifestsworkflow typechecks the scripts withtsc(strict), then runssync-manifests.mts --checkand fails if any manifest drifts. The scripts are TypeScript and run directly on Node 24.Deliberately not added
versionon the Claude marketplace entry:plugin.jsonwins at install andclaude plugin validatewarns when both are set.author,homepage,license,keywords) on the Claude marketplace entry: entry values overrideplugin.json, and the relative./source already lets Claude Code readplugin.jsonbefore install.owneranddescriptionin.agents/plugins/marketplace.json: the Codex marketplace schema doesn't define them.plugin.json(the newer Codex layout): Antigravity also reads a rootplugin.json, so the Codex settings stay in.codex-plugin/.claude plugin validate . --stricton a clean checkout (Claude Code 2.1.289)node scripts/sync-manifests.mts --checkplugin-metadata.json--checkexits 1 and lists the three manifests and the READMEagy plugin validate .(Antigravity CLI 1.4.4)--strictfails onmaintoo: six skills are over the 24,000-byte body limit (see below)validate_plugin.py(last published version; Codex removed it from the CLI in September)requires_local_executor, which is already onmainand in the approved 0.1.8-beta listingFound, not fixed here: Antigravity loads only the first 24,000 bytes of a skill body, so six skills are cut off there:
unity-cli,migrate-birp-to-urp,levelplay-unity-integration,physics-3d-collision,optimize-webandlocalization. The fix is moving detail intoreferences/in each skill's source repo, not here.Also worth confirming
policy.authentication: "ON_USE"in.agents/plugins/marketplace.json: current OpenAI docs listON_INSTALLandON_FIRST_USE. This PR leaves it unchanged.No version bump here, so installed users see no change until the next release.
🤖 Generated with Claude Code