Two tools with basic schemas and descriptions, but significant gaps in parameter documentation, error handling guidance, and output schema clarity. stripe-detector has a minimal 1-param schema; stripe-filter accepts complex nested objects but lacks per-item error handling. Neither tool description explains when to use one vs. the other, what the confidence/details fields contain, or how to interpret results. No error recovery guidance. Descriptions are adequate length (60 - 90 chars) but lack actionable context for LLM selection.
Detect if a website or product uses Stripe for payments
Filter a list of products to only those using Stripe for payments
Output schemas not documented. stripe-detector returns {stripe_enabled, confidence, details, error} but LLM cannot infer field types or when details is populated. stripe-filter returns {total, stripe_enabled, products} with no schema for the filtered product structure.
Parameter descriptions lack actionable constraints. 'url' param has no format hint (must be http/https?), no length limits, no validation rules. 'products' array has no min/max length, no guidance on required fields per item.
Error handling provides no recovery guidance. Both tools catch errors and return error fields, but do not explain what caused the error or what the LLM should do next (retry, check URL format, etc.).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Tool descriptions do not explain when to use stripe-detector vs. stripe-filter, or what confidence score means. No guidance on prerequisites (e.g., must URL be publicly accessible?) or expected latency.
stripe-filter does not document per-item success/failure. If 3 of 10 products fail validation, does the tool return partial results or fail entirely? Current code suggests partial results, but this is not stated in the description.