Skip to content

feat(plugins): add Cursor plugin manifest + refresh marketplace branding#461

Merged
jrusso1020 merged 4 commits intomainfrom
feat/cursor-plugin-manifest
Apr 23, 2026
Merged

feat(plugins): add Cursor plugin manifest + refresh marketplace branding#461
jrusso1020 merged 4 commits intomainfrom
feat/cursor-plugin-manifest

Conversation

@jrusso1020
Copy link
Copy Markdown
Collaborator

@jrusso1020 jrusso1020 commented Apr 23, 2026

What

Two coupled changes to how HyperFrames shows up in agent marketplaces:

  1. Adds a Cursor plugin — a new .cursor-plugin/plugin.json at the repo root, alongside the existing .codex-plugin/plugin.json. Both pull from the same skills/ and assets/ at the root, so this repo becomes the single source of truth for the Codex plugin AND the Cursor plugin (same pattern the Codex submission already uses).
  2. Refreshes marketplace branding — swaps the 1024×308 "HeyGen HyperFrames" wordmark in assets/logo.png for a 1024×1024 symbol-only icon rasterized from docs/favicon.svg (the Mintlify docs favicon at hyperframes.heygen.com), and renames the marketplace display title from "HyperFrames" to "HyperFrames by HeyGen" in both manifests.

Why

Codex shipped a HyperFrames plugin via openai/plugins#185 and it surfaced two issues once it went live in the marketplace:

  • Claude Code / Cursor users have asked for an equivalent — same skills, different marketplace. Since the five skills already live at skills/ at the repo root, the cleanest shape is to register the Cursor plugin in-repo (Cursor's template explicitly supports "single plugin at root") rather than maintain a standalone mirror. Single source of truth: any skill update flows through to both Codex and Cursor consumers via this repo, no mirror to sync.
  • The marketplace listing shows a text-only "HeyGen HyperFrames" lockup, which reads as unpolished next to peers like Canva / Remotion / BioRender that all lead with a square brand icon. The branding refresh swaps to the symbol-only mark and makes the "by HeyGen" authorship explicit in the title.

A parallel PR goes out to openai/plugins with the same asset + displayName swap, so both marketplace listings stay visually aligned from the first render.

How

Five files changed, +43 / -4 lines:

  1. New .cursor-plugin/plugin.json — mirrors the existing .codex-plugin/plugin.json minus the Codex-specific interface block (displayName/defaultPrompt/capabilities/brandColor/etc. — Cursor's plugin.schema.json rejects those with additionalProperties: false) and with author.url moved to top-level homepage (Cursor's author schema is {name, email} only). Points at the same skills/, assets/logo.png, and LICENSE the Codex side uses.
  2. README addendum — one sentence next to the existing Codex install note pointing users at the Cursor Marketplace or the "Load unpacked" sideload path.
  3. assets/logo.png — 1024×308 wordmark → 1024×1024 symbol-only icon, transparent background, rasterized from docs/favicon.svg via rsvg-convert.
  4. assets/icon.png — 512×512 symbol on solid black → 512×512 symbol with transparent background, same source.
  5. Manifest displayName.codex-plugin/plugin.json's interface.displayName and .cursor-plugin/plugin.json's displayName both bumped from "HyperFrames" to "HyperFrames by HeyGen".

Both PNGs are freshly rasterized from the canonical SVG, so the mark is pixel-perfect at 32 / 64 / 128 / 512 / 1024 and renders cleanly against both light and dark marketplace themes.

Test plan

  • .cursor-plugin/plugin.json parses as JSON and validates against plugin.schema.json (name matches the kebab-case regex; author only has {name, email}; skills is a single string pointing at the existing skills/ dir).
  • All 5 existing skills/*/SKILL.md files have valid YAML frontmatter with name: and description: (required by Cursor's skill contract — unchanged).
  • New assets verified visually at 32 / 128 / 512 px — clean edges, correct green-to-cyan gradient, fully transparent background.
  • Clone cursor/plugin-template and run node scripts/validate-template.mjs before submitting to the Cursor Marketplace.
  • Load locally in Cursor as an unpacked plugin; verify skill routing + npx hyperframes shell invocation works inside Cursor's sandbox.
  • Documentation updated — README addendum added.

Once reviewed + merged, the Cursor submission goes via cursor.com/marketplace/publish (or the kniparko@anysphere.com email path per the template README), and the openai/plugins branding PR lands independently on OpenAI's review track.

— Jerrai

Mirrors the existing Codex plugin setup (same skills/, same assets/,
same LICENSE) for Cursor's marketplace. Drops a .cursor-plugin/plugin.json
at the repo root per Cursor's "single plugin at root" convention, and adds
a short install note in the README next to the Codex instructions.

The Cursor manifest is the Codex one minus the Codex-specific `interface`
block (displayName/defaultPrompt/capabilities/etc. — Cursor's plugin.schema.json
rejects those with additionalProperties: false) and with `author.url` moved to
top-level `homepage` (Cursor's author schema is `{name, email}` only).

Single source of truth: any skill update in skills/ flows through to both
Codex and Cursor consumers via the same repo, no mirror.
…Gen" title

Mirrors the branding refresh going out to openai/plugins (follow-up to
openai/plugins#185) so the Codex sparse-install path and the new Cursor
Marketplace submission stay visually aligned.

- assets/logo.png: 1024x308 wordmark → 1024x1024 symbol-only icon,
  rasterized from docs/favicon.svg at 1024 px, transparent background
- assets/icon.png: 512x512 symbol on black → 512x512 symbol with
  transparent background, same source
- .codex-plugin/plugin.json: interface.displayName "HyperFrames" →
  "HyperFrames by HeyGen"
- .cursor-plugin/plugin.json: displayName "HyperFrames" → "HyperFrames
  by HeyGen"

No skill content changes; only marketplace-visible branding.
@jrusso1020 jrusso1020 changed the title feat(plugins): add Cursor plugin manifest feat(plugins): add Cursor plugin manifest + refresh marketplace branding Apr 23, 2026
Re-rasterize docs/favicon.svg with a white background instead of
transparent so the symbol reads the same on every marketplace theme
(was transparent, which rendered as whatever page bg the viewer had).
@jrusso1020 jrusso1020 merged commit d125d65 into main Apr 23, 2026
24 checks passed
@jrusso1020 jrusso1020 deleted the feat/cursor-plugin-manifest branch April 23, 2026 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants