Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing
Daedalus CLI exposes 19 tools with minimal descriptions and incomplete schemas. All tools have basic descriptions (10-50 chars), well below the 50-200 char baseline for LLM-optimized tools. Most parameter descriptions are generic ('File path to read', 'Command to execute'). No output schemas are documented. Critical tools like 'terminal' and 'patch' lack error handling guidance. Tool names are verb-based (good), but descriptions do not explain WHEN to use each tool or what happens on failure. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Composition is poor: 'delegate_task' and 'handoff_task' appear to do the same thing; 'set_context_variable' is a generic state mutation with no constraints.
Delegate task to another agent
Fetch URL content
Find symbol in indexed codebase
Generate image from prompt
Get symbol definition
Get symbol references
Get git diff
Get git status
Descriptions are uniformly 20-50 characters, far below the 50-200 char baseline for LLM-optimized tools. Descriptions lack WHEN/WHY guidance, prerequisites, and error recovery hints. Example: 'Execute terminal command' does not explain that this is irreversible, what happens on failure, or when to use it vs other tools.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields. Example: 'search_files' returns a pattern match result, but the response structure (file paths, line numbers, match context) is not specified.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. 'write_file', 'patch', 'terminal', 'generate_image' are marked WRITE/IRREVERSIBLE but lack annotations to guide agent behavior and prevent accidental misuse.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
Hand off task to another agent
Index codebase for symbol search
List files in directory
Apply patch to file
Read file contents
Search files by pattern
Set context variable
Execute terminal command
Manage todo items
Search the web
Write or create file contents
Duplicate/overlapping tools: 'delegate_task' and 'handoff_task' appear to do the same thing (hand off task to another agent). LLMs will waste reasoning cycles deciding between them. Consolidate into one canonical tool.
Parameter descriptions are generic and lack constraints. 'command' in 'terminal' tool has no guidance on shell, timeout, working directory, or what happens on non-zero exit. 'pattern' in 'search_files' does not specify regex vs glob vs literal string matching.