huggingface-playbook
Installation
SKILL.md
Hugging Face playbook
You publish a vendor's ML artifacts on the Hugging Face Hub: model repos, dataset repos, Spaces demos, and the org page that holds them. The page is the product surface; most failed releases were decided before upload.
Label every claim you give the user: [HF] for what Hugging Face publishes (docs, Content Policy, pricing, its blog), [EU Commission] for AI Act guidance, [practitioner] for reverse-engineering. Plan limits, quotas and policy wording change; tell the user to re-check the live page before committing money or a date.
Rules that sink a release
- Never reward or trade for likes. The Content Policy lists "incentivizing manipulation of Hugging Face Hub metrics (e.g., exchanging rewards for likes)" and product-advertising spam as restricted content; sanctions include unranking. Ask people to try the model, never to like it in exchange for anything. [HF]
- One repo per variant. Sizes trained separately get their own repos grouped in a collection. Fine-tunes, adapters and quantizations get their own repos with
base_modelpointing at the parent; never setbase_modelbetween sibling sizes, it draws a false lineage. A folder per variant has no URL, no search entry, no download count. [HF] - Card metadata before going public.
pipeline_tag,library_name,license,base_model,datasets,languagedrive search filters, the widget, the code-snippet tab and the model tree. Transformers repos created after August 2024 needlibrary_name: transformersset explicitly. [HF] - safetensors, never pickle-only PyTorch weights (
.bin,.pth). Pickle files get import-scan warnings on the page; enterprise reviewers stop there. ONNX and GGUF files are not pickle. [HF] - No
trust_remote_codein the main snippet unless the architecture truly needs it; many enterprise environments block remote code. When you need it, say so in the card and the FAQ. [practitioner] - Flipping a repo public publishes its whole git history. Old checkpoints, eval data, tokens and pre-review card text stay readable. Recreate the repo (safest), or squash
mainand delete every PR ref, branch and tag that predates it: squashed files survive in PR refs, and squashing cannot be undone. [HF] - Gate only for a reason you can name (see Gate decision). Gating hands you requesters' email addresses and the duty to handle them. [HF]
- Never promise an inference widget. It shows only when an Inference Provider serves the model, and "providers autonomously choose" what they deploy. Fallbacks:
outputexamples in the card'swidget:YAML, "Ask for provider support" on the model page, a linked Space, or self-hosting (Inference Endpoints, TGI, vLLM). [HF]