content-redundant-with-tooling¶
Detect instructions that duplicate .editorconfig, ESLint, Prettier, or tsconfig settings
| Severity | warning (auto) |
| Autofix | - |
| Since | v0.7.0 |
| Category | Content Intelligence |
Why¶
Instructions that restate what .editorconfig, ESLint, Prettier, or
tsconfig.json already enforce waste context budget without changing
behavior — the tooling runs regardless of what the instruction file
says. Worse, if the instruction and the config diverge, the model
faces a contradiction it cannot resolve.
Examples¶
Bad (when .editorconfig already sets indent_size = 2):
Good:
Or simply remove the line entirely.
How to fix¶
Delete the redundant instruction. If you want the model to be aware of the setting, reference the config file instead of restating its contents. A coding agent can remove flagged lines automatically.
Configuration¶
Research Basis¶
Detects instructions that duplicate what .editorconfig, ESLint, Prettier, or tsconfig already enforce.
When CLAUDE.md says "use 2-space indentation" and .editorconfig already
specifies indent_size = 2, the instruction is redundant. Worse, it creates
configuration drift risk: if someone updates .editorconfig to 4 spaces but
forgets the CLAUDE.md, the model receives contradictory signals.
Tooling enforcement is deterministic — it runs every time, without fail. Instruction-file enforcement is probabilistic — the model follows it most of the time, but not always. Restating deterministic rules as probabilistic instructions wastes context tokens and adds no reliability.
References:
- Levy, Jacoby & Goldberg, Same Task, More Tokens — Every redundant instruction consumes context budget
- Anthropic: Effective Context Engineering — "One of the most common failure modes we see is bloated tool sets" — applies equally to bloated instructions
- Dotzlaw: Claude Code Hooks — "CLAUDE.md instructions are advisory… Hooks are enforcement"
Run skillsaw explain content-redundant-with-tooling to see this documentation and the rule's effective configuration in your terminal.