New problem: Even if you use tool descriptions, most models—even the good ones—aren’t conditioned to read them.
So what do I do?
I put the tool instructions in the system prompt. Works fine...
if you’ve only got half a dozen endpoints.
But what happens when you’ve registered hundreds of tools?
You blow up your session windows, or end up with dumb agents.
That’s what.
There has to be a better way.
And there is.
When your heartbeat service kicks in—spinning up the planner, and lighting up your agent instances—you define your registered tools at deploy-time, by appending the system prompt with a curated list that matches the current task.
Problem solved?
Almost, but not quite.
Now you've got a new issue:
What if the planner, automated QA, or the agent itself doesn’t have access to a tool it suddenly needs?
Easy.
Just give them lookup permissions, and a nice shiny endpoint.
They can query the full registry via a plugin search.
You just have to remind them to transcribe everything they need into their project notes—so the next agent, or the next loop, always has context for the taskset.
See?
Not that hard.