Run AI magic workflows from glif.app
Server has 14 tools with consistent naming (verb_noun pattern) and explicit schemas. Most tools have descriptions (10-150 chars), but many are terse and lack actionable context. Parameter descriptions are present but minimal. Output schemas are not documented. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable, tools are single-purpose, but chaining metadata (IDs needed for follow-up calls) is inconsistent.
Get detailed information about a glif including input fields
Get a list of bots and sim templates with optional filtering and sorting. Supports sort={new,popular,featured} (defaults to popular), username filtering, and text search.
Get a curated list of featured glifs
List all saved glif tools
Get detailed information about a specific bot
Get detailed information about your user account, recent glifs, and recent runs
Output schemas not documented. Tools return text responses but LLMs cannot infer structure of returned data (e.g., what fields are in a glif object, pagination info, error format). This forces LLMs to parse unstructured text and risks context loss on chaining.
Descriptions are terse (10-60 chars) and lack context. E.g., 'Get your own glifs' does not explain when to call it vs search_glifs, what it returns, or prerequisites. LLMs cannot reliably select between similar tools without richer descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
Get your own glifs
Remove all saved glif tools and return to a pristine state
Remove a saved glif tool
Run a glif with the provided inputs
Save all skills from a bot as individual tools
Save a glif as a custom tool
Search for glifs by name, description, or featured status
Get detailed information about a bot including its skills and personality
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools marked DESTRUCTIVE (remove_glif_tool, remove_all_glif_tools) lack explicit hints to guide agent caution. Agents cannot distinguish safe reads from irreversible writes without annotations.
Error handling lacks recovery guidance. Code catches errors and returns text like 'Error removing all glif tools: <message>' but does not tell LLM what to do next (retry? ask user? call a different tool?). Errors should be categorized and actionable.
Parameter descriptions are minimal. E.g., 'sort' in list_bots has enum values but no explanation of what 'new', 'popular', 'featured' mean or when to use each. 'prefix' in save_bot_skills_as_tools lacks format guidance (alphanumeric? underscores allowed?).