seb1n/ml-pipeline-creation
A skill to create, manage, and automate machine learning pipelines.
npx skills add https://github.com/seb1n/awesome-ai-agent-skills --skill ml-pipeline-creation
This skill enables the creation and management of machine learning (ML) pipelines, automating the process of training, evaluating, and deploying ML models. The workflow is designed to be flexible and adaptable to various ML tasks and frameworks.
To use this skill, you need to provide a pipeline definition file and the implementation of the pipeline components.
Here's an example of how to define and run a simple ML pipeline using this skill.
pipeline.yaml
name: simple-sklearn-pipeline
components:
- name: data-preprocessing
script: preprocess.py
inputs:
- raw_data: /path/to/raw_data.csv
outputs:
- processed_data: /path/to/processed_data.csv
- name: train-model
script: train.py
inputs:
- processed_data: /path/to/processed_data.csv
outputs:
- model: /path/to/model.pkl
- name: evaluate-model
script: evaluate.py
inputs:
- model: /path/to/model.pkl
- test_data: /path/to/test_data.csv
outputs:
- metrics: /path/to/metrics.json
preprocess.py
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data
df = pd.read_csv('/path/to/raw_data.csv')
# Simple preprocessing
X = df.drop('target', axis=1)
y = df['target']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Save processed data
pd.concat([X_train, y_train], axis=1).to_csv('/path/to/processed_data.csv', index=False)
pd.concat([X_test, y_test], axis=1).to_csv('/path/to/test_data.csv', index=False)
train.py
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
import joblib
# Load processed data
df = pd.read_csv('/path/to/processed_data.csv')
X_train = df.drop('target', axis=1)
y_train = df['target']
# Train model
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# Save model
joblib.dump(model, '/path/to/model.pkl')
evaluate.py
import pandas as pd
import joblib
import json
from sklearn.metrics import accuracy_score
# Load model and test data
model = joblib.load('/path/to/model.pkl')
df = pd.read_csv('/path/to/test_data.csv')
X_test = df.drop('target', axis=1)
y_test = df['target']
# Evaluate model
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
# Save metrics
with open('/path/to/metrics.json', 'w') as f:
json.dump({'accuracy': accuracy}, f)
print(f'Model accuracy: {accuracy}')
Take seb1n/ml-pipeline-creation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.