M

ML Pipeline

Enforces a strict 16-step data-first ML workflow — data inspection, EDA, and pro

Ask a coding agent to "train a model on this data" and it calls .fit() within five minutes. Often it fits the scaler before splitting — and that leak doesn't surface until production. It isn't being careless. It's being helpful the way it was trained to be: a number, fast. The number is wrong in a way that looks fine. ml-pipeline makes that impossible. Sixteen steps, fixed order, data first. The split happens before feature engineering. The test set is touched once, at the end. At four gates the agent stops, shows its work with figures, and waits for your go-ahead. • marimo notebooks, matplotlib figures at every data step • PIPELINE.md logs every step and approval — sessions resume, not restart • Security scan: 90/100 (A), zero critical or high findings • Apache-2.0, one 7.8 KB skill file, no dependencies • Works in Claude Code, Codex, and Kimi Code

jananthan-paramsothy/ml-pipeline · v0.1.1 · Development & Workflow

Jananthan ParamsothyOwner verifiedreview

Trust Score

71

Security

71

Surfaces

1

Live launch

Enforces a strict 16-step data-first ML workflow — data inspection, EDA, and pro

Launched
Sep 16, 2026
Pricing
free
Availability
available

What is ML Pipeline?

ML Pipeline is a published development & workflow plugin for AI coding agents in the claude-code ecosystem, developed by Jananthan Paramsothy and distributed through the HOL AI plugin registry. Enforces a strict 16-step data-first ML workflow — data inspection, EDA, and problem definition before any model training — with explicit user-permission gates, marimo notebooks, and matplotlib figures at every step; also works in Claude Code and Kimi.

Canonical slug
jananthan-paramsothy/ml-pipeline
Version
v0.1.1 · updated Sep 15, 2026

Trust & Reputation

HOL Trust Score
71

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
76pts
Maintenance
0pts
MCP Posture
100pts
Plugin Security
71pts
Provenance
70pts
Publisher Quality
75pts

Registry Snapshot

Publisher verification
No
Marketplace source
Unknown
Scanner
Broker fallback
Safety label
review
Digest verified
Yes
1 bundled skill — copy or download SKILL.mdOpen skills

Trust & reputation

Trust & Reputation

HOL Trust Score
71

Factor Analysis

Per-metric points (0–100 each) combined via a weighted average into the overall score.

Installability
76pts
Maintenance
0pts
MCP Posture
100pts
Plugin Security
71pts
Provenance
70pts
Publisher Quality
75pts

Provenance

Plugin root
plugins/jananthan30/ml-pipeline
Source repo
https://github.com/jananthan30/ml-pipeline
Source commit
76afbb4b17f0…
Publisher verified
No
Owner verified
@jananthan30

Continuous scanner CI detected

No action is required. This plugin receives the full trust score.

Verified badge not detected

Add the HOL verified badge to the repository README to score +2% trust. Plugin owners can open that pull request from Guard Plugins.

Security Posture

review
Safety label
71
Security score
0
High findings
Provider
registry-broker-fallback
Grade
C · review
Version
Unknown
cisco-skill-scanner: unknown

Findings

mediumpublishabilitypublishability.link.missing.privacyPolicyURL

privacyPolicyURL should be present for marketplace readiness.

mediumpublishabilitypublishability.link.missing.termsOfServiceURL

termsOfServiceURL should be present for marketplace readiness.

lowoperational-securitysupply-chain.lockfile-missing

Repository snapshot does not include a lockfile.

infoskill-securityskill-scan.unavailable

Cisco skill scanner exited with code 1: Error loading skill: No SKILL.md and no .md files found in /var/folders/9z/48v7m0s52llddzmskkyjbdl80000gn/T/hol-skill-safety-d1P9IF (lenient mode requires at least one markdown file)

ML Pipeline — Frequently asked questions

