tessl install tessl/npm-isbot@5.1.0Recognise bots/crawlers/spiders using the user agent string.
Agent Success
Agent success rate when using this tile
82%
Improvement
Agent success rate improvement when using this tile compared to baseline
0.94x
Baseline
Agent success rate without this tile
87%
{
"context": "Evaluates whether the solution leans on the isbot package to classify user agents and expose which detection engine ran, especially its automatic downgrade when advanced regex support is missing. Checks that both single and batch helpers propagate package-driven detection paths without custom regex replacements.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Default path",
"description": "`classifyUserAgent` (and any helper it calls) uses `isbot` and its compiled pattern for the normal path instead of custom regex or string matching.",
"max_score": 25
},
{
"name": "Fallback usage",
"description": "When `forceLegacy` is set or advanced regex features are unavailable, detection switches to the package's built-in fallback (`isbotNaive` or the automatic downgrade from `isbot`/`getPattern`) rather than a hand-rolled heuristic.",
"max_score": 25
},
{
"name": "Engine labels",
"description": "The returned `engine` field is derived from which package detector ran (compiled `isbot` vs. fallback `isbotNaive`/downgraded path) and not from unrelated state or custom flags.",
"max_score": 20
},
{
"name": "Null safety",
"description": "Null/undefined/empty user agents are handled through the package detectors (e.g., passing them to `isbot`/`isbotNaive`) to surface the library's safe falsey behavior without throwing custom errors.",
"max_score": 15
},
{
"name": "Batch summary",
"description": "`summarizeUserAgents` counts bots by invoking the package-backed classifier for each entry (or directly reusing `isbot`/`isbotNaive`) rather than reimplementing regexes or pattern lists, preserving the same fallback semantics across the batch.",
"max_score": 15
}
]
}