Two tools with complete input schemas and descriptions, but descriptions are generic and lack LLM-optimized guidance. Parameter descriptions are present but minimal (10-30 chars). No output schema documentation. Error handling exists but lacks recovery guidance. Naming is clear (verb_noun pattern). No tool annotations or composition patterns evident.
Fetch the full death notice details for a specific notice ID. Returns formatted information including name, dates, location, description, funeral details, and charity information.
Search for death notices on RIP.ie by name, county, and date range. Returns a formatted list of matching death notices with links to full details.
Output schemas not documented. LLMs cannot plan downstream calls or extract structured data without knowing what fields to expect.
Parameter descriptions are minimal (10-30 chars) and lack format/constraint guidance. E.g., 'date_from' says 'Start date in format YYYY-MM-DD HH:MM:SS' but does not explain what 'start' means (creation date? death date?) or whether it is inclusive.
Tool descriptions lack WHEN/WHY guidance. 'Search for death notices...' states WHAT but not WHEN to use this vs get_death_notice, or what the agent should do with results.
No error recovery guidance. Code returns generic errors ('API error', 'Could not parse') without actionable next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
County parameter accepts free-form string with no enum constraint. LLM may hallucinate invalid county names. Code validates server-side but error message is verbose and not LLM-optimized.