What is ML Pipeline?
ML Pipeline is an AI plugin in the HOL registry. Ask a coding agent to "train a model on this data" and it calls .fit() within five minutes. Often it fits the scaler before splitting — and that leak doesn't surface until production. It isn't being careless. It's being helpful the way it was trained to be: a number,…
How do I install ML Pipeline?
Install ML Pipeline in your harness: Codex — codex plugin marketplace add jananthan30/ml-pipeline; Claude Code — /plugin marketplace add jananthan30/ml-pipeline; Any agent — npx skills add jananthan30/ml-pipeline. Full step-by-step guidance is on the HOL plugin page.
How do I install ML Pipeline in Codex?
To install ML Pipeline in Codex, start with codex plugin marketplace add jananthan30/ml-pipeline. The complete step-by-step install guide for Codex is on the HOL plugin page.
How do I install ML Pipeline in Claude Code?
To install ML Pipeline in Claude Code, start with /plugin marketplace add jananthan30/ml-pipeline. The complete step-by-step install guide for Claude Code is on the HOL plugin page.
How do I install ML Pipeline in Kimi Code?
To install ML Pipeline in Kimi Code, start with /plugins install https://github.com/jananthan30/ml-pipeline. The complete step-by-step install guide for Kimi Code is on the HOL plugin page.
Is ML Pipeline free?
ML Pipeline is listed as free on HOL.
Who publishes ML Pipeline?
ML Pipeline is published by Jananthan Paramsothy and listed on HOL.
Is ML Pipeline available now?
ML Pipeline is currently available according to its latest public launch.

Install Guidance

Install in Claude Code

Install through the Claude Code plugin marketplace.

Claude Code plugin docs
  1. 1

    Add the marketplace

    Run this inside a Claude Code session.

    claude code
  2. 2

    Install the plugin

    Use the plugin name and the marketplace name shown by the previous command.

    claude code
  3. 3

    Scripted alternative

    Non-interactive equivalent for scripts and CI pipelines. Add --scope project to pin the install to one repository.

    shell
1 cover
1 / 4

1 cover

Full size
Loading reviews

Plugin Manifest

{
  "name": "ml-pipeline",
  "version": "0.1.1",
  "description": "Data-first ML discipline: forces coding agents through a strict 16-step pipeline — inspect and understand the raw data, define the prediction problem, clean, engineer, and split it BEFORE any model training — with explicit user-permission gates, marimo notebooks, and matplotlib visuals at every step.",
  "author": {
    "name": "Jananthan Paramsothy"
  },
  "license": "Apache-2.0",
  "homepage": "https://github.com/jananthan30/ml-pipeline",
  "repository": "https://github.com/jananthan30/ml-pipeline",
  "keywords": [
    "machine-learning",
    "ml-pipeline",
    "eda",
    "data-cleaning",
    "data-leakage",
    "marimo",
    "matplotlib",
    "workflow-discipline"
  ],
  "skills": "./",
  "interface": {
    "displayName": "ML Pipeline",
    "developerName": "Jananthan Paramsothy",
    "category": "Productivity",
    "shortDescription": "Stops coding agents from jumping straight to model training.",
    "longDescription": "Enforces a strict 16-step, data-first ML pipeline: data inspection, EDA, and prediction-problem definition before any cleaning or modeling; train/val/test split before feature engineering and preprocessing; a baseline before any complex model; and a final test set that is touched exactly once. Explicit user-permission gates after each phase, marimo notebooks as the workbench, matplotlib figures at every data-facing step, and a per-project PIPELINE.md checklist so sessions resume instead of restarting.",
    "description": "Stops coding agents from jumping straight to model training. 16 strict steps, 4 permission gates, visuals at every step.",
    "capabilities": [
      "skills"
    ],
    "websiteURL": "https://github.com/jananthan30/ml-pipeline"
  },
  "registryIndexVersion": 5
}

Marketplace Source

Repo URL
https://github.com/jananthan30/ml-pipeline
Marketplace path
Unknown
Source path
plugins/jananthan30/ml-pipeline
Install policy
AVAILABLE

Skills

Copy or download the SKILL.md files this plugin ships, then install them with the Skills CLI.

Share
skills-cli

ml-pipeline

skills/ml-pipeline/SKILL.md

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.

Raw SKILL.md
---
name: ml-pipeline
description: 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.
---

# ML Pipeline Discipline

**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.

## The pipeline (strict order — never reorder, never skip silently)

```
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 ───────────
```

## Phase gates — explicit permission, every time

At each gate, STOP and give the user, in plain non-jargon language:

1. **What was done** — the steps completed, 1–2 sentences each.
2. **What was found** — key findings, with the visuals that show them.
3. **Decisions made and why** — e.g. "dropped 312 duplicate rows", "chose time-based split
   because the data has dates".
