Search the DM's knowledge tree by keyword. The tree holds game rules under `rules/` and world facts under `lore/`. Give one or more `keywords`. An entry matches only when every keyword appears, as a substring, in its name, its address, or its body. Matching ignores case. Use `scope` to limit the search to one part of the tree, like `rules/monsters` or `lore`. Leave `scope` out to search the whole tree. Use `filter` to match entries by their frontmatter fields. Pass an object like `{"level": "9"}` or `{"type": "monster", "cr": "5"}`. An entry matches when every key is present and its value equals the filter value. For list fields like `classes`, the entry matches if the filter value is one of its elements. Numbers are matched as their string representation — use `"9"` not `9`. A search with no matches often means a keyword is too specific. Retry with a shorter stem, like `grappl` for `grapple`, or a different word. A result may show an entry's full text, or list its address alone. Use `read` to fetch an entry by address. The tree also holds notes for entities established earlier by wikilinks in your narration. A search that finds no match for a person, place, or thing you are introducing means it does not exist yet: establish it by narrating its name as a wikilink, not by decorating it with bold. A note established this session reaches you through the prompt's Entity notes section, not through this tool.