Intelligent local storage analysis, disk usage profiling, duplicate file detection, and automated safe cleanup workflows.
12 read-only storage analysis tools with consistent naming (verb_noun pattern) and basic descriptions. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Output schemas are not documented, LLMs cannot predict return structure. Error handling returns generic error objects without recovery guidance. No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions lack constraints (e.g., min_size_mb has no bounds stated). Tools like find_duplicate_files and find_stale_files lack dependency hints (e.g., 'Call this after directory_disk_usage to prioritize cleanup'). Composition is sound, each tool does one thing, but chaining guidance is absent.
Count files and directories in a directory, broken down by type.
Calculate top items in path sorted by actual disk space consumed (bytes).
List top-level items in a directory with their sizes in human-readable format.
Get metadata about a file: size, created/modified times, type.
List file names in a directory, optionally filtered by extension (e.g. '.py').
Find duplicate files by comparing file hashes.
Find all files larger than a given size threshold.
Output schemas not documented. LLMs cannot predict return structure (e.g., count_files returns dict with 'total_files' and 'by_extension', but this is not declared in tool definition). Agents must infer structure from trial calls, wasting tokens and risking parsing errors.
Descriptions lack LLM-optimized guidance on WHEN to use each tool. E.g., 'List the contents of a directory' does not explain when to call list_directory vs. file_names vs. tree. Agents waste reasoning cycles deciding between similar tools.
Numeric parameters lack bounds. find_large_files min_size_mb has no stated minimum/maximum; tree max_depth has no bounds. Unbounded numbers let LLMs pass absurd values (e.g., max_depth=999999) that cause timeouts or memory exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Find files that haven't been accessed in a specified number of days.
Get total, used, and free disk space for the volume containing path.
List the contents of a directory with type indicators.
Search for files matching a glob pattern (e.g. '*.py', '**/*.txt').
Show a recursive directory tree up to max_depth levels.
Error handling returns generic error objects without recovery guidance. E.g., path_error() and unexpected_error() do not suggest next steps (e.g., 'Path does not exist. Try list_directory() on parent directory'). Agents cannot self-correct.
No tool annotations. All tools are read-only but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without reading descriptions. Annotation support enables safer agent planning.