jupyter-to-marimo

Convert Jupyter notebooks into reactive marimo notebooks with widget and LaTeX migration guidance.

465|41|Updated Aug 4, 2026
One-click install
npx skills add https://github.com/autonomous-ai/openharness --skill jupyter-to-marimo-autonomous-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jupyter-to-marimo
Source: https://github.com/autonomous-ai/openharness/tree/main/store/agents/marimo/skills/jupyter-to-marimo
Command: npx skills add https://github.com/autonomous-ai/openharness --skill jupyter-to-marimo-autonomous-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires marimo, and includes references (resource) components.

What problem does it solve? Migrating Jupyter notebooks to marimo requires more than a file format change: ipywidgets callbacks, MathJax LaTeX, and imperative cell patterns must be reworked for marimo's reactive execution model, which is tedious and error-prone by hand. ## Core Features & Use Cases - Automated Conversion Workflow: Runs uvx marimo convert to produce a first-draft marimo notebook, then validates it with marimo check after edits. - ipywidgets Migration Reference: Maps dozens of ipywidgets (sliders, dropdowns, layouts, Output, link/jslink) to their marimo mo.ui equivalents with code examples. - LaTeX Migration Reference: Documents MathJax-to-KaTeX differences, unsupported commands, and a find-replace migration checklist. - Use Case: A data scientist has an analysis notebook using interact sliders and MathJax equations. This Skill converts it to a marimo notebook, replaces the widgets with reactive mo.ui elements, fixes the LaTeX, and validates the result. ## Quick Start Convert my notebook analysis.ipynb to a marimo notebook and fix any widget or LaTeX incompatibilities.

Frequently Asked Questions about jupyter-to-marimo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert a Jupyter notebook to marimo?

Run `uvx marimo convert notebook.ipynb -o notebook.py` to generate a marimo notebook, then run `uvx marimo check notebook.py` to validate it. Review the output for missed dependencies, unsupported magics, and widgets that need manual migration.

How do I replace ipywidgets with marimo UI elements?

Map each ipywidget to its marimo equivalent, such as IntSlider to mo.ui.slider and Dropdown to mo.ui.dropdown. Remove observe callbacks and link calls, since marimo cells re-run automatically when a widget's .value changes.

Does marimo support all Jupyter LaTeX and MathJax commands?

No. marimo uses KaTeX, which lacks support for commands like \label, \eqref, \DeclareMathOperator, and eqnarray environments. Replace these with \text, \tag, \operatorname, and align, and always use raw strings for LaTeX in Python.

What happens to ipywidgets that have no marimo equivalent?

Widgets like ColorPicker and TimePicker have no native marimo equivalent. If the widget follows the anywidget spec, wrap it with mo.ui.anywidget; otherwise it may need to be ported to an anywidget first.

Why does my converted marimo notebook behave differently than the Jupyter original?

marimo determines execution order from variable references rather than cell position, so cells may run in a different order. Interactive input methods, terminal prompts, and installation cells also need replacement with UI controls or PEP 723 metadata.