prefect-to-zenml-migration

prefect-to-zenml-migration is a skill for Claude Code, Codex from zenml-io/skills. It costs 257 tokens per session (4,207 once invoked), scanned A, original, MIT.

A migration guide for moving workflows from Prefect, a Python tool for running scheduled and dependent tasks, to ZenML pipelines. It maps Prefect flows, tasks, stored results, schedules, retries, blocks, and secrets to ZenML concepts.

In plain words
What is it for?
Use it to analyze Prefect code, translate flows and tasks, configure artifacts, schedules, retries, secrets, and identify patterns that need redesign.
Why use it?
It highlights runtime behavior that cannot be copied directly, such as branching based on task results or creating tasks while a workflow is running. This helps prevent changes in workflow behavior during migration.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to analyze Prefect code, translate flows and tasks, configure artifacts, schedules, retries, secrets, and identify patterns that need redesign.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zenml-io/skills/prefect-migration
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zenml-io/skills --skill prefect-migration
Clone the repo
git clone --depth 1 https://github.com/zenml-io/skills

Made for: Claude Code, Codex.

Its marketplace also offers this one on its own, as the plugin zenml-prefect-migration/plugin install zenml-prefect-migration after adding the marketplace above.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for prefect-to-zenml-migration

README.md
[![agentmods](https://agentmods.dev/badge/skills/zenml-io/skills/prefect-migration/github.svg)](https://agentmods.dev/skills/zenml-io/skills/prefect-migration)
Your own site
<a href="https://agentmods.dev/skills/zenml-io/skills/prefect-migration"><img src="https://agentmods.dev/badge/skills/zenml-io/skills/prefect-migration/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for prefect-to-zenml-migration

Your own site · 80×15
<a href="https://agentmods.dev/skills/zenml-io/skills/prefect-migration"><img src="https://agentmods.dev/badge/skills/zenml-io/skills/prefect-migration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 257 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,207 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00257 $0.04207
Opus 5 $0.00129 $0.02103
Sonnet 5 $0.00051 $0.00841
Haiku 4.5 $0.00026 $0.00421

Measured 9d ago against content hash f69a3aaed0f0, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

prefect-to-zenml-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/zenml-prefect-migration/skills/prefect-migration/SKILL.md · 392 lines

How it starts

The opening of the file, as written. The whole thing — 392 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Migrate Prefect to ZenML

This skill translates Prefect flows into idiomatic ZenML pipelines. It handles the full migration workflow: analyzing Prefect code, classifying each pattern, translating what maps cleanly, flagging what needs redesign, and producing a working ZenML project plus a migration report.

How migration works at a high level

Prefect and ZenML look similar at first glance because both are Python-first and both decorate functions. But the execution story is different.

  • Prefect runs the flow body like regular Python at runtime. That means the flow can branch on task outputs, inspect states, submit new tasks dynamically, and use pause/suspend semantics while the run is already in progress.
  • ZenML static pipelines compile a DAG before steps run. Step outputs are versioned artifacts, not ordinary in-memory values available during pipeline construction.
  • ZenML dynamic pipelines recover part of Prefect's runtime flexibility, but they are still an approximation rather than a full state-model match. They default to STOP_ON_FAILURE; FAIL_FAST is supported with caveats around already-running inline steps; CONTINUE_ON_FAILURE is not supported for dynamic pipelines. They also support only a subset of orchestrators.

So migration is never just "rename @flow to @pipeline". The real job is to decide which Prefect behaviors:

  1. map cleanly,
  2. map with semantic differences, or
  3. require redesign.

The three mapping types

Every Prefect concept falls into one of these categories:

Type Meaning Action
Direct Clean or near-clean mapping exists Translate automatically
Approximate Similar concept exists, but behavior changes Translate with caveats in the migration report
Absent No trustworthy ZenML equivalent Flag for human review with redesign suggestions

See references/concept-map.md for the full mapping tables.

The Migration Workflow

Read the full file on GitHub · 392 lines

Files

What ships with it

3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 392 lines · 257 tokens per session scan A f69a3aaed0f0

Subscribe to this mod's changes

prefect-to-zenml-migration is a skill published in the GitHub repository zenml-io/skills (6 stars, last pushed 2mo ago), licensed MIT. It adds 257 tokens to every session and 4,207 once invoked, about $0.0013 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

mlops-automation

Automate an MLOps project with mise tasks, lefthook hooks, Docker images, GitHub Actions, and MLflow tracking on a SQL backend. Use when adding a task runner, git hooks, CI/CD, or experiment tracking to a working package.

MLOps-Courses/mlops-coding-skills · 58 tokens

mlops-prototyping

Structure reproducible Jupyter notebooks with a fixed section layout, hoisted configuration, and leakage-free scikit-learn pipelines. Use when exploring a dataset, training a first model, or preparing a notebook for promotion.

MLOps-Courses/mlops-coding-skills · 50 tokens

mlops-observability

Make an ML system a glass box with reproducible runs, MLflow dataset lineage, drift monitoring, alerting, and SHAP explanations. Use when a deployed model needs traceability, monitoring, alerting, or explanation.

MLOps-Courses/mlops-coding-skills · 51 tokens

mlops-industrialization

Convert notebook prototypes into a distributable Python package with a src layout, a domain/io/application split, and validated OmegaConf plus Pydantic configuration. Use when moving code out of notebooks or designing entrypoints.

MLOps-Courses/mlops-coding-skills · 48 tokens

mlops-initialization

Initialize a production-ready Python MLOps project with uv, git, mise, and a shared editor setup. Use when starting a new repository, writing its first pyproject.toml, or repairing an inconsistent project skeleton.

MLOps-Courses/mlops-coding-skills · 50 tokens

huggingface-hub

HuggingFace hf CLI: search/download/upload models, datasets.

davidtoby/agent-skills · 20 tokens