Sentence-Transformers Training Router
huggingface/skills
Routes a sentence-transformers training task to the right model type and required reference docs and example scripts, covering bi-encoders, rerankers, sparse and multi-vector models.
Preserve + publish a finished RL (SkyRL/GRPO) training checkpoint after the job terminates (completed at maxsteps OR early-stopped/scancelled) on an HPC cluster (Jupiter/Leonardo/Perlmutter).
$ npx skills add open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanup --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/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .claude/skills/rl-agentic-job-cleanup && 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 "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .claude/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanupType 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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .agents/skills/rl-agentic-job-cleanup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .agents/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .cursor/skills/rl-agentic-job-cleanup && 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 "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .cursor/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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/open-thoughts/OpenThoughts-Agent.git --path .agents/skills/rl-agentic-job-cleanup--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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .gemini/skills/rl-agentic-job-cleanup && 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 "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .gemini/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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 open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanupInstalls 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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .github/skills/rl-agentic-job-cleanup && 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 "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .github/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install open-thoughts/OpenThoughts-Agent rl-agentic-job-cleanup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/open-thoughts/OpenThoughts-Agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/rl-agentic-job-cleanup .opencode/skills/rl-agentic-job-cleanup && 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 "rl-agentic-job-cleanup" agent skill from https://github.com/open-thoughts/OpenThoughts-Agent/tree/main/.agents/skills/rl-agentic-job-cleanup into .opencode/skills/rl-agentic-job-cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rl-agentic-job-cleanup", 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.
rl-agentic-job-cleanupPreserve + publish a finished RL (SkyRL/GRPO) training checkpoint after the job terminates (completed at maxsteps OR early-stopped/scancelled) on an HPC cluster (Jupiter/Leonardo/Perlmutter).
Rl Agentic Job Cleanup is an agent skill from open-thoughts/OpenThoughts-Agent. Preserve + publish a finished RL (SkyRL/GRPO) training checkpoint after the job terminates (completed at maxsteps OR early-stopped/scancelled) on an HPC cluster (Jupiter/Leonardo/Perlmutter). Covers: cancel pending retries, pick the BEST checkpoint by trailing-5 EMA of reward across the full restart chain, flatten weights to repo root, secret-scan, hf upload to laion/<job-<step-<size, Supabase DB register (--training-type RL + cross-user FK safety pre-check), upload training traces to penfever/<job, parse…
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering, covering Fine-tuning. It works with Supabase. The repository describes itself as: Data recipes and robust infrastructure for training AI agents. The licence is Apache-2.0.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3bd1917. 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.
Shell commands in SKILL.md call:
hfpythonFrom 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:
wandb.aihuggingface.coFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rl Agentic Job Cleanup loads about 2.4k tokens when it runs. Until then it costs about 181 tokens; SKILL.md has 646 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); files beside SKILL.md are not scanned.
The full file from open-thoughts/OpenThoughts-Agent at commit 3bd1917, republished under its Apache-2.0 licence (© open-thoughts). 646 words, ~2,434 tokens.
.claude/skills/rl-agentic-job-cleanup/SKILL.md (or your agent's skills folder).⚠ Do not add comments to YAMLs. Report your recommendations directly to the supervisor.
After an RL job terminates, publish laion/<job_name>-<step>-<size> (weights at repo root), trace dataset
penfever/<job_name>, and a Supabase models row (training_type=RL).
hf upload, NEVER hf upload-large-folder (deprecated stub; deadlocks on HF LFS 429s). Wrap long uploads in tmux, not nohup.--private is a no-value flag — do NOT pass --private false. Default is PUBLIC; omit it.parse_skyrl_metrics.py from the otagent conda env (the RL venv lacks google.cloud.storage + matplotlib).hf upload is SIGKILLed at ~100s — use the sbatch+tunnel upload pattern.squeue -u $USER --format='%.18i %.80j %.8T' | grep <job_name>
scancel <retry_job_ids># NOTE: there is an empty exports/ at the base level — ignore it. Real HF-exportable ckpts are nested:
ls -lt $EXPERIMENTS_DIR/<job_name>/<job_name>/exports/ | head -10Use the EMA of reward/avg_raw_reward over a trailing-5 window.
Rules:
.out and sort by
trainer/global_step; do not compute it per-chain link.α = 2/(5+1) = 1/3; EMA_n = α·reward_n + (1−α)·EMA_{n−1}, EMA_1 = reward_1.global_step_5 with hf_save_interval: 5) — EMA not warmed
up. Start from the second-saved step (typically 10).hf_save_interval, excluding the first), upload the highest
EMA. If scancelled before a save-aligned max-step, cap at the latest saved multiple.import json, glob, re
rewards = {} # step -> avg_raw_reward
for fn in glob.glob(f"{EXP_DIR}/logs/*.out"):
for line in open(fn):
m = re.search(r'trainer/global_step":\s*(\d+).*avg_raw_reward":\s*([\d.eE+-]+)', line)
if m:
step, r = int(m.group(1)), float(m.group(2))
rewards.setdefault(step, r) # first-seen wins (chain links may overlap)
steps = sorted(rewards)
alpha = 1/3
ema = {}; prev = rewards[steps[0]]
for s in steps:
prev = alpha * rewards[s] + (1 - alpha) * prev
ema[s] = prev
SAVE_EVERY = 5 # match hf_save_interval
aligned_eligible = [s for s in steps if s % SAVE_EVERY == 0 and s >= 2 * SAVE_EVERY]
best = max(aligned_eligible, key=ema.get)
print(f"best EMA={ema[best]:.4f} at step={best} (reward at that step={rewards[best]:.4f})")Upload the checkpoint at exports/global_step_<best>/.
From the job logs / trainer_log.jsonl: https://wandb.ai/dogml/OpenThoughts-Agent/runs/<run_id>. (Jupiter has no W&B — omit.)
UPLOAD_DIR=/e/scratch/jureap59/feuer1/upload_staging/<job_name>-<step>
mkdir -p $UPLOAD_DIR
cp $EXPORT_DIR/policy/* $UPLOAD_DIR/
ls $UPLOAD_DIR/ # safetensors, config.json, tokenizer files all at rootcp hpc/skyrl_yaml/<config_used>.yaml $UPLOAD_DIR/rl_config.yamltrufflehog filesystem $UPLOAD_DIR --no-update # if installed
trufflehog filesystem $EXPERIMENTS_DIR/<job_name>/<job_name> --no-update # logs/traces too
# fallback:
grep -rIE '(sk-[a-zA-Z0-9]{20,}|AKIA[0-9A-Z]{16}|ghp_[a-zA-Z0-9]{36}|hf_[a-zA-Z0-9]{34}|eyJ[a-zA-Z0-9._-]+)' $UPLOAD_DIRRedact before proceeding (the wrapper emits a JSON finding record even when clean):
python -m scripts.harbor.secret_redaction "$UPLOAD_DIR"laion/<job_name>-<step>-<size>Include the global step and base-model size suffix (-20-32B, -30-8B).
# tmux for long uploads. OMIT --private (no-value flag; default public).
hf upload laion/<job_name>-<step>-<size> $UPLOAD_DIR . --repo-type=modelThe SkyRL trainer auto-pushes
laion/<job_name>with weights undercheckpoints/step_N/. Upload the manually flattened export to-<step>-<size>instead.
--training-type RL) — with cross-user FK safetyDelete the trainer's auto-registered duplicate only if safe, then push the correct row. If any other-user
row in sandbox_jobs, sandbox_trial_model_usage, or elsewhere FKs the auto-row, stop; do not delete or mutate
the FK'd rows. Restrict all writes to rows you own.
other_users_fk = (c.table("sandbox_jobs").select("id,username,model_id")
.eq("model_id", auto_row_id).neq("username", os.environ.get("USER","<you>")).execute())
if other_users_fk.data:
print(f"SKIPPING auto-row delete — {len(other_users_fk.data)} other-user rows FK'd.")
else:
c.table("models").delete().eq("name", "laion/<job_name>").execute()
# optional, ONLY if pre-check passed: HfApi().delete_repo("laion/<job_name>", repo_type="model")Then register the -<step>-<size> repo (--training-type RL is REQUIRED — the script defaults to SFT):
python scripts/database/manual_db_push.py \
--hf-model-id laion/<job_name>-<step>-<size> \
--base-model <base_model_hf> \
--dataset-name <dataset_name> \ # comma-separated for multi-dataset → sets dataset_names
--training-type RL # --wandb-run optional (defaults to now)Verify --base-model is the exact HF repo trained from, not a default. Cross-check the job-name suffix,
trainer.policy.model.path in the .out launch command, or notes/ot-agent/rl_experiments.md.
penfever/<job_name>From the otagent env, always pass --skip_register for RL; register the model separately in step 7.
python -m scripts.harbor.make_and_upload_trace_dataset \
--job_dir "$EXPERIMENTS_DIR/<job_name>/<job_name>" \
--repo_id penfever/<job_name> --episodes last --skip_registerNever subsample or cap: upload the full trial set. The script reads the inner <job>/<job> trace_jobs/.
For image-backed Jupiter runs, pass the same inner run root. The exporter detects artifact_store.img, refuses an unsafe mount while a writer lock is active, mounts it read-only after the link exits, and unmounts it when export finishes. Legacy bare trace_jobs/ runs keep the existing path.
make_and_upload_trace_datasetbuffers the full dataset;chunk_sizedoes not bound peak RAM. Large login-node uploads can OOM; do not respond by sampling.
Then add a "Training Traces" section to $UPLOAD_DIR/README.md (append if a model card exists, don't
overwrite) linking penfever/<job_name>:
## Training Traces
Training-time Daytona/Harbor rollouts: **[penfever/<job_name>](https://huggingface.co/datasets/penfever/<job_name>)**
(the `last` episode of each trial — the rollouts the policy trained on after rollback/truncation).python scripts/analysis/parse_skyrl_metrics.py \
$EXPERIMENTS_DIR/<job_name>/logs $UPLOAD_DIR/training_logs \
--trace_jobs_dir $EXPERIMENTS_DIR/<job_name>/<job_name>/trace_jobs
cp $EXPERIMENTS_DIR/<job_name>/<job_name>/trainer_log.jsonl $UPLOAD_DIR/training_logs/ 2>/dev/null
cp $EXPERIMENTS_DIR/<job_name>/logs/<job_name>_*.out $UPLOAD_DIR/training_logs/
hf upload laion/<job_name>-<step>-<size> $UPLOAD_DIR . --repo-type=model # additiveProduces metrics.csv, vllm_metrics.csv, trial_stats.csv, report.md, reward_plot.png.
The metrics reader also detects a missing <run>/trace_jobs beside artifact_store.img and mounts the inactive image read-only for trial statistics.
WARNING: never use huggingface_hub.upload_folder() without delete_patterns=[] — it deletes files absent
locally and clobbers the weights. hf upload is additive (safe).
The model is complete only when its remote repo has weights, README.md with Training Traces, and
redacted training_logs/. Record every artifact as present, absent, or not applicable in the
cleanup handoff; an absent required artifact is not a completed cleanup.
hf api repo-info laion/<job_name>-<step>-<size> --repo-type model --expand siblings \
| python -c 'import json,sys; files=[x["rfilename"] for x in json.load(sys.stdin)["siblings"]]; print({"weights": any(x.endswith(".safetensors") for x in files), "readme": "README.md" in files, "training_logs": any(x.startswith("training_logs/") for x in files)})'Fetch README.md and verify it contains ## Training Traces and the exact penfever/<job_name> URL.
After all prior steps succeed, rm -rf the local job dir. Detach a large GPFS removal with nohup or tmux;
do not du or find it first.
© open-thoughts, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/rl-agentic-job-cleanup of open-thoughts/OpenThoughts-Agent.
Open the folder on GitHubat commit 3bd1917
Rl Agentic Job Cleanup 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 |
|---|---|---|---|---|---|---|
| Rl Agentic Job Cleanup this skillopen-thoughts/OpenThoughts-Agent | 301 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Sentence-Transformers Training Routerhuggingface/skills | 11k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Train RlOpenPipe/ART | 11k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Qwopus27b Rl TrainingR6410418/Jackrong-llm-finetuning-guide | 1.7k | — | ~830 | Automated safety check: Pass | Apache-2.0 | |
| Dataset Evaluationawslabs/agent-plugins | 916 | 1 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Train SftOpenPipe/ART | 11k | — | ~2.9k | Automated safety check: Pass | Apache-2.0 |
huggingface/skills
Routes a sentence-transformers training task to the right model type and required reference docs and example scripts, covering bi-encoders, rerankers, sparse and multi-vector models.
OpenPipe/ART
RL training reference for the ART framework. An agent skill from OpenPipe/ART.
R6410418/Jackrong-llm-finetuning-guide
Prepare, validate, launch-plan, monitor, resume, and stop configurable Qwopus 27B reinforcement-learning workflows for GRPO or GSPO.
awslabs/agent-plugins
Validates dataset formatting and quality for SageMaker model fine-tuning (SFT, DPO, or RLVR).
OpenPipe/ART
SFT training reference for the ART framework. An agent skill from OpenPipe/ART.
Orchestra-Research/AI-Research-SKILLs
Fine-tune LLMs using reinforcement learning with TRL - SFT for instruction tuning, DPO for preference alignment, PPO/GRPO for reward optimization, and reward model training.
open-thoughts/OpenThoughts-Agent
Analyze the token length of an OT-Agent conversation-format (ShareGPT-style) dataset — the per-trace distribution (median/p90/max) and/or counts under a token threshold + a metadata predicate (e.g.
open-thoughts/OpenThoughts-Agent
Given a list of models (HF name stubs) that have valid agentic ID eval scores in Supabase, build a ranking table: raw per-benchmark accuracy on the 3 ID benchmarks (SWE-Bench-100…
open-thoughts/OpenThoughts-Agent
Run the Iris harbor job-history analyzer (scripts/iris/analyzeirisharborjob.py) on a datagen/eval job and read its JSON sidecar for trustworthy throughput / preemption / productive-trial stats.
open-thoughts/OpenThoughts-Agent
Run the full RL behavioral-analysis pipeline (scripts/analysis/analyzerlbehavior.py) on a trained RL model to understand WHAT changed vs its pre-RL baseline, WHY, whether it PERSISTS, and its EVAL…
open-thoughts/OpenThoughts-Agent
Detailed health check for a Levanter/executor TRAINING run on the marin Iris cluster (e.g.
open-thoughts/OpenThoughts-Agent
DESIGN a non-trivial codebase change (Harbor / MarinSkyRL / vLLM / OT-Agent / LLaMA-Factory) as a dependency-ordered STAGED PLAN before writing code — a feature port, a multi-step fix with parity…
Works with
Categories
Preserve + publish a finished RL (SkyRL/GRPO) training checkpoint after the job terminates (completed at maxsteps OR early-stopped/scancelled) on an HPC cluster (Jupiter/Leonardo/Perlmutter). Rl Agentic Job Cleanup is an agent skill from open-thoughts/OpenThoughts-Agent. Preserve + publish a finished RL (SkyRL/GRPO) training checkpoint after the job terminates (completed at maxsteps OR early-stopped/scancelled) on an HPC cluster (Jupiter/Leonardo/Perlmutter).
Rl Agentic Job Cleanup fits situations like: an RL run needs its model uploaded + registered; asked to run the RL cleanup checklist.
Run `npx skills add open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a claude-code`. Or copy the skill folder (.agents/skills/rl-agentic-job-cleanup in open-thoughts/OpenThoughts-Agent) into .claude/skills/rl-agentic-job-cleanup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a codex`. Or copy the skill folder (.agents/skills/rl-agentic-job-cleanup in open-thoughts/OpenThoughts-Agent) into .agents/skills/rl-agentic-job-cleanup 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 open-thoughts/OpenThoughts-Agent --skill rl-agentic-job-cleanup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rl-agentic-job-cleanup, .gemini/skills/rl-agentic-job-cleanup, .github/skills/rl-agentic-job-cleanup and .opencode/skills/rl-agentic-job-cleanup in your project.
Going by SKILL.md and its folder, Rl Agentic Job Cleanup needs the command-line tools its instructions call (hf and python). Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: wandb.ai and huggingface.co; the agent is likely to contact these 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. Review the folder before installing.
Rl Agentic Job Cleanup is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Rl Agentic Job Cleanup: Sentence-Transformers Training Router (huggingface/skills, 11k stars), Train Rl (OpenPipe/ART, 11k stars), Qwopus27b Rl Training (R6410418/Jackrong-llm-finetuning-guide, 1.7k stars) and Dataset Evaluation (awslabs/agent-plugins, 916 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
open-thoughts (a GitHub organization) maintains it in open-thoughts/OpenThoughts-Agent, which has 301 GitHub stars. The repository holds 44 skills in this directory. The repository was last updated on September 28, 2026.
Source: open-thoughts/OpenThoughts-Agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.