Single tool 'toolguard_scan' has a basic description (58 chars) and minimal input schema. The description lacks actionable context for LLM selection (no WHEN to use, no prerequisites, no output shape). Input parameter 'target' has a type but no format guidance (absolute vs relative path? directory only?). No output schema documented. No error handling guidance. Tool does one thing (scan), but definition quality is well below production baseline.
Runtime allowlist and policy for agent tool-calls. Returns JSON findings.
Output schema not documented. LLM cannot plan downstream actions or extract findings structure.
Description too generic (58 chars). Does not explain WHEN to call this tool, what 'allowlist and policy' means, or what findings look like. LLM cannot distinguish this from a generic linter.
Parameter 'target' lacks format guidance. Is it a file path, directory, or glob? Absolute or relative? Does it accept URLs? LLM will guess.
No error handling guidance. If target does not exist or is unreadable, what does the tool return? How should the LLM recover?
Tool returns JSON string, not structured object. LLM must parse JSON from string response, wasting tokens and inviting parse errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |