## Tooling
The **Tooling** chapter lists all built‑in keywords and their one‑line descriptions.

| Keyword | Description |
|---------|-------------|
| `TALK` | Send a message to the user. |
| `HEAR` | Receive user input. |
| `LLM` | Invoke the configured large‑language‑model. |
| `ADD_TOOL` | Register a custom tool at runtime. |
| `GET` | Retrieve a value from the session store. |
| `SET` | Store a value in the session store. |
| `FORMAT` | Format numbers, dates, or text. |
| `ADD_KB` | Create a new knowledge‑base collection. |
| `SET_KB` | Switch the active knowledge‑base. |
| `ADD_WEBSITE` | Crawl and index a website. |
| `CALL` | Invoke a registered tool synchronously. |
| `CALL_ASYNC` | Invoke a tool asynchronously. |
| `LIST_TOOLS` | List all available tools for the session. |
| `REMOVE_TOOL` | Unregister a tool. |
| `CLEAR_TOOLS` | Remove all custom tools. |
| `FIRST` / `LAST` | Access first/last element of a collection. |
| `FOR EACH` / `EXIT FOR` | Iterate over collections. |
| `IF` / `ELSE` / `ENDIF` | Conditional execution. |
| `WHILE` / `ENDWHILE` | Loop while a condition holds. |
| `REPEAT` / `UNTIL` | Loop until a condition is met. |
| `WAIT` | Pause execution for a given duration. |
| `ON` | Register an event handler. |
| `SET_SCHEDULE` | Define a scheduled task. |
| `PRINT` | Output debugging information. |
| `GET_BOT_MEMORY` / `SET_BOT_MEMORY` | Access bot‑wide memory store. |
| `CREATE_SITE` | Create a new website entry in a knowledge base. |
| `CREATE_DRAFT` | Generate a draft document. |
| `WEBSITE OF` | Reference a website object. |
| `FIND` | Search within collections. |
| `GET` / `SET` | Generic getters/setters for variables. |
| `...` | See the full keyword list in `chapter-05/keywords.md`. |
