skill
eslint-plugin-codex
Independent community ESLint rules for Codex customization files. Not affiliated with or endorsed by OpenAI.
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/Nick2bad4u/eslint-plugin-codex itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 27, 2026@typpi/eslint-plugin-codex
Objective ESLint checks for Codex customization files. The plugin validates the parts that can be checked statically—file placement, required metadata, supported configuration values, instruction budgets, MCP transports, and hook structure—without trying to judge prose quality.
This is an independent community project. It is not affiliated with, endorsed by, or maintained by OpenAI.
Oxlint: Not compatible as a complete plugin (verified with Oxlint 1.80.0); all 32 rules and every preset target Markdown, TOML, or JSON and require custom formats or parsers that Oxlint JavaScript plugins do not support, so use ESLint for this plugin.
Supported files
AGENTS.mdandAGENTS.override.mdinstruction chains- Agent Skills under
.agents/skills/and plugin skill roots - standalone custom agents under
.codex/agents/*.toml .codex/config.tomland standalone*.config.tomlprofiles.codex/hooks.jsonand inline[hooks]TOML- deprecated
.codex/prompts/*.mdfiles, so migrations are not missed
The catalog deliberately excludes subjective prompt-style rules, model allowlists, filename conventions that Codex does not require, and experimental execution-policy syntax.
Installation
npm install --save-dev @typpi/eslint-plugin-codex eslint @eslint/markdown @eslint/json
Requirements:
- Node.js 22 or newer
- ESLint 9.15 or 10
- ESLint flat config
Quick start
The standard presets register the Markdown and JSON language plugins and configure TOML parsing:
import codex from "@typpi/eslint-plugin-codex";
export default [...codex.configs.recommended];
If a shared config already registers markdown from @eslint/markdown and json from @eslint/json, use the corresponding *-without-language-plugins variant after that registration:
import codex from "@typpi/eslint-plugin-codex";
import sharedConfig from "your-shared-eslint-config";
export default [
...sharedConfig,
...codex.configs["recommended-without-language-plugins"],
];
Presets
| Preset | Intended use |
|---|---|
codex.configs.minimal | Required structure that would otherwise leave a customization unusable. |
codex.configs.recommended | Objective correctness and current-feature checks for most repositories. |
codex.configs.strict | Recommended rules plus security and ambiguity guardrails. |
codex.configs.all | Every stable rule, including advisory project-hygiene checks. |
Each preset is a three-layer flat-config array for Markdown, TOML, and JSON. Spread it into your config; do not insert the array as one item.
Rules
Documentation
The rule behavior is grounded in the official Codex manual and the open Agent Skills specification. Documentation links are evidence, not an affiliation claim.