declare_my_tool
Register an existing tool so HyperRoute routes matching tasks to it by name. Provide verbatim trigger phrases that decide when your tool is used.
Instructions
Declare a tool the USER already has, so HyperRoute routes to it by name when they said to. Call this when the user says something like "I have my own web search, always use it for research", "we have an internal API for X", or "use my VPN tool whenever I need to connect".
triggers is the whole thing, and it is REQUIRED: the sentences saying WHEN to use the tool,
kept verbatim in the user's own words and language. Pass what they actually said — "for
invoices go through my Xero thing", "mp3s over two minutes go to Olena's transcriber", "use it
whenever I need to do a VPN connect". Do not tidy it into a category, do not translate it, and
do not drop a condition ("only if the file is in Japanese" is part of the trigger). That
sentence is read against every incoming query, and it is what decides whether their tool
wins. A tool may
carry several triggers; pass them all.
description is optional free text about what the tool is. capabilities is optional too —
named regions used only to word the user's own outcome report, never to route. Leave both
empty unless the user gave you something to put there; a declaration with a trigger and
nothing else is complete.
stance — "pinned" (default) means their tool wins whenever a trigger fires; "benchmarked"
lets a catalog tool displace it once the user's own reported outcomes show it underperforming.
Start pinned; that is what the user asked for.
When NO trigger fires the tool is simply not in the ranking, so a declaration is never a blanket override. Nothing here is scored — HyperRoute has never tested their tool and never claims to have.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| stance | No | pinned | |
| triggers | Yes | ||
| project_id | No | ||
| description | No | ||
| capabilities | No |