Coding-agent plugins for Claude Code and Codex — one repo, one source of truth, each agent installs from its own marketplace.
/plugin marketplace add sshanzel/plugins
/plugin install pr-master@sshanzel
/plugin install plex@sshanzel
Codex uses the same SKILL.md format and a parallel marketplace flow:
codex plugin marketplace add sshanzel/plugins
# update later with: codex plugin marketplace upgrade
pr-master's commands ship to Codex as skills — pr-master-create, pr-master-respond, pr-master-postmortem, pr-master-fix-ci, pr-master-fix-conflicts (+ test-writing). They carry conservative trigger descriptions so the code-changing ones don't auto-fire; invoke them explicitly via /skills or $.
plex ships its own Codex plugin from its repo (a plex-review skill + plex-parallel-review): codex plugin marketplace add sshanzel/plex.
The whole pull-request loop. Agent-agnostic; gets smarter when Plex is present (it auto-closes Plex's review-learning loop).
Full details: plugins/pr-master/README.md.
A fresh-context reviewer grounded in a blast-radius code graph + accumulated review knowledge, plus a parallel-review orchestrator. The MCP engine is auto-fetched from npm (@sshanzel/plex) via npx. Source + docs: sshanzel/plex.
/plugin install plex@sshanzel
Then /plex:review in any repo.
The pr-master commands (plugins/pr-master/commands/*.md) are canonical. Codex has no "commands" type, so its skills are generated from them:
node plugins/pr-master/scripts/gen-codex-skills.mjs # commands/*.md → plugins/pr-master/codex/skills/pr-master-*/SKILL.md
Edit a command, re-run the generator, commit. The Claude plugin reads commands/ + skills/; the Codex plugin (.codex-plugin/plugin.json) reads codex/skills/. The two manifests (.claude-plugin/ + .codex-plugin/) live side by side in one plugin dir — each agent ignores the other's.
Plugins are git-SHA versioned (no pinned version), so a git push here is an update. Claude: /plugin marketplace update sshanzel (or auto-update) + /reload-plugins. Codex: codex plugin marketplace upgrade.
MIT © Lee Solevilla
