Skip to main content
skill CX Codex

hf-mem — Claude Code skill: what it does, how to install

Estimates the memory a Hugging Face model needs for inference without downloading the weights. Useful before you commit a GPU to a model.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add huggingface/skills --skill hf-mem -a claude-code
Open on GitHub

What hf-mem does

The skill answers the fit question while the weights stay on the Hub. hf_mem pulls repository metadata over HTTP Range requests and estimates the footprint of Safetensors or GGUF weights for inference. Nothing gets loaded locally.

Add --experimental and it also sizes the KV cache. That covers LLMs (...ForCausalLM), VLMs (...ForConditionalGeneration) and GGUF models. Context length comes from the model, and --max-model-len overrides it. Cache precision follows the model precision unless you set --kv-cache-dtype yourself.

Runs come through uvx, so uv has to be on the machine. Gated and private models need HF_TOKEN or the --hf-token flag. A GGUF repo yields one estimate per file, while inference loads a single precision, so skipping --gguf-file hands you a number for a run you are not doing. Pass the file you mean to use.

What it helps with

  • size up memory for a model before pulling weights
  • check whether a model fits the GPU you have
  • estimate KV cache memory for an LLM or VLM
  • pick the GGUF quantization that fits available memory
  • compare memory needs of several Hub model IDs

Example prompts for the agent

  • How much VRAM does MiniMaxAI/MiniMax-M2 need to run?
  • Check with hf-mem whether unsloth/Qwen3.5-397B-A17B-GGUF at Q4_K_M fits on my GPU.
  • Estimate memory for google/embeddinggemma-300m, no KV cache needed.

How to install hf-mem

1Skills CLI (Vercel)

npx skills add huggingface/skills --skill hf-mem -a claude-code

2Manually: put the files in place

~/.claude/skills/hf-mem/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/hf-mem/

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

Questions about hf-mem

How do I install hf-mem in Claude Code?

Run npx skills add huggingface/skills --skill hf-mem -a claude-code. The skill lands at ~/.claude/skills/hf-mem/SKILL.md.

What does hf-mem do?

It estimates inference memory for models on the Hugging Face Hub, covering Safetensors or GGUF weights and, with --experimental, the KV cache. The weights themselves are never downloaded.

Does hf-mem download the model weights?

No. It reads metadata through HTTP Range requests, so the estimate comes from the Hub without storing weights on disk.

Source text

SKILL.md · Apache-2.0
---
name: hf-mem
description: Hugging Face CLI to estimate the required memory to load Safetensors or GGUF model weights for inference from the Hugging Face Hub
---

`hf_mem` estimates the required memory for inference, including model weights and an optional KV cache, for Safetensors and GGUF for models on the Hugging Face Hub using HTTP Range requests i.e., without downloading or loading any weights locally.

## When to use?

- User asks how much VRAM or memory a model needs to run
- User wants to know if a model fits on their GPU or a given instance
- User references a Hugging Face model ID or URL and asks about inference requirements

## What are the requirements?

- `uv` installed (for `uvx`)
- `HF_TOKEN` env var or `--hf-token` flag (for gated or private models only)

## How to run?

Run with `--model-id` pointing to the Hugging Face Hub repository which will check that it either contains Safetensors (via `model.safetensors`, `model.safetensors.index.json` if sharded, or `model_index.json` for Diffusers) or GGUF model weights within.

```bash
uvx hf-mem --model-id <model-id> --json-output
```

If the repository contains GGUF model weights in multiple precisions / quantizations, the estimations will be on a per-file basis, whereas for inference you won't load all of those but rather only a single precision. This being said, for GGUF you might as well need to provide `--gguf-file` to target the specific file (or path if sharded) you want to run.

```bash
uvx hf-mem --model-id <model-id> --gguf-file <file-or-path> --json-output
```

