AI-agent-ready PowerPoint backend: plan, revise, and render PPTX decks from natural-language prompts.
Two tools with clear verb-noun naming (create_deck, revise_deck) and reasonable descriptions (150-200 chars). Input schemas are present with typed parameters and descriptions. However, output schemas are not documented in the visible code, only mentioned as 'JSON summary' without field definitions. Parameter descriptions are adequate but lack constraint details (e.g., no guidance on valid template paths, output_dir format, or research/mock interaction). Error handling and recovery guidance are absent from descriptions. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite both tools being write operations.
Create a new PowerPoint deck from a natural-language prompt. Returns a JSON summary with paths to the generated deck JSON and PPTX files, slide count, and any assumptions made during planning.
Revise an existing PowerPoint deck based on a natural-language instruction. The deck_path must point to a valid deck JSON file previously generated by create_deck or this tool's revision output. Returns a JSON summary with paths to the revised deck JSON and PPTX files.
Output schemas not documented. Descriptions mention 'JSON summary with paths to generated deck JSON and PPTX files, slide count, and assumptions' but no formal schema is visible. LLMs cannot plan downstream operations without knowing exact field names and types.
Missing tool annotations. Both create_deck and revise_deck are destructive write operations (generate/modify files) but lack destructiveHint annotation. Agents cannot distinguish safe reads from risky writes without explicit hints.
Parameter constraints underspecified. 'template' accepts a file path but no guidance on format (.pptx required?), existence check, or error handling if invalid. 'output_dir' defaults to './output' but no validation rules stated. 'sources' array items are strings but no format (file path vs URL detection logic) documented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
No error recovery guidance in descriptions. If LLM calls create_deck with invalid prompt or missing TAVILY_API_KEY (when research=true), descriptions do not explain what went wrong or how to retry. No mention of prerequisites (e.g., 'research requires TAVILY_API_KEY environment variable').
Mutual exclusivity and dependencies not documented. 'mock' and 'research' flags interact (mock disables LLM calls, research requires API key) but no description clarifies valid combinations or precedence. LLMs will pass both flags without understanding the conflict.