Skip to content
Conduit

skill

eslint-plugin-codex

Independent community ESLint rules for Codex customization files. Not affiliated with or endorsed by OpenAI.

Nick2bad4u/eslint-plugin-codexcommunitylistedunreviewed

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

Skills do not use an MCP config. Follow the steps in the README below.

README

synced Oct 27, 2026

@typpi/eslint-plugin-codex

NPM license. NPM total downloads. Latest GitHub release. GitHub stars. GitHub forks. GitHub open issues. Codecov. Repo Checks.

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.md and AGENTS.override.md instruction chains
  • Agent Skills under .agents/skills/ and plugin skill roots
  • standalone custom agents under .codex/agents/*.toml
  • .codex/config.toml and standalone *.config.toml profiles
  • .codex/hooks.json and inline [hooks] TOML
  • deprecated .codex/prompts/*.md files, 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

PresetIntended use
codex.configs.minimalRequired structure that would otherwise leave a customization unusable.
codex.configs.recommendedObjective correctness and current-feature checks for most repositories.
codex.configs.strictRecommended rules plus security and ambiguity guardrails.
codex.configs.allEvery 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

Ruleallminimalrecommendedstrict
max-agents-instruction-chain-bytes✅—✅✅
no-conflicting-mcp-tool-lists✅——✅
no-deprecated-config-features✅—✅✅
no-deprecated-custom-prompts✅—✅✅
no-duplicate-skill-names✅——✅
no-empty-agents-md✅✅✅✅
no-empty-skill-body✅—✅✅
no-full-access-without-approval✅——✅
no-ignored-hook-matcher✅—✅✅
no-ignored-project-config-keys✅—✅✅
no-legacy-profile-config✅—✅✅
no-mixed-hook-representations✅—✅✅
no-mixed-permission-models✅—✅✅
no-unsupported-hook-handler✅—✅✅
prefer-environment-mcp-credentials✅——✅
require-custom-agent-fields✅✅✅✅
require-existing-relative-skill-links✅——✅
require-relative-skill-links✅—✅✅
require-skill-frontmatter✅✅✅✅
require-skill-location✅—✅✅
require-skill-md-filename✅—✅✅
require-skill-name-match-directory✅——✅
require-valid-agent-nickname-candidates✅—✅✅
require-valid-hook-events✅—✅✅
require-valid-hook-structure✅✅✅✅
require-valid-mcp-approval-mode✅—✅✅
require-valid-mcp-transport✅—✅✅
require-valid-skill-compatibility✅——✅
require-valid-skill-description✅—✅✅
require-valid-skill-directory-name✅—✅✅
require-valid-skill-license✅——✅
require-valid-skill-name✅—✅✅

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.

License

MIT

↑↓ navigate openesc close