AI desktop assistant with multi-model support, skills, agents, memory, and plugin system
Suora defines 13 tools with reasonable naming (verb_noun pattern) and descriptions. However, critical gaps exist: input schemas are inferred from the tool list but not visible in actual source code (src/services/tools.ts excerpt is truncated). Parameter descriptions are present but lack detail on constraints, formats, and valid ranges. Output schemas are completely undocumented, no indication of what fields are returned or how to chain tools. Error handling is mentioned (toolErrorHandler.ts) but not integrated into tool definitions. Memory and document tools are well-named but lack specificity on scope behavior and return structures. Pipeline and agent delegation tools lack detail on execution semantics and result format.
Delegate a task to another agent. The delegated agent will process the task and return results.
List all available agents with their configurations and capabilities.
Create a new document in a document group with markdown content.
Query the document knowledge graph to find relationships and insights across documents.
Search documents by title, content, or tags within a group or globally.
Delete a stored memory entry by id. Use this to remove outdated, incorrect, or no longer relevant memories.
Retrieve stored memories by scope, type, or search query. Use this to access previously stored facts, preferences, corrections, and knowledge before making decisions or taking actions.
Output schemas completely undocumented. No indication of return types, field names, or structure for any tool. LLMs cannot plan downstream calls or extract required data.
Parameter constraints missing. 'limit' parameters lack min/max bounds; 'scope' enums are defined but no guidance on when to use each; 'markdown' parameter has no format or length constraints.
Tool chaining IDs missing from responses. If memory_store returns a memoryId, memory_update and memory_delete accept memoryId, but no documentation confirms this. If document_create returns a documentId, downstream tools must accept it.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Store a fact, preference, correction, or insight into memory for future reference. Proactively use this when auto-learning is enabled and the user shares durable preferences, corrections, reusable project knowledge, or skill-specific instructions; the user does not need to say 'remember'. Choose scope='session' for current-chat context, 'agent' for the current or named agent, 'skill' for knowledge tied to a named skill, and 'global' for cross-session/cross-agent knowledge.
Update an existing memory entry with new content, tags, or metadata.
Create a new agent pipeline with steps, variables, and budget constraints.
Execute an agent pipeline with provided input variables.
List all available agent pipelines.
List all available skills with their descriptions and capabilities.
List tools (pipeline_list, skill_list, agent_list) lack pagination and result limits. No indication of max items returned or how to handle large result sets.
Error handling not integrated into tool definitions. toolErrorHandler.ts exists but tool descriptions do not reference error categories, recovery steps, or retryability guidance.