Local-first agent harness for VS Code. Bring your own LLM — no cloud, no account, no telemetry. Your model, your machine, your rules.
Grom provides 7 tools with complete input schemas and descriptions. All tools have verb-noun naming (read_file, write_file, list_directory, delete_file, search_files, run_terminal, browse_web) and descriptions ranging 60 - 180 chars, meeting baseline minimums. However, descriptions lack LLM-optimized guidance on WHEN to use each tool vs alternatives, and parameter descriptions are minimal. No output schemas are documented. Error handling is absent, tools do not guide recovery or categorize failures. Security concerns: run_terminal accepts arbitrary shell commands with no validation, sanitization, or permission gating. write_file and delete_file lack confirmation patterns for destructive operations. Overall: functional definitions with room for LLM optimization and safety hardening.
Fetch a web page and return its readable text content. Use to read documentation, check live APIs, or research topics online. Safe — read only.
Delete a file from the workspace (moves to trash so it can be recovered).
List files and directories at a workspace path. Excludes node_modules, .git, out, dist.
Read the contents of a file in the workspace. Returns the file text.
Run a shell command in the workspace and return its stdout/stderr output. Use for build, test, lint, and install commands.
Search for a text or regex pattern across workspace files. Returns matching lines with file:line references.
run_terminal accepts arbitrary shell commands with no input validation, sanitization, or permission gating. LLMs can be tricked into command injection (e.g. `rm -rf /`). Missing dry-run or confirmation pattern for irreversible operations.
write_file and delete_file lack confirmation or dry-run patterns. Destructive operations should support a confirmation step to prevent accidental data loss when agents make mistakes.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. E.g. search_files should document return format (file paths, line numbers, match context).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Create or overwrite a file in the workspace with the given content. Creates parent directories automatically.
Descriptions lack WHEN-to-use guidance and dependency hints. E.g. search_files should note 'Use this to find code patterns before reading specific files.' Parameter descriptions are minimal (e.g. 'Workspace-relative path to the file' does not explain format constraints).
No error handling guidance. Tools do not categorize failures as retryable, user-fixable, or fatal. E.g. 'File not found' should suggest 'Try list_directory() to see available files.' Missing actionable error messages.