Fixed
Duplicate skills on Codex CLI (#22)
After installing brooks-lint on Codex, the skill picker showed both the six native brooks-* skills and six generated source-command-brooks-* adapters. Codex's command-migration (openai/codex#33411) falls back to scanning a plugin's commands/ directory when the manifest does not declare commands, so it migrated the commands/brooks-*.md wrappers into standalone skills that duplicated the native ones — and bypassed a user's enabled = false on a native skill, since the migrated adapter has a different identity.
.codex-plugin/plugin.json now declares an explicit "commands": [], which Codex treats as authoritative and stops migrating the wrappers. Claude Code and Gemini do not read this manifest and are unaffected — commands/ is still consumed as-is by the Gemini extension.
Thanks to @grevgeny for the detailed diagnosis and proposed fix.
Upgrade
/plugin marketplace update
/plugin install brooks-lint@brooks-lint-marketplace
Codex users: reinstall/update from the brooks-lint marketplace to pick up the corrected manifest.
Full Changelog: v1.4.1...v1.4.2