Borrowing it
Nothing to install: this file belongs to XFuel-Lab/xfuel-protocol. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/XFuel-Lab/xfuel-protocol/main/.cursor/skills/add-provider-hub/SKILL.mdgit clone --depth 1 https://github.com/XFuel-Lab/xfuel-protocolWrote 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/xfuel-lab/xfuel-protocol/add-provider-hub)<a href="https://agentmods.dev/skills/xfuel-lab/xfuel-protocol/add-provider-hub"><img src="https://agentmods.dev/badge/skills/xfuel-lab/xfuel-protocol/add-provider-hub/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/xfuel-lab/xfuel-protocol/add-provider-hub"><img src="https://agentmods.dev/badge/skills/xfuel-lab/xfuel-protocol/add-provider-hub.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.00170 | $0.02099 |
| Opus 5 | $0.00085 | $0.01050 |
| Sonnet 5 | $0.00034 | $0.00420 |
| Haiku 4.5 | $0.00017 | $0.00210 |
Grade A, and why
add-provider-hub scanned grade A with 0 findings 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 12d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Adding a provider hub to the gateway
A hub is discovery + rate + capacity + inference, in that order. The catalogue is the control
plane: provider-rates.js, pricing.js, routing and /v1/models all read from it, so a row that
is wrong in the catalogue is wrong everywhere downstream.
Since ADR 0009 the gateway prices as measured provider COGS + 10%. That changes the stakes of this work: the rate you parse is no longer an internal margin figure, it is the buyer's invoice.
The two failure modes that cost money
Both are silent. Neither throws, and both look like a working integration.
1. The rate is parsed, and wrong. Theta encodes price as an integer over cost_divisor, in the
unit named by its instructions field, denominated in US cents — which the API never states.
TFUEL is the natural guess and is wrong by about 110x. Under cost-plus that is charged to the buyer.
Two independent cross-checks pinned it: the diffusion models read 1 per image against the
$0.01/request Theta bills for the same models on RapidAPI, and GLM-5.2 read 154/484 per 1M
tokens against AkashML's $1.40/$4.40 for the identical model — a 10% premium, not a 110x gap.
Never trust a hub's price encoding until you have reconciled one model against an independent price for the same model. A same-model comparison across two hubs should land within single-digit multiples. Orders of magnitude mean you have the unit wrong, not a bargain.
2. The rate is not parsed at all. rateForModel returns null for any cost shape it does not
recognise, estimateCogsFromRequest returns basis: 'no_rate', and the quote falls back to the
rate card. The hub serves, receipts sign, tests pass, and every model on it is priced off a card
nobody chose for it. There is no error. A test asserting basis === 'measured' for the new hub is
the only thing that catches this.
Decision rules
| The hub… | Do this |
|---|---|
Publishes OpenAI-ish {input, output} decimal USD-per-token |
Nothing — the default branch of rateForModel handles it |
| Uses its own encoding (integers, divisors, per-1M, a currency) | New <hub>Rate(cost) branch, keyed on catalogModel.hub, converting to USD per token |
| Prices per artefact (image, video) not per token | input: 0, output: 0, put the charge in perRequest. Take Math.max, never the sum — ESRGAN carries 1 on both sides and summing double-charges |
| Charges a flat fee per call on top of tokens | Must land in perRequest, or short calls under-report COGS exactly where it hurts most |
| Discounts cached reads | cachedInput. Absent means not discounted, not free — leave it null so reads bill fresh |
| Publishes live capacity (worker/replica counts) | Map it to capacity in the catalogue row |
| Publishes no capacity | Leave capacity undefined, and extend provider-health.js probing — see below |
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.
- 12d ago First seen · 131 lines · 170 tokens per session scan A a37a20789124
add-provider-hub is a skill published in the GitHub repository XFuel-Lab/xfuel-protocol (1 stars, last pushed 12d ago), licensed Apache-2.0. It adds 170 tokens to every session and 2,099 once invoked, about $0.0009 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
aurora-sdks
Integrate an application with the aurora-agent backend over HTTP or stdio. Use when asked to start or configure the bioprism-api gateway, call the backend from TypeScript or Python, pick between REST and MCP transports, or test MCP wiring without building the Rust binary.
apiany-integration
Use when a user asks to integrate with APIAny, choose or compare APIAny models, estimate APIAny credits or pricing, migrate OpenAI-compatible clients to APIAny, generate APIAny model usage examples, or run confirmed APIAny image and video tasks through the APIAny MCP server.
api-services
API reference for built-in service providers (LLM, Speech, Graph). Use when looking up service interfaces, provider capabilities, or integration patterns.
venice-chat
Call POST /chat/completions on Venice. Covers the OpenAI-compatible request shape, Venice-only veniceparameters (web search, E2EE, characters, thinking control, X search), multimodal inputs (images/audio/video), tool calls, reasoning controls, streaming, prompt caching, structured output, and model feature suffixes.
gemini-api-agent-platform
Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK for enterprise AI applications. Covers SDK usage (Python, JS/TS, Go, Java, C#), capabilities like Live API, tools, multimedia generation, caching, and batch prediction.
open-source
Documentation reference for writing Python code using the browser-use open-source library. Use this skill whenever the user needs help with Agent, Browser, or Tools configuration, is writing code that imports from browseruse, asks about @sandbox deployment, supported LLM models, Actor API, custom tools, lifecycle…