zenflow provides 10 tools with basic schemas and descriptions, but exhibits significant quality gaps. Tool names are action-oriented (bash, read, write, grep, glob, forward_to_agent, send_message, narrate, finalize, agent), but descriptions are inconsistent in depth. Most file-operation tools (read, write, glob, grep) have minimal descriptions (10-50 chars) that fail to explain WHEN to use them or what they return. The agent tool has a detailed description but parameter descriptions are verbose and lack constraint clarity. No output schemas are documented for any tool. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. The bash and agent tools are irreversible but lack confirmation/dry-run patterns. Parameter descriptions exist but lack format constraints, ranges, and validation rules. No evidence of pagination, result limits, or structured output shaping.
Spawn a child agent to handle a focused subtask. The child runs with its own LLM context and returns its result string.
Execute bash commands
Signal the caller's Run loop to exit and optionally provide a final synthesis
Forward a message to a running step agent. Coordinator uses this to inject context, follow-up questions, or instructions into a sibling step's mailbox. Hub-to-spoke only - agents cannot reply directly via this tool. Use kind='context_update' for context injection, 'cancel' to request the recipient stop, or omit/use 'info' for general notes.
Find files matching a glob pattern
Search for text patterns in files
File-operation tools (read, write, glob, grep) have descriptions under 50 characters with no guidance on when to use them, what they return, or error conditions. Descriptions like 'Read file contents' and 'Find files matching a glob pattern' lack context for LLM selection.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does bash return? stdout only? exit code? stderr?). This violates the documented-return-types baseline (100% of A+ tools have them).
Irreversible tools (bash, agent) lack confirmation/dry-run patterns or explicit error guidance. No indication of retryability, idempotency, or recovery paths. Agents cannot distinguish between transient and fatal failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Emit a user-facing narration event
Read file contents
Send a message to the coordinator from an agent
Write content to a file
Parameter descriptions lack format constraints, ranges, and validation rules. E.g., 'command' in bash has no guidance on shell syntax, timeout, or allowed operations. 'pattern' in grep lacks regex syntax hints. LLMs cannot self-correct invalid inputs.
No error handling guidance. Tools do not indicate what errors are retryable, user-fixable, or fatal. No recovery suggestions (e.g., 'If file not found, try glob() first'). Agents cannot reason about failure modes.