Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OrcaQubits/agentic-commerce-skills-plugins --skill nlweb-tools-frameworkgit clone --depth 1 https://github.com/OrcaQubits/agentic-commerce-skills-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-tools-framework)<a href="https://agentmods.dev/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-tools-framework"><img src="https://agentmods.dev/badge/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-tools-framework/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-tools-framework"><img src="https://agentmods.dev/badge/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-tools-framework.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.02039 |
| Opus 5 | $0.00050 | $0.01019 |
| Sonnet 5 | $0.00020 | $0.00408 |
| Haiku 4.5 | $0.00010 | $0.00204 |
Grade A, and why
nlweb-tools-framework scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl 'http://localhost:8000/ask?query=test&site=X&streaming=false&forced_tool=your_tool' How it starts
The opening of the file, as written. The whole thing — 181 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
Conceptual Architecture
What a "Tool" Is in NLWeb
Confusingly, "tool" means two different things in NLWeb depending on context:
- Internal tool / handler — a Python module in
methods/that theToolSelectorroutes a query to (e.g.,compare_items.py). This is the meaning used in this skill. - MCP tool — the JSON-RPC tool exposed at
/mcp(ask,list_sites,who). See thenlweb-mcp-serverskill for that meaning.
When NLWeb's docs say "tools framework," they mean (1).
The Tool Routing Flow
For every /ask request:
ToolSelector(core/router.py) inspects the decontextualized query + detected Schema.org type.- It consults
tools.xml/tools.xmlfor the candidate tools for that type. - It makes an LLM call (with a strict
<returnStruc>JSON output schema) asking "which tool fits?" - The selected handler in
methods/<tool>.pyis invoked. - The handler runs retrieval + ranking + any tool-specific logic, then emits results.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 181 lines · 100 tokens per session scan A ee9727545844
nlweb-tools-framework is a skill published in the GitHub repository OrcaQubits/agentic-commerce-skills-plugins (39 stars, last pushed 2d ago), licensed MIT. It adds 100 tokens to every session and 2,039 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-15.
Other skills, from other repositories
archestra-dev-llm-providers
Use when adding an LLM provider, changing proxy adapters or provider routes, fixing streaming/tool-call translation bugs, editing model fetchers or model handling, or touching provider credentials/enums and model constants.
chaingpt
Build with the ChainGPT Web3 AI developer platform. Full API/SDK reference and project scaffolding for: Web3 AI Chatbot & LLM, AI NFT Generator, Smart Contract Generator, Smart Contract Auditor, AI Crypto News, AgenticOS Twitter agents, and Solidity LLM. Use when building blockchain apps, Web3 chatbots, NFT tools…
switchboard
Complete Switchboard Oracle Protocol SDK for Solana - the permissionless oracle solution for price feeds, on-demand data, VRF randomness, and real-time streaming via Surge. Covers TypeScript SDK, Rust integration, Oracle Quotes, and all Switchboard tools.
0g-compute
0G Compute Network guide for decentralized AI inference, fine-tuning, and GPU services. Covers chatbots, image generation, speech-to-text, SDK integration (0g-serving-broker), processResponse API, broker.inference methods, CLI commands (0g-compute-cli), and account management. Use this skill for any 0G compute, 0G AI…
near-ai-cloud
NEAR AI Cloud private inference and verification. Use when integrating NEAR AI Cloud API for verifiable private AI inference, verifying model or gateway TEE attestation (NVIDIA NRAS, Intel TDX), verifying chat message signatures, implementing end-to-end encrypted chat, or using the OpenAI-compatible API with NEAR AI…
omni-compression
Configure RTK (command output), Caveman (prose), and stacked compression modes. Manage language packs, custom rules, and test prompt compression reducing tokens by 60–90%.