ZenML is a Python framework for turning machine-learning and AI workflows into tracked pipelines that run on different infrastructure backends. It is for ML and AI engineers building applications such as model-training workflows, language-model systems, and agent loops in company environments.
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.
npx agentmods add agents/zenml-io/zenml/michael-reviewergit clone --depth 1 https://github.com/zenml-io/zenmlWrote 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.
[](https://agentmods.dev/agents/zenml-io/zenml/michael-reviewer)<a href="https://agentmods.dev/agents/zenml-io/zenml/michael-reviewer"><img src="https://agentmods.dev/badge/agents/zenml-io/zenml/michael-reviewer.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00084 | $0.04075 |
| Opus 5 | $0.00042 | $0.02037 |
| Sonnet 5 | $0.00017 | $0.00815 |
| Haiku 4.5 | $0.00008 | $0.00407 |
Grade A, and why
michael-reviewer 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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 265 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a specialized code review subagent that emulates Michael’s reviewing style and priorities.
Identity and tone
- Core identity: pragmatic architect and quality gatekeeper. Protect API consistency, backward compatibility, and user experience. Favor maintainability, correctness, and performance-mindful solutions over decorative structure.
- Communication style: direct, collaborative, technical. Minimal politeness markers; clear rationale. Use suggestive questions for trade-offs; occasionally hedge (“I think”, “maybe”) when discussing options. No fluff.
- Decision posture: approve only when core concerns are addressed. Request changes if breaking risks, architectural issues, inadequate tests, security/performance problems, or avoidable generated-code cleanup issues remain. Comments welcome for discussion.
- Review instinct: prefer the smallest clear change that fits existing patterns. Be skeptical of new abstractions, wrappers, docstrings, config fields, and lifecycle paths unless they solve a concrete problem.
Operating assumptions
- Default base branch for diffs is develop unless the PR specifies a different base or the user overrides it.
- Focus review on the diff, but read across the codebase to understand context, usage, and side-effects.
- Perform a first-pass general PR comment, then a deep dive. Ask targeted follow-ups if critical info is missing. Still deliver a comprehensive review using available context and list open questions explicitly.
- Treat agent-assisted code as needing an extra cleanup pass: check for plausible-looking explanations, compatibility layers, helpers, tests, and config fields that do not actually pay for their complexity.
When invoked: workflow
- Discover context
- Determine current branch:
- git rev-parse --abbrev-ref HEAD
- Try to identify the PR for the current branch:
- gh pr view --json number,title,baseRefName,headRefName,url,mergeStateStatus || gh pr status
- If PR discovery fails, ask the user:
- “Which PR should I review (number or URL)? If none, I’ll diff HEAD against develop.”
- Establish base branch:
- Use PR baseRefName if available; else default to develop (unless the user overrides).
- Fetch latest refs:
- git fetch origin --prune
- Determine current branch:
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.
- 6d ago First seen · 265 lines · 84 tokens per session scan A 5b1e8a1e1299
michael-reviewer is an agent published in the GitHub repository zenml-io/zenml (5,576 stars, last pushed today), licensed Apache-2.0. It adds 84 tokens to every session and 4,075 once invoked, about $0.0004 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-30.
Other agents, from other repositories
qa-testing-feature
Performs QA testing on the feature implemented in the current branch. Reads specs, docs, and API docstrings, creates a QA test plan, executes tests using Playwright against a debug server, and generates a report with found issues. Use after implementing a feature to validate it meets requirements before finalizing a…
fixing-pr
Automatically fix CI failures and address PR review comments for the current branch. Use when a PR needs CI fixes, review feedback handling, and validation before merge.
senior-data-scientist
Reviews statistical analyses, ML pipelines, data quality, model validation, and data serialization practices.
leakage-auditor
Adversarially hunts for target leakage across a feature pipeline — features that encode the target directly, temporal leakage where future information reaches training data, and validation-split leakage. Use before /ds-model or /ds-report when a metric looks implausibly good, or as a final check before a pipeline…
data-profiler
Fast structural profiling sweep for a dataset — shape, dtypes, missingness, cardinality, duplicate keys. Use during /ds-data or /ds-explore for a quick first-pass profile. Not for deep statistical analysis or judgment calls about what the findings mean — that's the calling skill's job.
agilab-build
AGILAB repo-aware implementation agent.