nlweb-tools-framework
Installation
SKILL.md
NLWeb Tools Framework
Config layout changed upstream. NLWeb replaced the single
site_types.xmlwith two files inconfig/:sites.xml(site name →itemTypelist + description) andtools.xml(per-site / per-type tool definitions, prompts and examples, scoped by<Site id="…">/<Item>blocks). Older guidance — including anysite_type/extendsinheritance syntax — describes the retired file. Fetchconfig/sites.xmlandconfig/tools.xmlfrom the live repo before editing anything.
Before writing code
Fetch live docs:
- Fetch https://github.com/nlweb-ai/NLWeb/blob/main/docs/tools.md for the canonical tools framework reference.
- Fetch https://github.com/nlweb-ai/NLWeb/blob/main/config/sites.xml for the per-type tool inheritance tree.
- Read
AskAgent/python/core/router.py::ToolSelectorfor how routing actually picks a tool. - Read existing handlers in
AskAgent/python/methods/:generate_answer.py,item_details.py,compare_items.py,ensemble_tool.py,recipe_substitution.py,accompaniment.py. - Fetch https://github.com/nlweb-ai/NLWeb/blob/main/docs/nlweb-prompts.md for the
<returnStruc>JSON contract that handlers must satisfy.