A multi-skill agent system with LangGraph-based orchestration, supporting web search, memory management, time/location awareness, and skill activation
Lexora Agent provides 7 tools with generally clear naming (verb_noun pattern) and substantial descriptions (100-300+ chars). However, critical gaps exist: NO visible input schemas for 6 of 7 tools, parameter descriptions missing entirely, and no documented output structures. Only activate_skill shows explicit schema. Descriptions are LLM-optimized and contextual (good), but lack parameter-level guidance. Error handling and recovery paths are not documented. Memory tools (remember, update_memory, forget_memory) lack clarity on slot semantics and validation rules.
Load the full instructions for a named Lexora Agent Skill before following that skill workflow.
Forget or archive a memory when the user asks to forget, delete, remove, or correct obsolete remembered information. This works in any language. Provide a semantic query and relatedMemoryIds when known.
Return the current user location resolved by the Location Skill. Use this for weather, nearby places, local news, regional policy, routing, stores, and other location-sensitive tasks. If this returns ok, use the returned location. If this returns needs_location, ask the user for the relevant city or place before web search.
Return the current date, current time, IANA time zone, and relative date anchors. Use this for questions involving today, tomorrow, yesterday, current time, this week, next week, future date anchors, or timezone-sensitive scheduling. Call this before web search when the search task contains relative dates or times. If the user explicitly provides an IANA time zone, pass it as timeZone. This tool does not provide user location. Use get_current_location for location-sensitive tasks and do not infer city, country/region, weather location, or local search location from time zone.
Save a durable user memory. Use semantic judgment across languages; do not rely on exact keywords. Use for long-lived preferences, profile facts, stable feedback, project references, task knowledge, or agent personalization. Do not use for short-lived task state, secrets, credentials, or unsupported guesses.
No input schemas visible for 6 of 7 tools. Only activate_skill shows explicit parameter schema. Cannot verify parameter types, constraints, or required fields.
Memory tools (remember, update_memory, forget_memory) lack parameter descriptions. No guidance on slotKey semantics, scope values, lane values, or relatedMemoryIds format. LLMs cannot infer valid inputs.
No documented output schemas for any tool. Descriptions state what tools return (e.g., 'ok' or 'needs_location' for get_current_location) but no structured field definitions. LLMs cannot plan downstream calls or extract data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Search the public web for current or externally verifiable information. Use for latest facts, recent events, source verification, product/vendor changes, or questions that require URLs. If the task contains relative dates or times such as today, tomorrow, this week, or latest, call get_current_time first and use its date anchors when forming the query. For weather, nearby places, local news, routing, stores, or regional policy, call get_current_location first unless the user explicitly provided a location. If get_current_location returns needs_location, ask for location before searching. Do not infer search location from time zone, language, locale, IP, provider region, or server defaults. Do not use for private Lexora documents, local files, or stable reasoning that does not need external sources.
Update or correct an existing memory or stable slot. Use relatedMemoryIds from provided memory context, or use slotKey for stable facts such as agent_name. When the user gives the agent a name, nickname, or asks to call you by a name, use scope=user_agent, lane=agent_personalization, slotKey=agent_name, and slotValue set to that name. Do not invent unrelated memory ids.
No error handling or recovery guidance documented. Descriptions do not explain what happens on failure (e.g., if location cannot be resolved, if memory slot is full, if search times out). LLMs have no guidance on retry or fallback.
search tool description references 'get_current_location' and 'get_current_time' as prerequisites but does not document pagination, result limits, or response structure. No guidance on handling large result sets or rate limits.