Additionally, `hf-mem` comes with an `--experimental` flag that will also calculate the KV cache memory requirements too, useful for large-language models, meaning it applies to LLMs (`...ForCausalLM`), VLMs (`...ForConditionalGeneration`), and GGUF models.

As per the context window, it will be read from the default or overridden with `--max-model-len` a la vLLM. And, same goes for the KV cache precision, which will default to the model precision unless manually set via `--kv-cache-dtype` a la vLLM too.

For Safetensors use as:

```bash
uvx hf-mem --model-id <model-id> --experimental [--max-model-len N] [--batch-size N] [--kv-cache-dtype auto|bfloat16|fp8|fp8_ds_mla|fp8_e4m3|fp8_e5m2|fp8_inc] --json-output
```

And, for GGUF use as:

```bash
uvx hf-mem --model-id <model-id> --gguf-file <file-or-path> --experimental [--max-model-len N] [--batch-size N] [--kv-cache-dtype auto|F32|F16|Q4_0|Q4_1|Q5_0|Q5_1|Q8_0|Q8_1|Q2_K|Q3_K|Q4_K|Q5_K|Q6_K|Q8_K|IQ2_XXS|IQ2_XS|IQ3_XXS|IQ1_S|IQ4_NL|IQ3_S|IQ2_S|IQ4_XS|I8|I16|I32|I64|F64|IQ1_M|BF16|TQ1_0|TQ2_0|MXFP4] --json-output
```

## Examples

For Transformers with Safetensors weights:

```bash
uvx hf-mem --model-id MiniMaxAI/MiniMax-M2 --json-output
```

For Diffusers with Safetensors weights:

```bash
uvx hf-mem --model-id Qwen/Qwen-Image --json-output
```

For Sentence Transformers with Safetensors weights:

```bash
uvx hf-mem --model-id google/embeddinggemma-300m --json-output
```

With `--experimental` to include the KV cache estimation for LLMs and VLMs:

```bash
uvx hf-mem --model-id mistralai/Mistral-7B-v0.1 --experimental --json-output
```

And, for LLMs or VLMs with GGUF weights:

```bash
uvx hf-mem --model-id unsloth/Qwen3.5-397B-A17B-GGUF --gguf-file Q4_K_M --experimental --json-output
```

© huggingface · Apache-2.0 · huggingface/skills

Similar skills

All skills for AI and ML →

From the same set25

train-sentence-transformers A Claude Code skill that walks an agent through training sentence-transformers models, from picking the encoder type to pushing weights to the Hugging Face Hub. CX Codex +1 1,500installs huggingface-zerogpu Skill for Gradio apps on Hugging Face Spaces with ZeroGPU: where @spaces.GPU belongs, how to size duration, what breaks at the worker boundary. CX Codex +1 1,300installs huggingface-spaces This skill helps build, deploy, and debug apps on Hugging Face Spaces. Use it for Gradio, Docker, Static SDKs, model loading, and ZeroGPU. CX Codex +1 1,100installs trl-training Helps write and debug TRL post-training code for language models, including SFT, DPO, GRPO, KTO and reward-model training. CX Codex +1 909installs huggingface-lora-space-builder Builds and publishes Gradio demos on Hugging Face Spaces for LoRA checkpoints. Tailors diffusers pipelines and UI inputs, targeting ZeroGPU hardware by default. CX Codex +1 810installs hf-cloud-sagemaker-production-defaults This skill creates SageMaker endpoints with autoscaling, CloudWatch alarms, and tags. Use it for the final model deployment step. CX Codex +1 549installs hf-cloud-python-env-setup Configures an isolated Python environment for AWS and SageMaker automation. It ensures compatible Python versions and installs up-to-date boto3 to avoid API mismatches. CX Codex +1 548installs hf-cloud-sagemaker-deployment-planner Picks a deployment pathway for a model on Amazon SageMaker: real-time, async, serverless or batch. Useful once training is done and the endpoint still isn't decided. CX Codex +1 544installs

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