instructions-hygiene
Server instructions name only tools that exist
The sections below are generated from the CLI (methodology 0.3-draft, CLI 0.3.0); the same text is printed by sealmark explain instructions-hygiene.
- pack
core- weight
- advisory · not scoredcandidate
- scope
- server (what its instructions say)
- decided by
- static
- since
- 0.3-draft (methodology 0.3-draft)
- config keys
checks.instructions-hygiene.denychecks.instructions-hygiene.enabledchecks.instructions-hygiene.severity
Probes
unknown-toola snake_case word, or a word in backticks, in the initialize instructions that is not a tool, parameter, prompt or resource the server declares (a leftover from another server's prompt)denya regex from checks.instructions-hygiene.deny matches the instructions (default: none, so this clause is not run)
Settings and thresholds
Every check also takes checks.instructions-hygiene.enabled and checks.instructions-hygiene.severity; they are described once in the configuration reference.
This check has no numeric threshold.
| Key | Default | Standard | Meaning |
|---|---|---|---|
checks.instructions-hygiene.deny | [] | not locked | Regular expressions the server's instructions must not match (a leftover prompt, a product name). Appends across layers. |
How the verdict is established
- Scoring. advisory: reported with its verdict but not part of the score.
What to fix
Keep the server's instructions in step with its tools: remove names of tools the server does not offer and any text left over from another product or prompt (what checks.instructions-hygiene.deny matches). This check is advisory.
False positives
Instructions that mention a snake_case term that is not a tool (a column name, a setting) read as an unknown tool; the check is advisory and never moves a letter.
False negatives
Only names that look like tools are found: a tool named with one plain word is recognised in prose only inside backticks.