A multi-agent framework supporting various interfaces (Telegram, Twitter, Discord, Farcaster, API) with tool execution capabilities, LLM integration, and MCP client support for distributed tool execution
The Heurist Agent Framework exposes 7 tools with significant quality gaps. Naming is inconsistent, some tools use verb_noun convention (handle_image_generation, get_crypto_price) while others lack clarity (filter_message). Descriptions vary wildly in quality: handle_image_generation and get_current_time have reasonable descriptions, but filter_message contains a confusing multi-condition spec that reads like implementation logic rather than user intent guidance. Schemas are present for all tools and use proper JSON Schema types, but many lack parameter descriptions, for example, add and multiply have minimal parameter docs ('int' is not a proper description). Error handling is absent across all tools; there are no recovery guides or actionable error messages. The tool composition shows poor separation of concerns: generate_image_prompt_for_posts appears to be an internal orchestration tool (takes agent_context as parameter) rather than a public agent tool. Security is not evident, no documentation of permission requirements, audit trails, or rate limiting.
Add two integers.
Determine if a message should be ignored based on the following rules: Return TRUE (ignore message) if: - Message does not mention Heuman - Message does not mention 'start raid' - Message does not discuss: The Wired, Consciousness, Reality, Existence, Self, Philosophy, Technology, Crypto, AI, Machines - For image requests: ignore if Heuman is not specifically mentioned Return FALSE (process message) only if: - Message explicitly mentions Heuman - Message contains 'start raid' - Message clearly discusses any of the listed topics - Image request contains Heuman If in doubt, return TRUE to ignore the message.
Generate a detailed image prompt using the core agent's image prompt generator. Use this tool when you need to create an optimized prompt for image generation. IMPORTANT: This tool is only for image generation for posts, and images about you. IF the request is simple, just use image generation tool instead.
Get the current or historical price of a cryptocurrency in USD from Binance.
Get the current time in ISO format.
filter_message tool naming is misleading, name suggests a utility operation, but description reveals it is a message classification/routing decision engine with complex business logic. Unclear when an LLM should call this vs. where filtering should occur.
Parameters 'a' and 'b' in add and multiply tools have descriptions of only 'int', far below the 10-character minimum and provide no context for when or why an LLM would call these tools. No explanation of what they compute or real-world use case.
generate_image_prompt_for_posts accepts 'agent_context' as an object parameter without schema details or description. This exposes internal agent state to the LLM and couples the tool to private implementation. Should be replaced with publicly documented input parameters.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 34 | - | v1 |
Generate an image based on a text prompt. Use this tool only when the user explicitly requests to create an image.
Multiply two integers.
No error handling documentation across any tool. No guidance on what errors are retryable, what the LLM should do on failure, or what invalid inputs produce. Example: get_crypto_price does not document error behavior if ticker is invalid or API is down.
No output schemas documented for any tool. LLMs cannot determine what fields to expect or how to chain results into downstream tools. Example: get_crypto_price returns a price, but format (float? string? with USD symbol?) is unknown.
get_crypto_price timestamp parameter is optional with a vague description. No guidance on timezone handling (UTC assumed?), format strictness (what happens if '2024-03-20' without time is passed?), or whether historical price APIs have rate limits.
handle_image_generation description says 'Use this tool only when the user explicitly requests to create an image', this is an agent reasoning constraint that belongs in system prompt, not tool description. Tool description should describe what the tool does, not when to use it.
No security documentation. No mention of rate limits, permission requirements, audit logging, or what credentials are needed. Tools that call external APIs (e.g., image generation, Binance) should document required scopes.