System Prompt Linter

Check your system prompt for common quality issues and anti-patterns

Ad placeholder (leaderboard)

System prompt linter

A system prompt is the most leveraged text in your application — every response inherits its strengths and its bugs. This linter runs a battery of heuristic checks for the problems that quietly degrade prompt quality: no output format, vague instructions, contradictory rules, missing scope boundaries, and bloat. You get a scored report with specific, actionable fixes, updated live as you edit.

How it works

The linter scans your prompt text against a fixed rule set, each targeting a known anti-pattern:

  • Output format — does the prompt say how the answer should be shaped?
  • Specificity — does it lean on vague verbs like “help” or “handle” without concrete instruction?
  • Conflicts — does it both demand brevity and exhaustiveness, or similar contradictions?
  • Scope & refusal — does it define what is out of bounds and how to decline?
  • Length — is it long enough to dilute attention?
  • Filler — does it waste tokens on “please” and “thank you”?

Each rule returns pass, warn, or fail with a one-line reason, and the overall score reflects how many checks clear. Everything runs in your browser, so it is instant and private.

Tips and notes

Treat warnings as nudges and failures as bugs — a missing output format is the single most common cause of inconsistent responses, so fix that first. Resolve conflicts explicitly: if you sometimes want detail and sometimes brevity, say when each applies rather than demanding both. Add a short scope-and-refusal clause even for friendly assistants; it prevents the model from confidently answering things it shouldn’t. A clean score is a green light to start testing — not a substitute for it.

Ad placeholder (rectangle)