A file and folder tree analyzer and documentation tool that generates directory structures with descriptions and configuration management
FATH is a file tree analysis tool with severe definition quality gaps. All three tools have descriptions in Indonesian (non-standard for agent tooling), lack proper parameter documentation, and expose implementation details (regex objects, internal recursion depth) as parameters. The schema for get_paths includes non-serializable 'object' types (compiled regex patterns) that cannot be passed by LLMs. handle_config mixes multiple concerns (init, update, args, desc, set, fath actions) into one tool. No output schemas are documented. Error handling is minimal, most failures result in sys.exit() rather than structured error responses suitable for agent recovery.
Fungsi pembantu untuk mengumpulkan semua path secara rekursif sesuai filter tree
Handle configuration file operations including init, update, args, desc, set, and fath actions
Print a saved tree structure with descriptions in a formatted tree view
Non-serializable parameter types: get_paths accepts 'ext_regex', 'fn_regex', 'exc_regex' as object types (compiled regex patterns). LLMs cannot construct or pass compiled regex objects; these must be strings with pattern validation inside the tool.
Descriptions in Indonesian and under 20 characters: All three tools have descriptions in Indonesian ('Fungsi pembantu...', 'Print a saved tree...', 'Handle configuration...'). Non-English descriptions are non-standard for agent tooling. Descriptions lack WHAT/WHEN/WHY context required for LLM tool selection.
No output schemas documented: None of the three tools declare what they return. LLMs cannot plan downstream calls or extract required fields without knowing the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 23 | 2026-07-28+ | v2 |
Multiple concerns in single tool: handle_config combines init, update, args, desc, set, and fath actions into one tool. Each action should be a separate tool (init_config, update_config, get_config_args, set_description) so agents can compose them independently.
Exposed internal parameters: get_paths exposes 'current_depth' and 'base_dir' as parameters marked '(internal)'. These should not be exposed to LLMs, they are implementation details. Recursion should be hidden inside the tool.