nlweb-tools-framework

Installation
SKILL.md

NLWeb Tools Framework

Config layout changed upstream. NLWeb replaced the single site_types.xml with two files in config/: sites.xml (site name → itemType list + description) and tools.xml (per-site / per-type tool definitions, prompts and examples, scoped by <Site id="…"> / <Item> blocks). Older guidance — including any site_type / extends inheritance syntax — describes the retired file. Fetch config/sites.xml and config/tools.xml from the live repo before editing anything.

Before writing code

Fetch live docs:

  1. Fetch https://github.com/nlweb-ai/NLWeb/blob/main/docs/tools.md for the canonical tools framework reference.
  2. Fetch https://github.com/nlweb-ai/NLWeb/blob/main/config/sites.xml for the per-type tool inheritance tree.
  3. Read AskAgent/python/core/router.py::ToolSelector for how routing actually picks a tool.
  4. Read existing handlers in AskAgent/python/methods/: generate_answer.py, item_details.py, compare_items.py, ensemble_tool.py, recipe_substitution.py, accompaniment.py.
  5. Fetch https://github.com/nlweb-ai/NLWeb/blob/main/docs/nlweb-prompts.md for the <returnStruc> JSON contract that handlers must satisfy.

Conceptual Architecture

Installs
9
GitHub Stars
39
First Seen
May 21, 2026