Files
wehub-resource-sync d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:55 +08:00
..

plugins/ecc — Codex Repo-Marketplace Plugin Target

This directory is the plugin folder that .agents/plugins/marketplace.json points at. Codex does not discover plugins whose local marketplace source.path is the marketplace root itself (./), so the marketplace entry must target a concrete plugin subdirectory — verified against Codex CLI 0.137.0 and the official plugin docs ($REPO_ROOT/plugins/<name>).

Single source of truth

Per the repo's no-duplication policy, no skill or MCP content is vendored here. .codex-plugin/plugin.json references the canonical root content with parent-relative paths:

Manifest field Resolves to
skills skills/ at the repo root
mcpServers .mcp.json at the repo root
interface.composerIcon / interface.logo assets/ at the repo root

The canonical Codex plugin manifest for the repo-root bundle (used by the official openai/plugins directory shape and other harness tooling) remains at .codex-plugin/plugin.json. Keep name and version in both manifests in sync — tests/plugin-manifest.test.js enforces this and scripts/release.sh bumps both.

Current Codex plugin-mode status

With this layout, codex plugin marketplace add affaan-m/ECC discovers and installs ecc@ecc. Runtime skill loading from repo marketplaces is still unreliable upstream — Codex copies only the plugin folder into its install cache, and local/personal marketplace plugins are not always exposed at runtime (see openai/codex#26037 and affaan-m/ECC#2128).

After install, codex plugin list is not enough to prove the runtime can load the referenced skills and assets. From an ECC checkout, run:

node scripts/codex/check-plugin-cache.js

The check inspects the installed cache under CODEX_HOME (or ~/.codex) and fails if .codex-plugin/plugin.json points at files that were not copied into that cache entry.

Until the upstream discovery issues settle, the supported Codex path is the manual sync flow documented in the README:

npm install && bash scripts/sync-ecc-to-codex.sh