Plot ML Figure
probabl-ai/skills
Pick how to write a figure before custom plot code. An agent skill from probabl-ai/skills.
MANDATORY whenever a task involves training, fine-tuning, tuning, or evaluating a machine-learning model on data (tabular, time series, text, images — any modality).
$ npx skills add hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins ml-pipeline --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .claude/skills/ml-pipeline && 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 "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .claude/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipelineType 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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins ml-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .agents/skills/ml-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .agents/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins ml-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .cursor/skills/ml-pipeline && 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 "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .cursor/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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/hashgraph-online/awesome-codex-plugins.git --path plugins/jananthan30/ml-pipeline/skills/ml-pipeline--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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins ml-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .gemini/skills/ml-pipeline && 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 "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .gemini/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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 hashgraph-online/awesome-codex-plugins ml-pipelineInstalls 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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .github/skills/ml-pipeline && 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 "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .github/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins ml-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/jananthan30/ml-pipeline/skills/ml-pipeline .opencode/skills/ml-pipeline && 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 "ml-pipeline" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/jananthan30/ml-pipeline/skills/ml-pipeline into .opencode/skills/ml-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ml-pipeline", 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.
ml-pipelineMANDATORY whenever a task involves training, fine-tuning, tuning, or evaluating a machine-learning model on data (tabular, time series, text, images — any modality).
ML Pipeline is an agent skill from hashgraph-online/awesome-codex-plugins. MANDATORY whenever a task involves training, fine-tuning, tuning, or evaluating a machine-learning model on data (tabular, time series, text, images — any modality). Enforces a strict 16-step pipeline that starts with inspecting the raw data, gates each phase behind the user's explicit permission, and produces marimo notebooks with matplotlib visuals so the user can see and understand every step. Never jump straight to model training.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/model-selection.md`).
It sits in Data & Analytics, covering MLOps, Fine-tuning and Data visualization. It works with marimo, Matplotlib and Git. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9e7b281. 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:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From 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.
ML Pipeline loads about 3.2k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 113 tokens; SKILL.md has 1,588 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 hashgraph-online/awesome-codex-plugins at commit 9e7b281, republished under its Apache-2.0 licence (© hashgraph-online). 1,588 words, ~3,233 tokens.
.claude/skills/ml-pipeline/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Hard rule: no model is trained until every earlier step in the pipeline is done and the user has explicitly approved the phase gates before it. "Train a model on this data" is a request to start the pipeline at step 1, not at step 10.
RAW DATA
→ 1. Data inspection
→ 2. Exploratory data analysis (EDA)
→ 3. Define the prediction problem
──────────── GATE A: user approval ────────────
→ 4. Data cleaning
→ 5. Data engineering
→ 6. Train / validation / test split
→ 7. Feature engineering
→ 8. Preprocessing
──────────── GATE B: user approval ────────────
→ 9. Baseline model
→ 10. Model training
→ 11. Hyperparameter tuning
→ 12. Model evaluation
──────────── GATE C: user approval ────────────
→ 13. Error analysis
→ 14. Final test (test set touched ONCE)
→ 15. Deployment (only if user asks)
→ 16. Monitoring + retraining plan
──────────── GATE D: wrap-up report ───────────At each gate, STOP and give the user, in plain non-jargon language:
Model rationale: block (format under Progress tracking).If the user says "skip ahead" or "just train it": explain in 2–3 sentences which steps are missing and the concrete risk (usually leakage or garbage-in), then ask once for explicit override confirmation. If they confirm, proceed and record the override in PIPELINE.md.
On first use in a project, create ml_pipeline/PIPELINE.md — a checklist of the 16 steps
with status (todo / in progress / done / approved-gate / overridden), one line of results
per finished step, and dated gate approvals. Update it after every step. On any new session,
read it first and resume from the first unfinished step — never restart, never skip ahead
of it.
Record each gate approval on its own line in exactly this shape — the enforcement hook parses it:
- Gate A: approved 2026-09-16
- Gate B: approved 2026-09-17
- Override: Gate B - user approved skipping to training 2026-09-17 - reason: <why>A line that says a gate is todo, pending, or not yet approved never counts as approval.
After recording a gate approval in a git repository, checkpoint it:
git add -A && git commit -m "ml-pipeline: Gate X approved" && git tag -f gate-X. Every approved
phase is then a reproducible point to return to.
Before recording Gate B: approved, PIPELINE.md must contain a model rationale in exactly this shape
(the hook checks the five bullets exist; the user judges their content):
Model rationale:
- traits: binary, 1,428 rows (small), minority 11.4%, has_datetime, no groups
- baseline: majority-class dummy + logistic regression (class_weight=balanced)
- candidates: gradient boosting with small trees; regularized logistic
- ruled out: neural nets (small data); k-NN (mixed scales, weak on tabular); random split (temporal)
- metric: PR-AUC primary, recall at fixed precision secondaryml_pipeline/: 01_eda.py (steps 1–3), 02_prep.py (steps 4–8), 03_model.py
(steps 9–12), 04_eval.py (steps 13–16). In Claude Code, drive them live with the
marimo-pair skill so the user watches the work happen. In other harnesses, write the
notebook files and tell the user to open them with marimo edit <file>.ml_pipeline/figures/<step>_<name>.png so gates can reference
them even without a live notebook.ml_pipeline/guard.py (its path is given at
session start; in Codex/Kimi it is skills/ml-pipeline/lib/mlpipeline_guard.py next to this file),
load the raw data read-only, and run guard.profile(df, target=..., time_col=..., group_col=...).
Read ml_pipeline/data_profile.json before anything else: its leakage_suspects and traits
decide the split, the metric, and the model family. Report rows × columns, column kinds, missing
values, duplicates, and every leakage suspect. For images or text, build a manifest table first
(path, label, size or length) and profile that. No modification yet.guard.eda_figures(df, target=..., time_col=...) writes the required figures
(01_missingness, 02_target_balance, 02_distributions, 02_correlations, 02_temporal_coverage
when a date column exists) with explanations computed from the data; add any others with
guard.fig(step, name, figure, explanation). If matplotlib is missing, install it — text
descriptions are not figures and the gate will not accept them. Output: the figures, your
interpretation of each, and a short list of hypotheses and problems spotted.references/model-selection.md with the profile's traits when choosing the metric and the
candidate model families.ml_pipeline/guard.py
(its path is given at session start; in Codex/Kimi it is skills/ml-pipeline/lib/mlpipeline_guard.py
next to this file) and split with it:
train, val, test = guard.split(df, target=..., time_col=<col> if the data is temporal, group_col=<col> if the same entity appears in multiple rows).
It drops exact duplicates, refuses a random split when a datetime column exists, keeps groups
together, checks that no row lands in two splits, and freezes a fingerprint of the test set.
The test set is touched exactly once, at step 14, through guard.final_test().score = guard.final_test(model.predict, test, target=..., metric_fn=...).
It verifies the frame is the frozen test set, refuses a second call, and logs the result to
PIPELINE.md. Report the number honestly, even if it is worse than validation. No going back to
tune on it — if the result forces changes, agree a new test strategy with the user and record
- Override: final test - user approved a second evaluation YYYY-MM-DD - reason: <why>.Installed as a Claude Code plugin, hooks/guard_training.py runs before every Bash, Write,
Edit, and notebook tool call, scans the code for fitting and training calls, and denies:
Gate B: approved … or an Override: Gate B …
line. With no ml_pipeline/PIPELINE.md at all, training is denied with a pointer to step 1.Gate A: approved ….X_test, df_test, test_*) — always, at every gate..predict/.score or a metric function whose arguments name
X_test, df_test, test_* — until Gate C: approved … (or Override: Gate C …).Gate A needs data_profile.json, one 01_*.png
and two 02_*.png; Gate B needs a 04_*.png and the Model rationale: block; Gate C a
12_*.png; Gate D a 13_*.png and the Step 14 final test: line. Every PNG must be larger than
1 KB and have its - Figure <file>: line. The denial lists exactly what is missing.neural-net-small-data, random-split-temporal,
group-split, accuracy-imbalanced, resample-before-split (see references/model-selection.md).
Override one only after the user agreed: - Override: red flag <name> - user approved <what> YYYY-MM-DD - reason: <why>.A PostToolUse hook also warns (never blocks) when a result looks too good to be honest
(accuracy/AUC/F1 ≥ 0.98) or when train_test_split() is called without stratify= or on data that
mentions dates. To prove a pipeline does not leak, run it on examples/canary/canary.csv: honest
test accuracy cannot exceed 0.80, and mlpipeline_canary.verdict(score, n_test) says whether a
number is above the ceiling.
A denial is not an obstacle to route around: do the missing steps, get the user's explicit
approval, record the gate line, and retry. The hook fails open on its own errors, and
ML_PIPELINE_ENFORCE=0 switches it off for projects that are not ML pipelines. Codex and Kimi
have no hook support, so there the same rules apply as instructions only.
© hashgraph-online, 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
SKILL.md and 1 other file (references) in plugins/jananthan30/ml-pipeline/skills/ml-pipeline of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 9e7b281
ML Pipeline 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 |
|---|---|---|---|---|---|---|
| ML Pipeline this skillhashgraph-online/awesome-codex-plugins | 1.3k | — | ~3.2k | Automated safety check: Pass | Apache-2.0 | |
| Plot ML Figureprobabl-ai/skills | 138 | — | ~785 | Automated safety check: Pass | BSD-3-Clause | |
| Paper FiguresEvoScientist/EvoSkills | 476 | 1 repos | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| Analytics Data AnalysisMindrally/skills | 269 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Scientific Toolkit SkillzLanqing/codex-claude-academic-skills | 4.7k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Senior Data Scientistborghei/Claude-Skills | 886 | — | ~1.7k | Automated safety check: Pass | MIT |
probabl-ai/skills
Pick how to write a figure before custom plot code. An agent skill from probabl-ai/skills.
EvoScientist/EvoSkills
A skill your agent uses to produce standalone, publication-ready PNG graphics and reproducible matplotlib scripts from tabular data (CSVs or DataFrames).
Mindrally/skills
Best practices for analytics, data analysis, and visualization using Python, pandas, matplotlib, seaborn, and Jupyter notebooks.
zLanqing/codex-claude-academic-skills
Research computing toolkit for optoelectronic information science and engineering, MATLAB/Octave, Python scientific analysis, signal processing, image processing, statistics, simulation…
borghei/Claude-Skills
A skill your agent uses when the user asks to "design an experiment", "build a predictive model", "run A/B test analysis", "perform causal inference", "engineer features", "evaluate model…
zLanqing/codex-claude-academic-skills
Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
Works with
Categories
MANDATORY whenever a task involves training, fine-tuning, tuning, or evaluating a machine-learning model on data (tabular, time series, text, images — any modality). ML Pipeline is an agent skill from hashgraph-online/awesome-codex-plugins. MANDATORY whenever a task involves training, fine-tuning, tuning, or evaluating a machine-learning model on data (tabular, time series, text, images — any modality).
ML Pipeline fits situations like: tasks that involve MLOps; tasks that involve Fine-tuning; tasks that involve Data visualization.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a claude-code`. Or copy the skill folder (plugins/jananthan30/ml-pipeline/skills/ml-pipeline in hashgraph-online/awesome-codex-plugins) into .claude/skills/ml-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a codex`. Or copy the skill folder (plugins/jananthan30/ml-pipeline/skills/ml-pipeline in hashgraph-online/awesome-codex-plugins) into .agents/skills/ml-pipeline 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 hashgraph-online/awesome-codex-plugins --skill ml-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ml-pipeline, .gemini/skills/ml-pipeline, .github/skills/ml-pipeline and .opencode/skills/ml-pipeline in your project.
Going by SKILL.md and its folder, ML Pipeline needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
ML Pipeline 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 3.2k tokens (SKILL.md is roughly 13k 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 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with ML Pipeline: Plot ML Figure (probabl-ai/skills, 138 stars), Paper Figures (EvoScientist/EvoSkills, 476 stars), Analytics Data Analysis (Mindrally/skills, 269 stars) and Scientific Toolkit Skill (zLanqing/codex-claude-academic-skills, 4.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.