- suggest-compact hook now reads the latest usage record from the session transcript and suggests /compact at a window-scaled token threshold (160k/200k window, 250k/1M window; COMPACT_CONTEXT_THRESHOLD and COMPACT_CONTEXT_INTERVAL overridable), re-firing per 60k-token growth bucket; tool-call count stays as the secondary signal (#2155) - Codex repo marketplace now points at ./plugins/ecc instead of ./ — Codex never discovers plugins whose local marketplace source.path is the marketplace root (verified on Codex CLI 0.137.0); plugins/ecc is a thin folder referencing root skills/.mcp.json per maintainer direction on #2097; docs flag plugin mode as experimental with the upstream blocker openai/codex#26037 linked (#2128) - README badges for installs/stars/forks now use shields endpoint badges backed by api.ecc.tools (live install count 3,712 vs the stale static 150), which also eliminates shields' 'Unable to select next GitHub token from pool' render in the stars badge Closes #2155 Closes #2128
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).
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