30.0 / 30
What changed in the harness
Selection accuracy 95%, destructive-action safety rate 100% (baseline only -- no rewrite pass applied).
Category breakdown
Where the score comes from.
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
01Safety
02Legibility
27.6 / 30
03Economics
19.4 / 20
04Discoverability
11.8 / 20
Highest-impact fix
Estimated gain +8 pointsMake target tools discoverable on the first call
Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.
Description evidence
Defects and rewrites.
0 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
| No description defects were flagged in this assessment. | ||
Selection evidence
Confusable tool pairs.
9 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
get_alternatives |
get_leaderboard |
medium | Both return a top-N ranked list of verified tools in a category with rating/price/free-plan fields. A query like 'top software tools in the CRM category' or 'best alternatives to Slack' could plausibly trigger the wrong one, though the 'alternatives to X' phrasing usually disambiguates. |
get_alternatives |
get_pricing |
low | Intents are distinct ('what can I use instead of X' vs 'how much does X cost'); their shared tokens are only incidental. A pricing question would not naturally route to alternatives. |
get_pricing |
get_leaderboard |
low | Pricing plans vs top-rated rankings are semantically far apart; natural language about costs would not plausibly select the leaderboard. |
get_tool |
compare_tools |
low | 'Tell me about X' vs 'compare X vs Y' are clear triggers. Confusion would require the user to ask for an overview while using a comparison that explicitly names two tools, which compare_tools handles well. |
get_tool |
get_alternatives |
medium | 'What can I use instead of X?' is an alternatives request, but its weaker forms like 'what else is there like X?' or 'what are good Notion-type tools?' could make an agent fetch the tool profile instead, since both center on a single slug. |
get_tool |
get_leaderboard |
low | Single-tool profile lookup vs category-ranked top tools are clearly separated; shared tokens are coincidental. |
get_tool |
get_pricing |
low | Descriptions explicitly distinguish them ('get_tool' even says prefer get_pricing for cost questions). The accurate tool is determinable from definitions. |
list_category |
list_categories |
medium | Near-duplicate names with singular/plural split. Phrasings without a category slug ('which categories exist?', 'list categories') could over-trigger list_category, and 'list CRM tools' correctly picks list_category. The plural cue usually disambiguates but is not bulletproof. |
search_tools |
compare_tools |
low | search_tools is for discovery and returns many results; compare_tools needs exactly two slugs. Even a vague 'compare CRM tools' benefits from search first, and both descriptions cross-reference each other to resolve ambiguity. |
Compare the field