Too Vague
“Write clean code” is useless. The agent doesn’t know what “clean” means in your context. “Functions must be under 30 lines, use named exports, no type assertions” is actionable. Constraints must be specific enough that you could write a linter rule for them.
Too Long
A 5,000-token CLAUDE.md consumes significant context on every request. The agent’s attention is finite — burying critical rules in a wall of text means they get ignored. Keep root rules under 2,000 tokens. Move detailed guidance to skills and reference docs.
Contradictory
When constraints contradict each other, the agent picks one arbitrarily. “Always use functional components” plus “extend BaseComponent for all UI elements” creates confusion. Review constraints for internal consistency before deploying.
Critical in AI: The most common mistake is writing constraints for humans, not agents. Agents are literal. “Prefer X over Y” is ambiguous. “Always use X. Never use Y.” is clear. Write constraints as if you’re writing code: precise, unambiguous, testable.