CLI tool to analyze how AI platforms see, cite, and recommend any brand. Provides AI visibility and readiness scores across multiple AI platforms.
Two tools with basic descriptions but significant schema and parameter documentation gaps. 'analyze' and 'compare' have acceptable high-level descriptions (100+ chars), but input schemas lack proper type definitions for nested objects and arrays. Parameters lack detailed constraints, format specifications, and validation guidance. No output schemas documented. Error handling is minimal, no recovery guidance or actionable error messages. Tool names are verb-based but descriptions don't explain when to use each vs. the other. No evidence of idempotency guarantees or side-effect clarity.
Analyze how AI platforms see, cite, and recommend a brand. Returns AI visibility score, readiness score, platform visibility breakdown, competitors, strengths, gaps, and recommendations.
Compare AI visibility and readiness scores across multiple domains. Analyzes at least 2 domains and returns comparative metrics including platform visibility breakdown.
Input schemas lack proper JSON Schema type definitions. 'domain' and 'domains' parameters have descriptions but no explicit 'type' field in schema. Array parameter 'domains' in compare tool has no minItems constraint documented.
No output schema documented for either tool. LLMs cannot plan downstream operations or extract required fields without knowing the response structure (e.g., what fields does 'result' contain?).
Error handling provides no recovery guidance. Code calls process.exit(1) on failures with generic messages like 'Analysis failed' or 'Invalid response'. LLMs receive no actionable next steps.
Parameter 'output' in analyze tool is optional but lacks format specification. No guidance on file path format, permissions, or what happens if write fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No distinction between tools. Both 'analyze' and 'compare' descriptions are similar in length and scope. LLMs may conflate them or choose incorrectly. Descriptions should clarify: analyze = single domain deep dive; compare = multi-domain benchmarking.