MLOps Industrialization
v1.0.0Transform prototypes into distributable Python packages
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description (turn prototypes into distributable Python packages) matches the provided artifacts: a SKILL.md describing a package generator and a shell script that creates a src/ package layout. No unrelated credentials, binaries, or installs are requested.
Instruction Scope
SKILL.md instructs running ./scripts/create-package.sh which writes files into the workspace — this is expected. However the script does not sufficiently sanitize the user-supplied package name: PACKAGE_DIR is derived only by replacing '-' with '_' so values containing '..' or other path components can create directories outside the intended folder (src/../...). Also train.py contains a likely bug (calls config.model_dump() where transform_features expects a config dict) which could cause runtime errors. There are no instructions to read secrets or send data externally.
Install Mechanism
No install spec; the skill is instruction-only with a small helper script. Nothing is downloaded or extracted from external URLs.
Credentials
The skill requests no environment variables, credentials, or config paths. The code uses standard libraries and common Python packages (pandas, pydantic) but does not require secrets or network credentials.
Persistence & Privilege
The skill does not request persistent/always-on privileges (always: false) and does not attempt to modify other skills or system-wide configuration. It writes files only when its script is executed.
Assessment
This skill appears to do exactly what it says: create a three-layer Python package layout. Before running the script, review and run it in a safe/empty directory (or container) because it will create files and directories in your working tree. Avoid passing package names containing path traversal sequences (e.g., '..' or leading slashes) — the script only replaces '-' with '_' and does not sanitize other characters. Expect to install runtime dependencies yourself (pandas, pydantic, parquet engine like pyarrow) and note the small bug in application/train.py (config.model_dump() passed into transform_features) which you may need to fix. If you want additional safety, run the script in a disposable environment or inspect/modify it to validate/sanitize the PACKAGE_NAME before use.Like a lobster shell, security has layers — review code before you run it.
latestmlopspackaging
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
MLOps Industrialization 🏭
Convert notebooks to production packages.
Features
1. Package Structure Generator 📦
Create src/ layout:
./scripts/create-package.sh my_package
Creates:
src/my_package/
├── __init__.py
├── io/ # I/O operations
├── domain/ # Pure business logic
└── application/ # Orchestration
2. Three-Layer Architecture 🏗️
Domain (Pure)
- No I/O, no side effects
- Feature transformations
- Pure functions or immutable objects
I/O (Impure)
- External interactions
- Load data, save models
- Classes for state management
Application
- Wire Domain + I/O
- Training loops, inference
Quick Start
# Create package structure
./scripts/create-package.sh my_ml_package
# Add CLI entrypoint to pyproject.toml:
# [project.scripts]
# train = "my_ml_package.application.train:main"
Key Files
Generated files:
src/my_package/domain/features.py- Feature engineeringsrc/my_package/io/data.py- Data loading/savingsrc/my_package/application/train.py- Training pipeline
Author
Converted from MLOps Coding Course
Changelog
v1.0.0 (2026-02-18)
- Initial OpenClaw conversion
- Added package generator
Files
3 totalSelect a file
Select a file to preview.
Comments
Loading comments…
