Hugging Face LLM Trainer
huggingface/skills
Trains or fine-tunes language and vision models with TRL or Unsloth on Hugging Face Jobs cloud GPUs, then converts the results to GGUF.
A skill your agent uses when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint…
$ npx skills add ericrisco/rsc-harness --skill huggingface -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness huggingface --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/huggingface .claude/skills/huggingface && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .claude/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingfaceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill huggingface -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness huggingface --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/huggingface .agents/skills/huggingface && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .agents/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill huggingface -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness huggingface --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/huggingface .cursor/skills/huggingface && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .cursor/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/huggingface--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill huggingface -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness huggingface --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/huggingface .gemini/skills/huggingface && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .gemini/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness huggingfaceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill huggingface -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/huggingface .github/skills/huggingface && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .github/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill huggingface -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness huggingface --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/huggingface .opencode/skills/huggingface && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "huggingface" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/huggingface into .opencode/skills/huggingface/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huggingface", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
huggingfaceA skill your agent uses when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint…
Huggingface is an agent skill from ericrisco/rsc-harness. Use when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint with scale-to-zero, a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading one locally with transformers. NOT serving locally on your own machine (that is ollama), NOT renting your own GPU box (that is runpod), NOT hosted creative image APIs (that is replicate-images), NOT fine-tuning with trl/peft (that is…
Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/endpoints-and-spaces.md`).
It sits in AI & LLM Engineering, covering Model hubs and datasets and Fine-tuning. It works with Hugging Face, Ollama and Gradio. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 92fde8f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
hfpiphuggingface-cliFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
router.huggingface.coFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
HF_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Huggingface loads about 2.6k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 137 tokens; SKILL.md has 1,014 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit 92fde8f, republished under its MIT licence (© ericrisco). 1,014 words, ~2,560 tokens.
.claude/skills/huggingface/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Hugging Face is three surfaces, and you should always know which one you are on:
hf download / hf upload, you read and write model cards.transformers (you own the machine).The whole skill is choosing the right surface for the job and proving it works: a 200 router
response, a live endpoint URL, a pushed repo commit. If the model is open and the workflow
lives on huggingface.co, you are in the right place. Operating the GPU box yourself is
../ollama/SKILL.md (your machine) or ../runpod/SKILL.md
(a rented box); training weights is ../finetuning/SKILL.md.
Pick the row before you write a line of code. The cheapest mistake is standing up infra you did not need.
| Situation | Use | Why |
|---|---|---|
| Try a model now, low/dev volume, own no infra | Inference Providers router (InferenceClient) | Fastest path; monthly credits cover dev. |
| CPU task: embeddings, text-ranking, text-classification, small BERT/GPT-2 | provider="hf-inference" | That is exactly its remaining niche as of July 2025. |
| Big LLM (8B, 70B, 405B) through HF | router with a partner provider (Together/Fireworks/Cerebras/DeepInfra…) | hf-inference does not serve big LLMs — it will 404 or stall. |
| Steady prod traffic, need fixed latency/SLA | dedicated Inference Endpoint + scale-to-zero | Predictable, autoscaling, billed per minute. |
| Interactive demo or shareable GPU app | Space (Gradio + ZeroGPU) | Free-ish, public URL, GPU only while a call runs. |
| One-off GPU job (eval, batch convert) | hf jobs run | No standing infra; PRO feature. |
| Offline, data-private, or already on a GPU box | local transformers pipeline() | No network, no per-call cost. |
pip install "huggingface_hub[inference]" # 1.17.0; needs Python >=3.10
pip install transformers # 5.x line, PyTorch-first, optional/local
hf auth login # stores a token; or export HF_TOKEN=...hf now, shaped hf <resource> <action> (hf auth login, hf download,
hf upload, hf repo create, hf jobs run). huggingface-cli still runs but prints a
deprecation warning — do not write it into new scripts.hf_... token in code — tokens leak the moment the file hits git. Read
from the environment instead:import os
from huggingface_hub import InferenceClient
client = InferenceClient(api_key=os.environ["HF_TOKEN"]) # never api_key="hf_xxx"One router reaches 200+ models across partner providers plus hf-inference; HF passes provider
cost through with no markup. Two equivalent entry points:
# Native client — task methods, NOT the removed .post()
from huggingface_hub import InferenceClient
client = InferenceClient(api_key=os.environ["HF_TOKEN"])
out = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[{"role": "user", "content": "One sentence on diffusion models."}],
provider="together", # name a partner; or omit for auto-routing
)
print(out.choices[0].message.content)# OpenAI-compatible — same router, drop-in for existing OpenAI code
from openai import OpenAI
client = OpenAI(
base_url="https://router.huggingface.co/v1", # this exact host, nothing else
api_key=os.environ["HF_TOKEN"],
)InferenceClient.post() was removed (dropped in hub v0.31.0). Use the task methods:
chat.completions.create(), text_generation(), feature_extraction() (embeddings),
text_to_image(), automatic_speech_recognition().bill_to="org-name" (header X-HF-Bill-To).references/inference-providers.md.hf download meta-llama/Llama-3.1-8B-Instruct --include "*.safetensors"
hf repo create my-org/my-model --repo-type model
hf upload my-org/my-model ./out --commit-message "v1 weights"from huggingface_hub import snapshot_download
path = snapshot_download("BAAI/bge-small-en-v1.5") # full repo, cached, resumableREADME.md with YAML front-matter (license, pipeline_tag, tags,
base_model). Ship one on every upload — why: an uncarded repo is unsearchable and unusable by
anyone but you. Command map and hf jobs run details in references/hub-and-cli.md.Filter the Hub by task + license + size + recent downloads, then read the card before you commit. Match the model to your constraint; do not grab whatever is trending.
Move off the router when you need fixed latency/SLA, or the router's PAYG cost stops being predictable. An Endpoint is your own autoscaling deployment.
huggingface_hub (create_inference_endpoint(...)). Config and a
cost worksheet are in references/endpoints-and-spaces.md.A Space hosts a demo app with a public URL. ZeroGPU grabs an H200 MIG slice (~70GB) only while a decorated function runs, then releases it.
import spaces
@spaces.GPU # GPU acquired for this call only
def generate(prompt: str) -> str:
...references/endpoints-and-spaces.md.from transformers import pipeline
pipe = pipeline("text-generation", model="meta-llama/Llama-3.1-8B-Instruct",
device_map="auto", torch_dtype="auto")
print(pipe("Hello", max_new_tokens=64)[0]["generated_text"])pipeline("task", model=...) for quick use; AutoModelForCausalLM.from_pretrained(...) when
you need control over generation/quantization. Set device_map/torch_dtype explicitly.| Anti-pattern | Why it bites | Do instead |
|---|---|---|
InferenceClient.post(...) | Removed in hub v0.31.0; raises | Task methods: chat.completions.create(), feature_extraction() |
provider="hf-inference" for a 70B/405B LLM | CPU niche; 404s or stalls | Route to a partner provider (Together/Fireworks/Cerebras) |
api_key="hf_abc123..." in code | Token leaks in git history | Read os.environ["HF_TOKEN"] |
| Spin up a dedicated Endpoint just to try a model | Burns money idle | Use the router first; graduate only on real traffic |
| Assuming router calls are free/unlimited | Free tier is $0.10/mo | Budget credits; expect PAYG |
| ZeroGPU under Streamlit/Docker SDK | Unsupported, silently no GPU | Use the Gradio SDK |
huggingface-cli ... in new scripts | Deprecated, warns | Use hf ... |
OpenAI base URL other than https://router.huggingface.co/v1 | Won't reach the HF router | Use that exact host |
scripts/verify.sh [TARGET] is a static, read-only linter (no network, no token). It flags the
hard violations above — .post(, hardcoded hf_ tokens, big-LLM-to-hf-inference, wrong router
host — and warns on legacy huggingface-cli. It exits 0 on a clean or empty target.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (scripts, references) in skills/huggingface of ericrisco/rsc-harness.
Open the folder on GitHubat commit 92fde8f
Huggingface next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Huggingface this skillericrisco/rsc-harness | 156 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Hugging Face LLM Trainerhuggingface/skills | 11k | 3 repos | ~7.2k | Automated safety check: Pass | Apache-2.0 | |
| Huggingface Lora Space Buildersickn33/agentic-awesome-skills | 47k | 1 repos | ~8.3k | Automated safety check: Pass | Apache-2.0 | |
| Dataset Transformationawslabs/agent-plugins | 912 | 2 repos | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Space Doctorhuggingface/hf-mcp-server | 302 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Hugging Face Vision Trainerhuggingface/skills | 11k | 1 repos | ~7.5k | Automated safety check: Pass | Apache-2.0 |
huggingface/skills
Trains or fine-tunes language and vision models with TRL or Unsloth on Hugging Face Jobs cloud GPUs, then converts the results to GGUF.
sickn33/agentic-awesome-skills
Build and publish a Gradio demo on Hugging Face Spaces for a user-provided LoRA.
awslabs/agent-plugins
Generates code that transforms datasets between ML schemas for model training or evaluation.
huggingface/hf-mcp-server
Diagnose broken Hugging Face Gradio Spaces from their actual logs and pinned source, then prepare a minimal verified source fix as candidate files.
huggingface/skills
Trains and fine-tunes object detection, image classification and SAM or SAM2 segmentation models on Hugging Face Jobs cloud GPUs and saves the results to the Hub.
waybarrios/opencode-power-pack
Train or fine-tune language models with TRL or Unsloth on Hugging Face Jobs, including SFT, DPO, GRPO, reward models, and GGUF conversion.
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
Works with
Categories
A skill your agent uses when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint…. Huggingface is an agent skill from ericrisco/rsc-harness. Use when running open models or working on the Hugging Face platform — the Inference Providers router or InferenceClient, Hub repos via the hf CLI, a dedicated Inference Endpoint with scale-to-zero, a Gradio Space with ZeroGPU, picking an open model by task/license/size, or loading one locally with transformers.
Huggingface fits situations like: running open models; working on the Hugging Face platform — the Inference Providers router; inferenceClient; hub repos via the hf CLI.
Run `npx skills add ericrisco/rsc-harness --skill huggingface -a claude-code`. Or copy the skill folder (skills/huggingface in ericrisco/rsc-harness) into .claude/skills/huggingface in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill huggingface -a codex`. Or copy the skill folder (skills/huggingface in ericrisco/rsc-harness) into .agents/skills/huggingface in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill huggingface -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/huggingface, .gemini/skills/huggingface, .github/skills/huggingface and .opencode/skills/huggingface in your project.
Going by SKILL.md and its folder, Huggingface needs a shell for the scripts in its folder, the command-line tools its instructions call (hf, pip and huggingface-cli) and credentials named HF_TOKEN. Our summary lists: Python 3; A Bash shell; Docker.
SKILL.md names 1 domain. In commands or code: router.huggingface.co; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Huggingface is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Huggingface: Hugging Face LLM Trainer (huggingface/skills, 11k stars), Huggingface Lora Space Builder (sickn33/agentic-awesome-skills, 47k stars), Dataset Transformation (awslabs/agent-plugins, 912 stars) and Space Doctor (huggingface/hf-mcp-server, 302 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 156 GitHub stars. The repository holds 229 skills in this directory. The repository was last updated on October 6, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.