feat: add Claude Code plugin manifest#462
Conversation
jrusso1020
left a comment
There was a problem hiding this comment.
Verdict: approve
Clean port of the Codex/Cursor pattern. Structure matches: in-repo manifest at .claude-plugin/plugin.json alongside .codex-plugin/ and (inbound in #461) .cursor-plugin/, README addendum next to the Codex install note, marketplace-visible branding through the description field.
Schema compliance looks right. I spot-checked the Claude Code plugin manifest schema — the 7 fields you include (name / description / version / author / homepage / repository / license) are all valid; displayName / title / icon / logo are indeed rejected, so the in-README submission notes are the right place for them.
Skill discovery is actually wired correctly — but subtly: when a manifest is present without a skills field (your case), Claude Code falls back to the default skills/ directory at the plugin root. That works for us because the repo already ships skills/ at root (shared with Codex + Cursor) so all five SKILL.md files get picked up automatically. Worth a single-line note somewhere — the manifest or the README — saying "Claude Code auto-discovers skills/ by convention when the manifest omits the field" so the next maintainer doesn't wonder why Codex points at ./skills/ explicitly but the Claude manifest doesn't. Non-blocking.
"HyperFrames by HeyGen" naming + white-bg icons line up with what just shipped in #461 + the openai/plugins branding refresh → the three plugin surfaces will read as the same product.
Two non-blocking notes:
-
Dark and light SVGs are byte-identical. Both have
<rect width="100" height="100" fill="white"/>+ the same two gradient paths. That's consistent with the Codex/Cursor "white bg everywhere" decision James made today, so functionally it's fine. But the-dark/-lightnaming implies the marketplace submission form will present it as two theme-specific slots, and uploading identical files to both could look like a sub-pass on a reviewer. Options I'd consider before submission: (a) upload the same asset once if the form allows, (b) make-dark.svgactually dark-theme-appropriate (e.g. dark bg so the green-cyan gradient reads on a light theme after inversion), or (c) leave as-is and accept the "two identical uploads" shape. Worth a sanity check against the Claude marketplace submission UI. -
README merge conflict with #461. My Cursor plugin PR inserts a one-line addendum at the exact same position — right between the Codex
codex plugin marketplace add ...block and the "Try it" section. Whichever of the two lands first will force a 1-line rebase on the other. I'd propose: let #461 (pending James's merge) land first since it also carries the "HyperFrames by HeyGen" title update + the asset swap, then rebase this; the rebase is trivially "move your insertion one line down past the Cursor block". Or the other way around — either is fine, just flagging so we don't both push into a conflict.
No blockers. Skills, pattern, schema all line up. Ship on James's go-ahead.
Review by hyperframes
Adds .claude-plugin/plugin.json so the repo can be loaded as a Claude Code plugin. Reuses the existing skills/ directory — all 5 skills (hyperframes, gsap, hyperframes-cli, hyperframes-registry, website-to-hyperframes) are auto-discovered under the hyperframes: namespace.
9500b2c to
2d34c9f
Compare
Summary
.claude-plugin/plugin.json, alongside the existing Codex plugin surfaceREADME.mdnext to the Codex install noteassets/claude-code-icon-dark.svgandassets/claude-code-icon-light.svgHyperFrames by HeyGenskills/directory when the manifest omits askillsfieldDiff
.claude-plugin/plugin.jsonREADME.mdassets/claude-code-icon-dark.svgassets/claude-code-icon-light.svgVerification
claude plugin validate .Notes
displayName,title,icon, andlogo, so the explicit marketplace title/icon choice is documented in-repo for submission rather than encoded inplugin.json.assets/claude-code-icon-dark.svgnow uses a black background andassets/claude-code-icon-light.svguses a white background./Users/miguel07code/dev/hyperframes-oss/.claude/worktrees/feat+claude-code-pluginfor any follow-up fixes.