Skip to content

Give Codex the plugin's icon, brand colour and descriptions - #46

Merged
poiley merged 1 commit into
mainfrom
codex-interface-metadata
Oct 8, 2026
Merged

poiley merged 1 commit into
mainfrom
codex-interface-metadata

Conversation

@poiley

@poiley poiley commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Why

Since primitivedotdev/codex-plugin#1, Codex installs this repository as the Primitive plugin. The old Codex-only manifest (display name, descriptions, brand colour, default prompt) and icon were dropped in that change, and nothing here replaced them. Codex currently falls back to the plain manifest fields: lowercase primitive as the display name, no icon, no brand colour.

What

  • plugin.json: adds extensions["com.openai"].interface with the display name, descriptions, capabilities, default prompt, brand colour #0B0B0F and icon. The long description is updated to cover all eight skills. extensions is part of the Agent Plugins schema, so the manifest still validates.
  • assets/icon.png: the 512x512 icon recovered from the codex-plugin history. The old manifest never referenced it; it is now wired as composerIcon and logo.
  • scripts/check-plugin-manifests.mjs: CI fails if the block is missing or its icon paths do not exist.

Verified

With codex-cli 0.158.0 and an empty Codex home:

  • Before (published plugin): the app server's plugin/list returns displayName: "primitive" with no icon or brand colour.
  • After (this branch): plugin/list returns displayName: "Primitive", brandColor: "#0B0B0F", the capabilities and default prompt, and composerIcon / logo resolved to assets/icon.png. All 8 skills and both MCP servers still install.
  • plugin.json validates against the Agent Plugins 1.0.0 schema; claude plugin validate --strict still passes; the manifest check exits 1 when the icon is moved.

Not verified: the rendered result in the Codex app UI.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GyPxukNc4q4iWXGurGtrvK

Codex now installs this repository as the Primitive plugin, but the
manifest carried no Codex presentation data, so the plugin showed up
with a lowercase name, no icon and no brand colour. Add the icon and an
OpenAI extension block to plugin.json, and have CI fail if the block or
the icon it points at goes missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GyPxukNc4q4iWXGurGtrvK
@poiley
poiley merged commit 8a2d4d6 into main Oct 8, 2026
5 checks passed
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

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.

1 participant