model-management

Manages GGUF model files, quantization, and the Model Manager download service in HOT-Step CPP.

151|22|Updated Apr 19, 2026
One-click install
npx skills add https://github.com/scragnog/HOT-Step-CPP --skill model-management-scragnog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: model-management
Source: https://github.com/scragnog/HOT-Step-CPP/tree/main/.claude/skills/model-management
Command: npx skills add https://github.com/scragnog/HOT-Step-CPP --skill model-management-scragnog

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? HOT-Step CPP loads music-generation models (LM, DiT, VAE, text encoder) from GGUF files, and failures like "no GGUF models found", crash-loops, or models that show as installed but never appear in generation dropdowns are hard to diagnose without knowing how the engine scans and classifies files. This Skill documents the exact registry rules, quantization procedures, and download-service internals needed to add, convert, quantize, publish, and debug models. ## Core Features & Use Cases - Model installation and classification: Explains which component (LM, DiT, VAE, text encoder, PP-VAE) needs which file, where files must live, and how the engine's startup scan classifies GGUF, safetensors, and ONNX files. - Conversion and quantization procedures: Step-by-step commands for converting Hugging Face safetensors checkpoints to BF16 GGUF, quantizing to Q4_K_M/Q8_0/MXFP4 and other types, and converting ComfyUI int8/ConvRot checkpoints. - Model Manager and publishing workflow: Covers the Node download service, the model-registry.json catalogue, REST API routes, and the full publish pipeline (Hugging Face upload, registry entry, pack assignment, prereq verification). - Use Case: A user reports a model shows "installed" in the Model Manager but is missing from generation dropdowns. The Skill pinpoints the cause: the engine scans only root-level .gguf files while the Node installed-check also scans one subdirectory level, so the file must be moved to the models root. ## Quick Start Ask the assistant to diagnose why a downloaded GGUF model is not appearing in the generation dropdowns, or to walk through quantizing a BF16 DiT model to Q4_K_M.

Frequently Asked Questions about model-management

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I quantize a GGUF model to Q4_K_M?

Run quantize.exe from the repo root with a BF16 input GGUF, an output path, and the target type, for example quantize.exe models\acestep-v15-turbo-BF16.gguf models\acestep-v15-turbo-Q4_K_M.gguf Q4_K_M. Valid types include Q2_K through Q8_0, NVFP4, and MXFP4. Never quantize VAE files.

Why does my model show installed but not appear in generation dropdowns?

The engine scans only root-level .gguf files in the models directory, while the Node installed-check also scans one subdirectory level. A GGUF in a subfolder appears installed in the Model Manager but is invisible to the engine. Move the file to the models root and restart.

How do I convert Hugging Face safetensors checkpoints to GGUF?

Use engine/convert.py, which reads checkpoint directories from engine/checkpoints and writes BF16 GGUFs to engine/models with hardcoded paths. Classification is by directory name, such as acestep-v15 for DiT. Alternatively, drop the safetensors checkpoint directory directly into models since the engine loads it natively.

What causes the ace-server crash loop with missing DLL errors?

Missing cuBLAS or cudart runtime DLLs next to ace-server.exe cause the "crashed 3 times within 30s" loop. Runtime DLLs install beside the executable, not in the models folder. The Model Manager CUDA Runtime pack or the first-launch bootstrap normally installs them.

Can I quantize the VAE model to save VRAM?

No. The quantize tool deliberately never quantizes VAE-architecture tensors or small critical tensors like silence_latent and null_condition_emb, because quantizing them destroys audio quality or breaks generation. Always quantize from BF16 sources and keep the VAE at full precision.

How do I publish a new model so other users can download it?

Upload the weights to Hugging Face, add an entry with exact sizeBytes to server/src/data/model-registry.json, add it to a pack if a feature requires it, then verify with node server/scripts/check-release-prereqs.mjs. A model that exists only locally is unavailable to every user.