Add a Codex plugin from a GitHub repo to a repo or personal marketplace using the current Codex plugin layout and marketplace metadata.
Use when the user gives a GitHub repo for a Codex plugin and wants it available in Codex.
Follow the current Codex plugin docs. Do not invent alternate install flows.
owner/reporepo or personal.codex-plugin/plugin.json..codex-plugin/plugin.json and validate the canonical structure:
name, version, and description should exist.skills, apps, and mcpServers should be relative to the plugin root and start with ./.plugin.json.codex-plugin/@plugin-creator skill when the task is to scaffold a new local plugin or add an existing local plugin to a marketplace. Use the manual path below when you are wiring up a repo the user already provided.SKILL.md, into a marketplace-visible location. Default to the documented standard locations unless the repo already uses a different valid marketplace-relative path:
repo: $CWD/plugins/<plugin-name> and $CWD/.agents/plugins/marketplace.jsonpersonal: ~/.codex/plugins/<plugin-name> and ~/.agents/plugins/marketplace.jsonskills/, .app.json, .mcp.json, assets/, and any other plugin files. Do not move those files under .codex-plugin/.nameinterface.displayNamenamesource.source = "local"source.path relative to the marketplace root:
repo: ./plugins/<plugin-name>personal: ./.codex/plugins/<plugin-name>policy.installationpolicy.authenticationcategorypolicy.installation = "AVAILABLE"policy.authentication = "ON_INSTALL"category from interface.category when present, otherwise Productivity/plugins.~/.codex/plugins/cache/<marketplace>/<plugin>/<version>/.local.~/.codex/config.toml.repo marketplace and personal marketplace over workspace and global.plugins/ as the complete install. The marketplace entry is what makes the plugin discoverable in Codex.name stable and consistent across folder, manifest, and marketplace entry../-prefixed where the docs require it.source.path remains valid and stays inside the marketplace root.Use repo when the plugin should live with one repo or be shared through that repo's marketplace. Use personal when the plugin should be available from the user's own Codex setup across projects.