Skip to main content
skill CX Codex

discovery — Claude Code skill: what it does, how to install

The skill checks GPU availability, stock levels, and prices across Runpod catalogs without launching resources. It also estimates VRAM needs for model inference.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add runpod/runpod-plugins-official --skill discovery -a claude-code
Open on GitHub

What discovery does

The skill queries Runpod catalogs via runpod-mcp read operations. It checks GPU and CPU availability, hourly rates, per-datacenter stock across pods and serverless products, and CUDA versions with active capacity. You can also inspect the Hub marketplace for prebuilt workers or search the public template catalog.

For hardware sizing, it estimates memory demand using parameter counts and precision formats such as fp16 or int8, adding roughly 20% for activations and KV cache. Then it names the smallest card tier that clears that requirement with confirmed stock. If no hardware matches the criteria, it reports that nothing was found instead of guessing unverified stock.

This is an advisory tool that never modifies infrastructure or creates pods. Note that the public template listing caps results at 100 entries without pagination, which makes deep searches limited.

What it helps with

  • estimate required VRAM from model parameters and precision
  • check live GPU stock and hourly rates across Runpod data centers
  • identify supported CUDA versions with available host capacity
  • find ready-made Hub workers or public templates without manual searching

Example prompts for the agent

  • Estimate required VRAM for an fp16 model and show available cards with hourly prices.
  • Check live GPU availability for pods across Runpod data centers with required CUDA capacity.
  • Search Runpod public templates for an official text generation image.

How to install discovery

1Skills CLI (Vercel)

npx skills add runpod/runpod-plugins-official --skill discovery -a claude-code

2Manually: put the files in place

~/.claude/skills/discovery/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/discovery/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about discovery

How to install discovery in Claude Code?

Run npx skills add runpod/runpod-plugins-official --skill discovery -a claude-code. The skill configuration will be placed in ~/.claude/skills/discovery/SKILL.md.

What does the discovery skill do?

It acts as a read-only discovery layer over Runpod catalogs, reporting real-time GPU stock, pricing, CUDA capacity, and sizing model VRAM requirements.

Can discovery deploy a pod or serverless endpoint?

No, discovery is strictly read-only and never provisions infrastructure. Deployment tasks require separate deployment skills.

Source text

SKILL.md · Apache-2.0
---
name: discovery
description: 'Answer what is available, what fits and the price against Runpod''s catalogs: GPU and CPU
  types with price, live stock per data center and per product, the CUDA versions that have capacity,
  the Hub worker marketplace, the public template catalog, and the pay-per-use Public Endpoints. Read-only:
  it filters to the user''s real constraint, sizes a model''s VRAM need against real stock, quotes price
  and stock from the reads, and says "none found" rather than inventing an entry. Use when the user asks
  a catalog, sizing, availability or price question that does not ask to create anything through the Runpod
  MCP tools.'
metadata:
  author: runpod
  version: "1.8.0" # x-release-please-version
  concepts: [gpu-type, gpu-availability, gpu-pool, cpu-flavor, data-center, cloud-tier, hub-repo, template, public-endpoint]
license: Apache-2.0
---

# Discovery

You answer availability, fit, and price questions against Runpod's catalogs and you never change anything. Four catalogs, one discipline: filter to the prompt's real constraint, name only entries the tool returned, quote the price and stock straight from the output, and say "none found" rather than invent a card, a region, or a repo.

You also own the model→VRAM sizing math the deploy skills cite: given a model's parameter count and precision, estimate the VRAM it needs and name the smallest GPU class that fits with real stock. Sizing is advice: this skill recommends, it does not deploy.

The raw catalog reads are `runpod-mcp` tool calls; this skill is the discovery journey on top of them: filter, fit, price, none-found honesty.

## Required capabilities

Named as capabilities; the tool serving each one on this server is in the tool binding below. Every capability here is a read.

- Read the GPU catalog with price and live availability.
- Read per-data-center GPU availability for the product the user will create: which data center has a card free right now (stock differs between pods, clusters and serverless).
- Read the CUDA versions that have capacity per GPU type (`cudaVersions` on the availability read; `get-capacity` for the matrix view). A CUDA floor is a capacity question, not only a compatibility one.
- Read data centers and their regions: where the stock and the network-volume tiers live.
- Read the CPU catalog for CPU-pod and CPU-serverless sizing questions.
- Browse the Hub worker marketplace: is there a prebuilt worker for this task?
- Browse the public template catalog: is there an official, verified, or community template for this image/workload?
- Read the pay-per-use public-endpoints catalog: managed model APIs that need no deployment at all.

