Meta-tooling reduces agent capability extension to a three-tool primitive: an editor to write tool code, a shell to execute, and a load tool wired to a directory (load_tools_from_directory=True). A system prompt supplies the tool specification and file-template contract, so a missing capability becomes a file write plus a load rather than a redeploy.
It relocates the boundary of agent capability from deploy-time code to runtime artifacts, meaning the harness needs only a stable, minimal tool surface instead of an exhaustive anticipated tool catalog.
Any agent runtime that can mutate and re-import its own extension surface (plugins, generated functions, config-driven adapters) can trade pre-enumeration of capabilities for runtime inference governed by a spec contract.
Only a few lines of code and three core tools (editor, shell, load tool) are needed for meta-tooling.
An agent is initialized with a system prompt defining tool specifications and file templates, along with three core tools (editor, shell, load_tool).
When a task requires a missing capability, the agent writes a new tool file and loads it dynamically.