4. **What comes next** — the next phase's steps, in one short list.
5. **The question** — ask for explicit permission to continue. Wait for a clear yes.
   Silence, ambiguity, or "hmm" is not a yes. If the user redirects, incorporate it.

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.

## Progress tracking (survives across sessions)

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.

## Tools: marimo notebooks + matplotlib visuals

- **The workbench is a marimo notebook**, not loose scripts. Keep notebooks in
  `ml_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>`.
- **Every step that looks at data produces matplotlib figures** (seaborn on top is fine).
  Also save each figure to `ml_pipeline/figures/<step>_<name>.png` so gates can reference
  them even without a live notebook.
- **Explain every figure in 1–2 plain sentences**: what it shows and why it matters for
  the next decision. A figure without an explanation is not done.

## What each step must produce

1. **Data inspection** — load raw data read-only. Report: rows × columns, column types,
   first rows, memory size, unique counts, obvious junk. No modification yet.
2. **EDA** — distributions of every variable, missing-value map, correlations,
   target balance, time trends if temporal, group structure (repeated entities?).
   Output: figures + a short list of hypotheses and problems spotted.
3. **Define the prediction problem** — write a short contract: target (exact definition,
   units), prediction unit and population, prediction time/horizon, information actually
   available at prediction time, objective, evaluation metric, constraints. **The user must
   approve this contract at Gate A** — it controls everything after.
4. **Data cleaning** — missing values, duplicates, invalid/impossible values, inconsistent
   categories, unit/format issues. Report before/after counts for every rule. Document every
   rule in PIPELINE.md. Prefer preserving data over deleting. Never use information from the
   future or from the test rows to decide a cleaning rule.
5. **Data engineering** — joins/integration, aggregation, time alignment to an index date,
   business rules, one-row-per-prediction-unit feature table, data-quality checks
   (row counts, uniqueness, ranges).
6. **Split before any fitting** — time-based split if the data is temporal, group-based if
   the same entity appears in multiple rows, stratified random otherwise. Freeze the test
   set now; it is touched exactly once, at step 14.
7. **Feature engineering** — design features on the training set's statistics only, then
   apply the same transformations to validation/test.
8. **Preprocessing** — scalers, encoders, imputers fit on train only, wrapped in a pipeline
   object so train and inference can never diverge.
9. **Baseline first** — a dummy predictor (majority class / mean) AND one simple model
   (logistic/linear regression or small tree). Record their metrics. Every later model is
   judged against this line; a complex model that can't beat it gets reported as such.
10. **Model training** — train candidate models on train, compare on validation. Log every
    run's config and score.
11. **Hyperparameter tuning** — on validation/cross-validation only. The test set is never
    part of tuning.
12. **Model evaluation** — the contract's metric plus supporting views: confusion matrix and
    ROC/PR curves for classification, residual plots for regression, always compared to the
    baseline. Figures required.
13. **Error analysis** — worst predictions, performance by slice/subgroup, calibration,
    where the model fails and a hypothesis for why.
14. **Final test** — run the chosen model on the untouched test set ONCE. Report the number
    honestly, even if it is worse than validation. No going back to tune on it — if the
    result forces changes, a new test strategy must be agreed with the user.
15. **Deployment** — only when the user asks. Save the full pipeline artifact
    (preprocessing + model together), verify a reloaded artifact reproduces predictions,
    document the inference input contract.
16. **Monitoring + retraining** — write down: what drift to watch (input and prediction
    distributions), what metric threshold triggers retraining, and how retraining reuses
    this same pipeline from step 1.

## Non-negotiables

- Test set is used exactly once. No tuning, no peeking, no "just checking".
- All fitting (cleaning statistics, features, preprocessing, models) uses training data only.
- Temporal data gets temporal splits; repeated entities get group splits.
- Baseline before any complex model; every result is reported relative to it.
- Failures and disappointing numbers are reported plainly — never hidden or reframed.
- Chat explanations stay beginner-friendly; the code stays production-grade.

File Inventory

.codex-plugin/plugin.json

plugin-manifest

1,643 bytes

347ada65b57d35b0

skills/ml-pipeline/SKILL.md

skill

7,813 bytes

c0cebd3738d85187

History, reviews, and alternatives

Latest launch

User reviews

from 0 reviews

The first substantive review can be added on this page.

Read or write reviews

Milestones and alternatives

Makers can publish releases and security milestones after claiming the plugin.