Default¶
Every rule, as its default file defines it for every model. A provider's or model's files change some of them; the last column names those, and their pages show each model's view. Without -m, validia lint reads only these.
wording¶
Released 2026-10-07; a pin reads it as wording = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
wording/capitals |
Emphasis in capitals | prompt | info | anthropic/default: warn on 5 models; info on the restgoogle/default: warn on gemini-3*; info on the restopenai/default: warn on gpt-4.1*, gpt-5; info on the rest |
wording/capitals-in-tool |
Steering in capitals in a tool description | tool descriptions | warn | — |
wording/credential |
A credential in the prompt | prompt | error | — |
wording/exclamation-marks |
Repeated exclamation marks | prompt | info | anthropic/default: warn on 5 models; info on the restgoogle/default: warn on gemini-3*; info on the restopenai/default: warn on gpt-4.1*, gpt-5; info on the rest |
wording/expired-date |
A date-limited instruction | prompt | warn | — |
wording/length-cap |
A hard length cap in the prompt | prompt | warn | — |
wording/old-model-name |
Names an old model | prompt | warn | — |
wording/unwrapped-input |
Untrusted input without delimiters | prompt | warn | — |
instructions¶
Released 2026-10-07; a pin reads it as instructions = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
instructions/completion-booster |
A completion booster | prompt | warn | — |
instructions/default-when-unsure |
Makes a tool the default when in doubt | prompt | info | anthropic/default: warn on 5 models; info on the rest |
instructions/habit-to-break |
Names a habit to break | prompt | warn | — |
instructions/hedged-requirement |
A hedged requirement | prompt | warn | — |
instructions/prohibition-list |
Three or more prohibitions in a row | prompt | warn | anthropic/claude-opus-5-5: info, own fix |
instructions/rule-without-reason |
A rule without its reason | prompt | warn | — |
context¶
Released 2026-10-07; a pin reads it as context = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
context/arithmetic-in-prompt |
Arithmetic left to the prompt | prompt | warn | — |
context/bullet-wall |
Behaviour written as a wall of bullets | prompt | info | — |
context/do-not-hallucinate |
Forbids hallucinating without saying what to do | prompt | warn | — |
context/identity-stub |
An identity stub for a role | prompt | warn | — |
context/reminder-line |
A reminder line | prompt | warn | — |
context/repeated-instruction |
Repeats an instruction | prompt | warn | — |
context/restated-default |
Restates what the model already does | prompt | warn | — |
context/special-cases |
A list of special cases | prompt | warn | — |
context/unchecked-quotes |
Asks for quotes without checking them | prompt | info | — |
reasoning¶
Released 2026-10-07; a pin reads it as reasoning = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
reasoning/numbered-script |
A numbered script for a judgment task | prompt | warn | — |
reasoning/plan-first |
Tells the model to plan | prompt | warn | — |
reasoning/self-verify |
A self-verification line | prompt | info | anthropic/claude-opus-5: warn |
reasoning/show-reasoning |
Asks to see the model's reasoning | prompt | warn | anthropic/default: error on 5 models; warn on the rest |
reasoning/strategy-coaching |
Coaches a strategy | prompt | warn | — |
reasoning/think-in-prose |
Controls thinking in prose | prompt | warn | — |
output¶
Released 2026-10-07; a pin reads it as output = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
output/format-ban |
Bans formatting | prompt | info | anthropic/claude-fable-5-1: warn, own fix |
output/hold-progress |
Holds back progress updates | prompt | info | anthropic/default: warn on claude-fable-5-1, claude-sonnet-5-5; info on the rest |
output/json-in-prose |
Asks for JSON in prose | prompt | warn | — |
tools¶
Released 2026-10-07; a pin reads it as tools = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
tools/discourages-tools |
Discourages tool use across the board | prompt | warn | — |
tools/examples-in-tool |
Examples inside a tool description | tool descriptions | warn | openai/default: own fix |
tools/missing-when-not |
Does not say when not to use the tool | tool descriptions | warn | — |
tools/rules-in-tool |
Behaviour rules inside a tool description | tool descriptions | warn | — |
tools/sales-pitch |
Sells the tool instead of describing it | tool descriptions | warn | — |
security¶
Released 2026-10-07; a pin reads it as security = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
security/hide-instructions |
Asks the model to keep its instructions secret | prompt | info | — |
security/obey-input |
Tells the model to obey the input | prompt | warn | — |
maintenance¶
Released 2026-10-07; a pin reads it as maintenance = "1.0.0" under [lint.rules].
| Rule | Finds | Reads | Severity | Changed by provider or model |
|---|---|---|---|---|
maintenance/change-history |
Describes a change instead of how it works now | prompt | warn | — |
maintenance/grading-talk |
Talks about grading | prompt | warn | — |