Skip to content

feat(codex): add codex plugin with oauth mcp sign-in - #27

Merged
Jordan Harband (ljharb) merged 1 commit into
SocketDev:mainfrom
ljharb:feat/codex-plugin
Nov 5, 2026
Merged

Jordan Harband (ljharb) merged 1 commit into
SocketDev:mainfrom
ljharb:feat/codex-plugin

Conversation

@ljharb

@ljharb Jordan Harband (ljharb) commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Ship an OpenAI Codex plugin so Codex users install every Socket skill in one step and sign in to the hosted Socket MCP server with their Socket account instead of pasting one organization's API token.

  • scripts/repo/generate-codex-plugin.mts writes skills/.codex-plugin/plugin.json, skills/.codex-plugin/mcp.json, and .agents/plugins/marketplace.json from .claude-plugin/plugin.json. The plugin root is skills/, so a Codex install copies only skill content. Output matches the repo formatter byte for byte.
  • mcp.json points at https://mcp.socket.dev/ with its advertised scopes and no bearer setting, so Codex runs OAuth (dynamic client registration + PKCE).
  • Register the generator in publish.mts and classify .agents as a shipped root entry. The Codex path helpers live in scripts/repo/paths.mts, and the generator uses the repo's own scripts/repo/util/main.mts entry point, like the Cursor generator.
  • .gitignore keeps ignoring .agents/ except .agents/plugins/marketplace.json.
  • Skill-dir test helpers skip dot dirs; manifest consistency covers the Codex manifest and marketplace.
  • socket-connect: Codex sign-in row and tool-name example.
  • README Codex section: marketplace add, install, MCP login, CLI auth, and migration from single-skill plugins.

Testing


Note

Medium Risk
Introduces Codex install/auth wiring (OAuth MCP config and ON_INSTALL policy) that affects how users connect to Socket, though changes are generated manifests and docs with strong generator guardrails and tests.

Overview
Adds first-class OpenAI Codex support via a repo-root marketplace (.agents/plugins/marketplace.json) and a bundled socket-skills plugin whose root is skills/, so one install ships every skill plus hosted MCP access.

A new generate-codex-plugin.mts generator (wired into publish.mts) derives skills/.codex-plugin/plugin.json, skills/.codex-plugin/mcp.json, and the marketplace from .claude-plugin/plugin.json, discovers top-level skill dirs, and formats JSON to match the repo checker. The MCP artifact points at https://mcp.socket.dev/ with scoped OAuth (no bearer env), and the generator is constrained to only write under skills/.codex-plugin/ and .agents/plugins/ so it never touches the fleet root .mcp.json.

Repo hygiene updates track .agents as a shipped surface, gitignore everything under .agents except the marketplace manifest, and extend structural tests (dot-dir skill exclusion, Codex version sync, marketplace ↔ manifest name checks). README Codex docs now cover marketplace add, plugin install, codex mcp login socket, CLI token auth for non-interactive runs, and removing legacy per-skill Codex plugins to avoid duplicate skills.

Reviewed by Cursor Bugbot for commit a9c8471. Configure here.

Ship an OpenAI Codex plugin so Codex users install every Socket skill
in one step and sign in to the hosted Socket MCP server with their
Socket account instead of pasting one organization's API token.

- scripts/repo/generate-codex-plugin.mts writes
  skills/.codex-plugin/plugin.json, skills/.codex-plugin/mcp.json, and
  .agents/plugins/marketplace.json from .claude-plugin/plugin.json.
  The plugin root is skills/, so a Codex install copies only skill
  content. Output matches the repo formatter byte for byte.
- mcp.json reuses the shared `socket` server name and URL, with the
  server's advertised scopes and no bearer setting, so Codex runs OAuth
  (dynamic client registration + PKCE).
- Register the generator in publish.mts, classify .agents as a shipped
  root entry, and re-include only .agents/plugins/marketplace.json in
  the repo .gitignore cutout.
- Skill-dir test helpers skip dot dirs; manifest consistency covers
  the Codex manifest, marketplace, and server URL.
- socket-connect: Codex sign-in row and tool-name example.
- README Codex section: marketplace add, install, MCP login, CLI auth,
  and migration from single-skill plugins.
@ljharb
Jordan Harband (ljharb) merged commit b2d518c into SocketDev:main Nov 5, 2026
10 checks passed
@ljharb
Jordan Harband (ljharb) deleted the feat/codex-plugin branch November 5, 2026 21:48
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