## Journeys

### GPU availability + price

Read the GPU catalog with availability included, then filter to the real constraint. For a VRAM tier ("N GB GPUs"), filter to that tier; do not list the whole fleet. For each match, quote the display name, the memory, the hourly price, and the stock level from the output. Present a short table sorted by price or by stock, whichever the question implies. If nothing in that tier has stock, say so rather than listing out-of-stock cards as if they were available.

### Stock by region / CUDA

Two different questions need two different reads; do not mix them up.

- **Capacity for `<card>` in a region or data center.** Ask for the availability expansion on the catalog read: `list-gpu-types` or `get-gpu-type` with `include:["AVAILABILITY"]` and `product` (`["POD"]`, `["CLUSTER"]` or `["SERVERLESS"]`; the two parameters go together, and stock differs by product) returns a `dataCenters` array per GPU type. `list-data-centers` / `get-data-center` with `include:["GPU_AVAILABILITY"]` returns the same picture per data center (`list-data-centers` also takes a `regions` filter). Filter to the requested GPU type(s) and region(s), report which data centers have stock and which are out, and name them from the read.
- **Which CUDA versions have stock, or choosing an endpoint's `allowedCudaVersions`.** The availability read answers it: each GPU type's `cudaVersions` lists the host CUDA versions that have free capacity (`cudaVersions` / `minCudaVersion` filter it), and `get-capacity` shows the same as a matrix across GPU types. Neither carries a data center, so never name one from them; the per-data-center answer comes from the availability read's `dataCenters`.

### Sizing a model to a GPU

Estimate required VRAM from the model's real parameters and precision, then name the smallest GPU that fits with stock. Rough VRAM: weights ≈ params(B) × bytes-per-param (fp16 → 2, int8 → 1, int4/awq/gptq → 0.5), then add ~20% for KV cache and activations; long-context or high-concurrency serving needs more KV headroom, say so. Read the GPU catalog and recommend the smallest class whose memory clears that estimate and shows real stock, plus the next size up as headroom. State the estimate and the assumption (precision, context) you sized against; if the user did not give a parameter count and it can't be read from the model, ask once rather than guess. A which-card-at-what-price question is this journey: read the catalog now and state the recommended card's hourly price **and its current stock as a definite fact from the availability read**. Never end on an offer to "check live capacity later" or hedge the stock with "should be available"; the stock read is one call, so make it.

### Prebuilt workers on the Hub

Browse the Hub for a prebuilt worker matching the task (search by term and category: language, image, audio, video, embedding). Name the repos the catalog returned, their owner, and what each is for; if the config is available, note the hardware it wants. Attribute every repo to the listing; never assert a repo from memory. If nothing matches, say "none found on the Hub" and stop; the deploy path from a found repo is `serverless-deploy`.

### Ready-made public template

Browse the public template catalog when the user asks what image or template already exists for a workload. `source` picks the slice: `official` (Runpod-curated, the default), `verified` (community, Runpod-verified), `community` (everything else shared publicly). Each entry's `serverless` flag says whether it is a pod or a serverless template; say which slice you searched and which kind you are naming. Name only templates the read returned, with their id, and stop at "none found" rather than inventing one. The catalog returns at most 100 templates and does not paginate, so say the listing is capped rather than implying it is exhaustive. Deploying from one is `pod-deploy` or `serverless-deploy`; the user's own templates are `lifecycle-crud`.

### Pay-per-use, no deployment

When the user wants a one-off result ("run this model once on my input") and does not want to run infrastructure, read the public-endpoints catalog: managed, pay-per-use model APIs (text, image, video, audio) that need no deployment. Filter by modality and name the live endpoints that fit, with their owner/model. This is often the right answer to a one-off request; recommend it over standing up an endpoint. If the catalog has nothing for the modality, say so, but NEVER end on the gap. Name the closest real path that does exist (usually deploying a Hub worker for that modality on serverless, clearly labeled as a deploy, not pay-per-use) so the user leaves with an option. Do not present a deployable worker as if it were pay-per-use.

