LLM System-Prompt Linter
Paste the system prompt that drives your assistant or agent. The linter flags embedded secrets, reliance on "don't reveal the prompt", prompt-injection footguns, over-broad agency, and missing guardrails — and shows the source for every rule. It is a static heuristic, not a jailbreak proof.
How the grade is computed
Each rule that fires deducts points by severity: high −25, medium −10, low −4; informational rules deduct nothing. score = max(0, 100 − ∑ deductions). Grade bands: A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60, else F. The grade is a presentation convenience to triage prompts, not a certification. Ruleset version and all per-rule sources are shown with each finding.
Findings
How to use
- Paste your full system prompt (the durable instructions, not a single user message). Nothing leaves your browser.
- Press Lint. Or try the weak example to see what failures look like, and the hardened example to see passes.
- Read the findings. Each one shows the status (FAIL / WARN / ADVISORY / PASS / N/A / INFO), what was observed, where (line:col with an excerpt), how to fix it, and the OWASP source.
- Fix the FAILs first (secrets, guardrail overrides), then the WARNs. Re-lint until the grade stops improving.
- Export the findings as Markdown, JSON or CSV for a ticket or a review. Exports match what you see here.
What it does not do: it never fetches anything, never claims your prompt is safe, and does not understand meaning — a weakness phrased unusually can go unflagged, and a flagged line can be a deliberate, well-handled choice. Treat it as a checklist, then test adversarially.
What the linter checks
Ruleset , sourced to the OWASP Top 10 for LLM Applications (2025) and its prompt-injection mitigations.