a modular ai cli that unifies multiple model providers with built-in rag, embeddings, pluggable tools, and mcp support.
Critical gaps across all dimensions. Tool definitions lack visible input schemas, parameter descriptions, and output documentation. No evidence of structured error handling or recovery guidance. Tool names use underscores but lack clear action verbs (bash_tool, shell_tool, zsh_tool are redundant). Destructive tools (bash_tool, shell_tool, zsh_tool) have no permission gates or confirmation patterns. Source code shows tool imports in src/tools/index.ts but actual tool implementations (bash.ts, calculator.ts, http.ts, rag.ts, shell.ts, uuid.ts, zsh.ts) are not provided, cannot verify schemas, descriptions, or parameter definitions. Per HARD SCORING RULE: if tool definitions are not visible, cap at 50; if schemas are missing, schema score is 0.
No visible tool schemas or parameter definitions. Tool implementations (bash.ts, calculator.ts, http.ts, rag.ts, shell.ts, uuid.ts, zsh.ts) not provided in source code. Cannot verify input/output schemas, parameter types, or constraints.
No tool descriptions visible. LLMs cannot determine when or why to select each tool. Descriptions are mandatory for tool selection reasoning.
Three destructive shell tools (bash_tool, shell_tool, zsh_tool) with no visible permission gates, confirmation patterns, or dry-run support. Agents can execute arbitrary commands without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 17 | 2026-07-28+ | v2 |
Redundant tool naming: bash_tool, shell_tool, zsh_tool all execute shell commands but lack clear differentiation. Names do not follow verb_noun pattern (e.g., execute_bash, run_shell_command). LLMs will struggle to choose between them.
http_tool is overly generic. Does not specify what HTTP methods, headers, authentication, or response formats are supported. No guidance on when to use vs. other tools.