## Hard rules

- Never call a mutating tool from this skill. Discovery reads; it does not create, update, stop, or delete anything.
- Name only entries the tool returned. No invented GPU classes, regions, prices, Hub repos, or public endpoints.
- Quote price and stock from the output. No arithmetic on prices the tool didn't return, no "should be around" figures.
- Report empty results as empty: "none found" is a correct answer, and better than a plausible fabrication.
- Sizing is a recommendation with its assumption stated, not a deployment. Fitting a model is `serverless-deploy`'s job.
- Filter to the prompt's real constraint; do not dump the whole catalog when the user asked about one tier or one region.
- Keep the answer internally consistent: a summary line about stock must agree with the per-data-center table it summarizes; when two reads disagree, name the more recent one instead of contradicting yourself.

## Error handling

- `include:["AVAILABILITY"]` without `product`, or `product` without the include → the API answers 400; send both, for the product the user will create.
- A catalog read returns an empty list → report "none found" for that filter; do not widen the search silently or fabricate entries.
- The user gives a VRAM tier no card matches → say no card in that tier is in the catalog (or has stock) rather than rounding to a nearby card unasked.
- A read fails → report the failure and stop; do not answer from memory.

## Tool binding

| Capability | Tool |
|---|---|
| GPU catalog + price + stock | `list-gpu-types` / `get-gpu-type` (`include:["AVAILABILITY"]` with `product`) |
| Per-data-center GPU availability | the same read (`dataCenters[]`); `list-data-centers` / `get-data-center` (`include:["GPU_AVAILABILITY"]`) |
| CUDA versions with capacity, per GPU type | the same read (`cudaVersions`); `get-capacity` for the matrix view |
| Data centers | `list-data-centers`, `get-data-center` |
| CPU catalog | `list-cpu-types`, `get-cpu-type` (`include:["AVAILABILITY"]` with `product`) |
| Browse the Hub | `list-hub-repos` (`searchTerm`, `category`, `includeConfig`) |
| Browse the public template catalog | `list-public-templates` (`source`: `official` / `verified` / `community`) |
| Pay-per-use Public Endpoints | `list-public-endpoints` (`modality`, `owner`) |

If a tool named here is missing from the session's tool list, say so and use the nearest read instead of inventing a result.

## Contract

The cross-journey answer contract (definite facts from reads, commit-don't-hedge, mutations bind to this conversation's creations, a standalone final message, honest failure, granted tools only) is defined in the `runpod-mcp` skill and applies to every reply from this journey. If the `runpod-mcp` skill has not been loaded in this conversation, load it now, before the next tool call: its rules on which resources you may change, when a request is the go, and when to stop for the user are not repeated here.

© runpod · Apache-2.0 · runpod/runpod-plugins-official

Similar skills

All skills for Cloud: AWS, Azure, GCP →

From the same set12

runpod-usage Explains how Runpod works: Pods versus Serverless, GPU and VRAM choices, image builds, storage and networking. Useful when you need to decide what to run before running anything. CX Codex +1 12,500installs runpod-migrate Migrates Runpod GraphQL API and REST v1 code to REST v2, locating call sites and breaking changes. Use it before an API upgrade or to identify the API generation in a repository. CX Codex +1 10,800installs runpod-templates A skill that finds official Runpod Pod templates, explains their ports and autostart, and repairs model metadata in ComfyUI workflows. CX Codex +1 10,100installs serverless-deploy Turns a model or worker source into a working Runpod Serverless endpoint through MCP tools: picks the engine, sizes the GPU, provisions and proves it with one real job. CX Codex +1 2,700installs pod-doctor Diagnoses unreachable, GPU-blind, or stuck Runpod Pods using Runpod MCP tools. It stays read-only until you approve a specific recovery step. CX Codex +1 2,600installs endpoint-ops A skill for an existing Runpod Serverless endpoint: finds why jobs queue up or workers die, and changes a setting only when you authorize it. CX Codex +1 2,700installs cost-audit Reads a Runpod account and shows where the money goes: idle Pods, always-on serverless workers, spend broken down by resource type. Read-only. CX Codex +1 2,700installs runpod-build-template Turns an app request, local code or GitHub repo into a complete Runpod template project with a documented Dockerfile and deployment handoff. CX Codex +1 1,200installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor