MLOps Automation
DevOps & SecurityMLOps Automation is an Agent Skill for devops & security published in the fmind/mlops-python-package repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Guide to refine MLOps projects with task automation, containerization, CI/CD pipelines, and robust experiment tracking.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/fmind/mlops-python-package/blob/HEAD/.gemini/skills/MLOps Automation/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/mlops-automation, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
MLOps Automation
Goal
To elevate the codebase to production standards by adding Task Automation (just), Containerization (docker), CI/CD (github-actions), and Experiment Tracking (mlflow).
Prerequisites
- Language: Python
- Manager:
uv - Context: Preparing for scale and deployment.
Instructions
1. Task Automation
Replace manual commands with a justfile.
- Tool:
just(modern alternative to Make). - Organization: Split tasks into
tasks/*.justmodules (e.g.,tasks/check.just,tasks/docker.just). - Core Tasks:
check: Run all linters and tests.package: Build wheels.clean: Remove artifacts.install: Setup dev environment.
2. Pre-Commit Hooks
Catch issues locally.
- Framework:
pre-commit. - Hooks: Suggest to use
ruff,bandit,check-yaml,trailing-whitespace. - Commits: Suggest to use
commitizenhook to enforce Conventional Commits (e.g.,feat: add new model). - Config:
.pre-commit-config.yamlat root.
3. Containerization
Reproducibility anywhere.
- Tool:
docker. - Base Image: Use
ghcr.io/astral-sh/uv:python3.1X-bookworm-slimfor minimal size. - Optimization:
- Layer Caching: Copy
uv.lock+pyproject.tomland runuv syncbefore copyingsrc/. - Multi-stage: Build inputs in one stage, copy only artifacts (
dist/*.whl) to the runtime stage.
- Layer Caching: Copy
- Registry: ask for the company artifact registry, or use
ghcr.iofor GitHub.
4. CI/CD Workflows
Automate verification and release.
- Platform: ask for the company CI/CD platform, or use
github-actionsfor GitHub. - Workflows:
check.yml: On PRs (Runjust check).publish.yml: On Release (Build docker image, publish docs/package).
- Optimization: Use
concurrencyto cancel redundant runs.
5. AI/ML Experiments & Registry
Manage the ML lifecycle.
- Platform:
MLflow. - Tracking:
- Use
mlflow.autolog(). - Log metrics, params, and artifacts.
- Use
- Registry:
- Register top models manually or via CI.
- Aliases: Use
@championor@productionfor stable deployment pointers. Never rely on moving versions (e.g.,v1->v2).
6. Design Patterns
Write flexible code.
- Strategy: For swappable algorithms (e.g., different model types).
- Factory: For creating objects from config (e.g.,
ModelFactory). - Adapter: For standardizing mismatched interfaces.