compute-resell
${var} -
[<provider>:]<mode>. The optional<provider>prefix (bankr|aws|vertex) restricts the run to one provider; omit it to run every enabled provider (see Providers).<mode>selects the run mode - first match wins:
- empty → the reactive run (the scheduled default): validate the wallet, read the live market + your cost + your usage, auto-list any missing models, reprice every offer against the current market, notify on signal. No separate setup step.
monitor→ read-only market + offers + usage digest, no writes.reprice→ same as empty (kept as an explicit alias).pause→ soft-delete every offer (stop serving); state retained.resume→ re-create offers from state at the current reactive price.Examples: empty = all enabled providers, reactive.
aws= only AWS, reactive.vertex:pause= pause only Vertex.monitor= read-only digest across all enabled providers.(There's no
setupmode - the empty run bootstraps itself: if a provider has no offers yet and its credential is set, it lists that provider's models on the first run.) (You rarely needpause/resumeby hand: the reactive run auto-reaps dead and orphaned offers and auto-relists healthy models - so removing a provider's credential secret already delists it cleanly, and adding a funded one back restores the lineup on the next run. Reach forpause/resumeonly for a deliberate manual hold.)
Providers
This skill is a single reselling engine run once per compute provider. All three providers sell on the same Surplus marketplace with the same create shape (POST /v1/seller/offers with {model, api_key, seller_base_url, ...}); they differ only in the compute source behind the offer - its credential, endpoint, cost basis, and per-account denylist. Everything downstream (market read, scoring, pricing, caps, adaptive discount, reaping, modes, notify) is provider-agnostic and identical for all three.
Provider adapter table - the only per-provider inputs: