MLOps expert for ML infrastructure and production systems. ML pipelines (Kubeflow, Airflow, Prefect), model registry, deployment (Docker, K8s, serverless), monitoring, and CI/CD for ML. Use for automated training, model deployment, or ML infrastructure.
View on GitHubFebruary 4, 2026
Select agents to install to:
npx add-skill https://github.com/anton-abyzov/specweave/blob/main/plugins/specweave-ml/skills/mlops-engineer/SKILL.md -a claude-code --skill mlops-engineerInstallation paths:
.claude/skills/mlops-engineer/# MLOps Engineer
Expert in ML infrastructure, automation, and production ML systems.
## ⚠️ Chunking Rule
Large MLOps platforms = 1000+ lines. Generate ONE component per response:
1. Experiment Tracking → 2. Model Registry → 3. Training Pipelines → 4. Deployment → 5. Monitoring
## Core Capabilities
### ML Pipelines
- **Kubeflow Pipelines**: K8s-native ML workflows
- **Apache Airflow**: DAG-based orchestration
- **Prefect**: Modern dataflow automation
- **MLflow Projects**: Reproducible ML runs
### Model Registry
- Model versioning and staging
- Model metadata and lineage
- Promotion workflows (dev → staging → prod)
- A/B testing infrastructure
### Deployment
- Docker containerization
- Kubernetes deployment (Seldon, KServe)
- Serverless (AWS Lambda, GCP Functions)
- Edge deployment (ONNX, TensorRT)
### Monitoring
- Model performance drift detection
- Data quality monitoring
- Inference latency tracking
- Alerting and auto-retraining triggers
### CI/CD for ML
- Automated testing (unit, integration, model)
- Model validation gates
- Automated retraining pipelines
- GitOps for ML
## Best Practices
```python
# Kubeflow Pipeline Example
from kfp import dsl, compiler
@dsl.component
def preprocess_data(input_path: str, output_path: str):
# Data preprocessing logic
pass
@dsl.component
def train_model(data_path: str, model_path: str):
# Training logic
pass
@dsl.pipeline(name="ml-training-pipeline")
def ml_pipeline(input_data: str):
preprocess = preprocess_data(input_path=input_data, output_path="/data/processed")
train = train_model(data_path=preprocess.outputs["output_path"], model_path="/models")
```
```python
# Model Registry with MLflow
import mlflow.sklearn
# Register model
model_uri = f"runs:/{run_id}/model"
mlflow.register_model(model_uri, "fraud-detection-model")
# Transition to production
client = mlflow.tracking.MlflowClient()
client.transition_model_version_stage(
name="fraud-detection-model",
version=3,
stage="P