The starting point is that I feel current agents don't understand their environment at all. It's like a blind elephant—extremely powerful, yet completely blind. How can you expect someone who is blind to complete complex tasks, despite their extraordinary capabilities?

​So, I made this tool, runbook. It is a CLI tool specifically designed to let agents clearly understand their environment, what tools are available to choose from, and which tool should be used under what circumstances.

​The idea is simple, but the results are great. I first built an awesome-agent-cli repo, specifically to store CLI tools that are useful for agents (note: not just "useful CLI tools", but "useful to agents", which is completely different). Runbook uses this awesome-agent-cli as a data source. The scan command can scan your computer environment to see which CLI tools that agents would use are installed, letting the agent know what it can use. Meanwhile, the category command allows the agent to search for what tools exist under a certain category in awesome-agent-cli, letting it choose which tool to use for the current task; if it's not on your computer, it can remind you. The prefer command lets you set your preferred CLI toolchain—for example, if you prefer using bun over npm or pnpm, the agent will know your preference before taking action.